[all-commits] [llvm/llvm-project] c9e606: [mlir] Improve doc in `OpFormatGen.cpp` (NFC) (#11...

Michael Kruse via All-commits all-commits at lists.llvm.org
Thu Dec 5 14:54:49 PST 2024


  Branch: refs/heads/users/meinersbur/flang_runtime_split-headers2
  Home:   https://github.com/llvm/llvm-project
  Commit: c9e606b9cf50b822aca2a3dc5762fb77e9b976bd
      https://github.com/llvm/llvm-project/commit/c9e606b9cf50b822aca2a3dc5762fb77e9b976bd
  Author: lorenzo chelini <l.chelini at icloud.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M mlir/tools/mlir-tblgen/OpFormatGen.cpp

  Log Message:
  -----------
  [mlir] Improve doc in `OpFormatGen.cpp` (NFC) (#117564)

The comment is misleading because attributes do not have
`elidePrintingDefaultValue` bit. It appears that
`elidePrintingDefaultValue` was never merged upstream (see:
https://reviews.llvm.org/D135398 ), but the comment was likely
introduced by mistake in a later revision
(https://reviews.llvm.org/D135993.).


  Commit: 99fd1c5536547ed4fc360b16e7fa2e06278707a8
      https://github.com/llvm/llvm-project/commit/99fd1c5536547ed4fc360b16e7fa2e06278707a8
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M libcxx/include/__chrono/duration.h

  Log Message:
  -----------
  [libc++][NFC] Don't add legacy transitive includes in <__chrono/duration.h>


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/double-intrinsics.ll
    M llvm/test/CodeGen/RISCV/float-intrinsics.ll
    M llvm/test/CodeGen/RISCV/half-intrinsics.ll

  Log Message:
  -----------
  [RISCV] Promote fldexp with Zfh. (#117396)

The default expansion tries to create i16 operations after type
legalization.

Fixes #117349


  Commit: 3db4f5b0daa33903e6522e2bf1b07c45edb5c8ab
      https://github.com/llvm/llvm-project/commit/3db4f5b0daa33903e6522e2bf1b07c45edb5c8ab
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/test/CodeGen/AMDGPU/mai-hazards-gfx940.mir

  Log Message:
  -----------
  AMDGPU: Refine gfx950 xdl-write-vgpr hazard cases (#117285)

The 2-pass XDL write VGPR, read by non-XDL SGEMM/DGEMM case
was 1 wait state overly conservative. Previously, for gfx940,
the XDL/non-XDL cases happened to have the same number of cycles
in all cases. Now the XDL consumer case has an additional state for
2 pass sources.


  Commit: c3fe5ad6be9eb58d5043de9a5940ef3c397631b2
      https://github.com/llvm/llvm-project/commit/c3fe5ad6be9eb58d5043de9a5940ef3c397631b2
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h
    A llvm/test/CodeGen/AMDGPU/hazards-gfx950.mir

  Log Message:
  -----------
  AMDGPU: Handle vcmpx+permalane gfx950 hazard (#117286)

Confusingly, this is a different hazard to the one on gfx10
with a subtarget feature.


  Commit: 27a8afa3fcf7e0378dff65cf3374f7a4e4e2b9a6
      https://github.com/llvm/llvm-project/commit/27a8afa3fcf7e0378dff65cf3374f7a4e4e2b9a6
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/test/CodeGen/AMDGPU/hazards-gfx950.mir
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane16.swap.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane32.swap.ll

  Log Message:
  -----------
  AMDGPU: Handle gfx950 valu write vdst + permlane read hazard (#117287)


  Commit: 8a2311c4bf9993230e37dc20b57973dc917f2338
      https://github.com/llvm/llvm-project/commit/8a2311c4bf9993230e37dc20b57973dc917f2338
  Author: Callum Fare <callum at codeplay.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M offload/CMakeLists.txt
    M offload/cmake/OpenMPTesting.cmake
    A offload/liboffload/API/APIDefs.td
    A offload/liboffload/API/CMakeLists.txt
    A offload/liboffload/API/Common.td
    A offload/liboffload/API/Device.td
    A offload/liboffload/API/OffloadAPI.td
    A offload/liboffload/API/Platform.td
    A offload/liboffload/API/README.md
    A offload/liboffload/CMakeLists.txt
    A offload/liboffload/README.md
    A offload/liboffload/exports
    A offload/liboffload/include/OffloadImpl.hpp
    A offload/liboffload/include/generated/OffloadAPI.h
    A offload/liboffload/include/generated/OffloadEntryPoints.inc
    A offload/liboffload/include/generated/OffloadFuncs.inc
    A offload/liboffload/include/generated/OffloadImplFuncDecls.inc
    A offload/liboffload/include/generated/OffloadPrint.hpp
    A offload/liboffload/src/Helpers.hpp
    A offload/liboffload/src/OffloadImpl.cpp
    A offload/liboffload/src/OffloadLib.cpp
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/test/lit.cfg
    M offload/test/lit.site.cfg.in
    A offload/test/tools/offload-tblgen/default_returns.td
    A offload/test/tools/offload-tblgen/entry_points.td
    A offload/test/tools/offload-tblgen/functions_basic.td
    A offload/test/tools/offload-tblgen/functions_code_loc.td
    A offload/test/tools/offload-tblgen/functions_ranged_param.td
    A offload/test/tools/offload-tblgen/print_enum.td
    A offload/test/tools/offload-tblgen/print_function.td
    A offload/test/tools/offload-tblgen/type_tagged_enum.td
    A offload/tools/offload-tblgen/APIGen.cpp
    A offload/tools/offload-tblgen/CMakeLists.txt
    A offload/tools/offload-tblgen/EntryPointGen.cpp
    A offload/tools/offload-tblgen/FuncsGen.cpp
    A offload/tools/offload-tblgen/GenCommon.hpp
    A offload/tools/offload-tblgen/Generators.hpp
    A offload/tools/offload-tblgen/PrintGen.cpp
    A offload/tools/offload-tblgen/RecordTypes.hpp
    A offload/tools/offload-tblgen/offload-tblgen.cpp
    M offload/unittests/CMakeLists.txt
    A offload/unittests/OffloadAPI/CMakeLists.txt
    A offload/unittests/OffloadAPI/common/Environment.cpp
    A offload/unittests/OffloadAPI/common/Environment.hpp
    A offload/unittests/OffloadAPI/common/Fixtures.hpp
    A offload/unittests/OffloadAPI/device/olDeviceInfo.hpp
    A offload/unittests/OffloadAPI/device/olGetDevice.cpp
    A offload/unittests/OffloadAPI/device/olGetDeviceCount.cpp
    A offload/unittests/OffloadAPI/device/olGetDeviceInfo.cpp
    A offload/unittests/OffloadAPI/device/olGetDeviceInfoSize.cpp
    A offload/unittests/OffloadAPI/platform/olGetPlatform.cpp
    A offload/unittests/OffloadAPI/platform/olGetPlatformCount.cpp
    A offload/unittests/OffloadAPI/platform/olGetPlatformInfo.cpp
    A offload/unittests/OffloadAPI/platform/olGetPlatformInfoSize.cpp
    A offload/unittests/OffloadAPI/platform/olPlatformInfo.hpp

  Log Message:
  -----------
  [Offload] Introduce offload-tblgen and initial new API implementation (#108413)

Introduce `offload-tblgen` and an initial implementation of a subset of
the new API. The tablegen files are intended to be the single source of
truth for the new API, with the header files, documentation, and others
bits of source all automatically generated.

**TODO** (based on review feedback so far):
- [x] Check in the generated headers
- [x] Add an `offload-generate` target to trigger the generation rather
than building them every time
- [x] Decide how error handling should work
  - [x] Finish up new error handling implementation 
- [x] Decide naming convention
- [x] Add testing for the new API
- [x] Add tablegen specific testing
- [x] clang-tidy and use llvm:: types when possible
- [x] Add optional code location arguments
- [x] Avoid multiple returns from one function

### offload-tblgen

See the included
[README](https://github.com/callumfare/llvm-project/blob/d80db06491d85444bb6f7e59d8068a22cef3a6b4/offload/new-api/API/README.md)
for more information on how the API definition and generation works. I'm
happy to answer any questions about it and plan to walk through it in a
future LLVM Offload call.

It should be noted that struct definitions have not been fully
implemented/tested as they aren't used by the initial API definitions,
but finishing that off in the future shouldn't be too much work.

The tablegen tooling has been designed to be easily extended with new
backends, using the classes in `RecordTypes.hpp` to abstract over the
tablegen records.

### New API

Previous discussions at the LLVM/Offload meeting have brought up the
need for a new API for exposing the functionality of the plugins. This
change introduces a very small subset of a new API, which is primarily
for testing the offload tooling and demonstrating how a new API can fit
into the existing code base without being too disruptive. Exact designs
for these entry points and future additions can be worked out over time.

The new API does however introduce the bare minimum functionality to
implement device discovery for Unified Runtime and SYCL. This means that
the `urinfo` and `sycl-ls` tools can be used on top of Offload. A
(rough) implementation of a Unified Runtime adapter (aka plugin) for
Offload is available
[here](https://github.com/callumfare/unified-runtime/tree/offload_adapter).
Our intention is to maintain this and use it to implement and test
Offload API changes with SYCL.

### Demoing the new API

```sh
$ git clone -b offload_adapter https://github.com/callumfare/unified-runtime.git
$ cd unified-runtime
$ mkdir build
$ cd build
$ cmake .. -GNinja -DUR_BUILD_ADAPTER_OFFLOAD=ON \
    -DUR_OFFLOAD_INSTALL_DIR=<offload build dir containing liboffload_new.so> \
    -DUR_OFFLOAD_INCLUDE_DIR=<offload build dir containing 'offload' headers directory>
$ ninja urinfo
export LD_LIBRARY_PATH=<offload build dir containing offload plugin libraries>
$ UR_ADAPTERS_FORCE_LOAD=$PWD/lib/libur_adapter_offload.so ./bin/urinfo
[cuda:gpu][cuda:0] CUDA, NVIDIA GeForce GT 1030  [12030]
# Demo with tracing
$ OFFLOAD_TRACE=1 UR_ADAPTERS_FORCE_LOAD=$PWD/lib/libur_adapter_offload.so ./bin/urinfo
---> offloadPlatformGet(.NumEntries = 0, .phPlatforms = {}, .pNumPlatforms = 0x7ffd05e4d6e0 (2))-> OFFLOAD_RESULT_SUCCESS
---> offloadPlatformGet(.NumEntries = 2, .phPlatforms = {0x564bf4040220, 0x564bf4040240}, .pNumPlatforms = nullptr)-> OFFLOAD_RESULT_SUCCESS
...
```


### Open questions and future work
* The new API is implemented in a separate library
(`liboffload_new.so`). It could just as easily be part of the existing
`libomptarget` library - I have no strong feelings on which is better.
* Only some of the available device info is exposed, and not all the
possible device queries needed for SYCL are implemented by the plugins.
A sensible next step would be to refactor and extend the existing device
info queries in the plugins. The existing info queries are all strings,
but the new API introduces the ability to return any arbitrary type.
* It may be sensible at some point for the plugins to implement the new
API directly, and the higher level code on top of it could be made
generic, but this is more of a long-term possibility.


  Commit: 9cc2502c048b1403ba8ba5cc5a655d867c329d12
      https://github.com/llvm/llvm-project/commit/9cc2502c048b1403ba8ba5cc5a655d867c329d12
  Author: Brian Cain <bcain at quicinc.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Hexagon.cpp
    M clang/test/Driver/hexagon-toolchain-linux.c

  Log Message:
  -----------
  [clang] hexagon: fix link order for libc/builtins (#117057)

When linking programs with `eld`, we get a link error like below:

Error:
/inst/clang+llvm-19.1.0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/../target/hexagon-unknown-linux-musl//usr/lib/libc.a(scalbn.lo)(.text.scalbn+0x3c):
undefined reference to `__hexagon_muldf3'

libc has references to the clang_rt builtins library, so the order of
the libraries should be reversed.


  Commit: d88ed9357a0e4a49ce908c538ef21c1702c34638
      https://github.com/llvm/llvm-project/commit/d88ed9357a0e4a49ce908c538ef21c1702c34638
  Author: Raphael Moreira Zinsly <6718397+rzinsly at users.noreply.github.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVFrameLowering.h

  Log Message:
  -----------
  [NFC][RISCV] Refactor allocation of the stack space (#116625)

Separates the stack allocations from prologue in preparation for the
stack clash protection support.


  Commit: e97fb2207e1ef6235a6268dbbd3cc08d437b07ef
      https://github.com/llvm/llvm-project/commit/e97fb2207e1ef6235a6268dbbd3cc08d437b07ef
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/lib/CodeGen/CGBuiltin.cpp
    A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-read-tr.cl
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
    M llvm/lib/Target/AMDGPU/DSInstructions.td
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.read.tr.gfx950.ll
    M llvm/test/MC/AMDGPU/gfx950-unsupported.s
    A llvm/test/MC/AMDGPU/gfx950_asm_read_tr.s
    A llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_ds_read_tr.txt

  Log Message:
  -----------
  AMDGPU: Add support for load transpose instructions for gfx950 (#117378)

This patch support for intrinsics in clang, as well as assembly
instructions in the backend.

Co-authored-by: Sirish Pande <Sirish.Pande at amd.com>


  Commit: 6f8e7c11cf6157a9f93aa5842dd26fb51b37dce7
      https://github.com/llvm/llvm-project/commit/6f8e7c11cf6157a9f93aa5842dd26fb51b37dce7
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/MC/AMDGPU/gfx950_asm_vop3.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_vop3.txt

  Log Message:
  -----------
  AMDGPU: Add MC support for gfx950 V_BITOP3_B32/B16 (#117379)

Co-authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>


  Commit: 8ea78002c2637faf56ed5c0c88582fdd4f0ac701
      https://github.com/llvm/llvm-project/commit/8ea78002c2637faf56ed5c0c88582fdd4f0ac701
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/rvv-cfi-info.ll

  Log Message:
  -----------
  [RISCV] Add test case for RVV CSRs with cm.push.

The cfi_offset is incorrect for the RVV registers when cm.push
is used.


  Commit: 7ad1084b521ea191245c47b4e63e4f97035e3786
      https://github.com/llvm/llvm-project/commit/7ad1084b521ea191245c47b4e63e4f97035e3786
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/MC/AMDGPU/gfx950_asm_features.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_vop3.txt

  Log Message:
  -----------
  AMDGPU: MC support for v_cvt_scale_[f16|f32]_fp8 of gfx950. (#117380)

OPSEL ASM Syntax: opsel:[x,y,z]
where,
    opsel[x] = Inst{11} = src0_modifier{2}
    opsel[y] = Inst{12} = src1_modifier{2}
    opsel[z] = Inst{14} = src0_modifier{3}
Note: Conventional Inst{13} i.e. OPSEL[2] is ignored in asm syntax.

Co-authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>


  Commit: 91af15b7648a10c3edcd9792b3f3487be399233b
      https://github.com/llvm/llvm-project/commit/91af15b7648a10c3edcd9792b3f3487be399233b
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/MC/AMDGPU/gfx950_asm_features.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_vop3.txt

  Log Message:
  -----------
  AMDGPU: MC support for v_cvt_scale_[f16|f32]_bf8 of gfx950. (#117381)

OPSEL ASM Syntax: opsel:[x,y,z]
where,
    opsel[x] = Inst{11} = src0_modifier{2}
    opsel[y] = Inst{12} = src1_modifier{2}
    opsel[z] = Inst{14} = src0_modifier{3}
Note: Conventional Inst{13} i.e. OPSEL[2] is ignored in asm syntax.

Co-authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>


  Commit: 8997bf8e4636592ca0e4f31747adc02904d47b0c
      https://github.com/llvm/llvm-project/commit/8997bf8e4636592ca0e4f31747adc02904d47b0c
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/MC/AMDGPU/gfx950_asm_features.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_vop3.txt

  Log Message:
  -----------
  AMDGPU: MC support for v_cvt_scalef32_pk_{fp8|bf8}_f32 of gfx950. (#117382)

OPSEL[3] selects low/high 16 bits of dest write.

Co-authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>


  Commit: 70fef78329eb4da338ef8345b5059f9a57ff21a5
      https://github.com/llvm/llvm-project/commit/70fef78329eb4da338ef8345b5059f9a57ff21a5
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/MC/AMDGPU/gfx950_asm_features.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_vop3.txt

  Log Message:
  -----------
  AMDGPU: MC support for v_cvt_scalef32_pk_f32_[fp|bf]8 of gfx950. (#117383)

OPSEL[0] selects srcword to read.

Co-authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>


  Commit: 362d8fb2416ca3393b960eb158301d6f06dc5324
      https://github.com/llvm/llvm-project/commit/362d8fb2416ca3393b960eb158301d6f06dc5324
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/MC/AMDGPU/gfx950_asm_features.s
    M llvm/test/MC/AMDGPU/gfx950_err.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_vop3.txt

  Log Message:
  -----------
  AMDGPU: MC support for v_cvt_scalef32_pk_{fp|bf}8_{f|bf}16 of gfx950. (#117384)

OPSEL ASM Syntax: opsel:[x,y,z]
where,
    opsel[z] = Inst{14} = src0_modifier{3}

Note: Conventional Inst{13} i.e. OPSEL[2] is ignored in asm syntax.

Co-authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>


  Commit: 00770489e4299fe6ab99b1772127d84dfe222ffc
      https://github.com/llvm/llvm-project/commit/00770489e4299fe6ab99b1772127d84dfe222ffc
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Frontend/InitPreprocessor.cpp
    A clang/test/C/C23/n2412.c
    M clang/test/Preprocessor/init-aarch64.c
    M clang/test/Preprocessor/init-loongarch.c
    M clang/test/Preprocessor/init.c

  Log Message:
  -----------
  [C23] Fixed the value of BOOL_WIDTH (#117364)

The standard mandates that this returns the width of the type, which is
the number of bits in the value. For bool, that's required to be `1`
explicitly.

Fixes #117348


  Commit: 0a140c4248b5eae5c044de4f394852ee7339a5e8
      https://github.com/llvm/llvm-project/commit/0a140c4248b5eae5c044de4f394852ee7339a5e8
  Author: Vikash Gupta <Vikash.Gupta at amd.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    A llvm/test/CodeGen/AMDGPU/dagcombine-fmul-sel.ll

  Log Message:
  -----------
  [AMDGPU] Adds pre-commit test for fmul-select combine (#111107)

This adds the f32/f64/f16/bf16 test cases for below pattern :

`fmul x, select(y, A, B)`
with just one use of select Inst above.

It acts as pre-commit tests for dagCombining above pattern into cheaper
ldexp in case of non-inlline 32 bit-constants. (#111109)


  Commit: 29828b26fac3ee744c8f7dcb33cc082dc7c00a02
      https://github.com/llvm/llvm-project/commit/29828b26fac3ee744c8f7dcb33cc082dc7c00a02
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/rvv-cfi-info.ll

  Log Message:
  -----------
  [RISCV] Fix double counting scalar CSRs with Zcmp when emitting cfi_offset for RVV CSRs. (#117408)

getCalleeSavedStackSize() already contains RVPushStackSize. Don't
subtract it again.


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

  Changed paths:
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-types/CMakeLists.txt
    R libc/include/llvm-libc-types/rpc_opcodes_t.h
    A libc/shared/rpc_opcodes.h
    M libc/src/__support/RPC/rpc_client.h
    M libc/utils/gpu/loader/Loader.h
    M libc/utils/gpu/server/CMakeLists.txt
    M libc/utils/gpu/server/rpc_server.cpp
    M offload/plugins-nextgen/common/src/RPC.cpp

  Log Message:
  -----------
  [libc][NFC] Move RPC opcodes to the 'shared/' directory as well


  Commit: 1a86d44c80d2a0c603f67ed8bdcccaed830719a3
      https://github.com/llvm/llvm-project/commit/1a86d44c80d2a0c603f67ed8bdcccaed830719a3
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/MC/AMDGPU/gfx950_asm_features.s
    M llvm/test/MC/AMDGPU/gfx950_err.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_vop3.txt

  Log Message:
  -----------
  AMDGPU: MC support for v_cvt_scale_fp4<->f32 of gfx950. (#117417)

OPSEL ASM Syntax for v_cvt_scalef32_pk_f32_fp4 : opsel:[x,y,z]
where, x & y i.e. OPSEL[1 : 0] selects which src_byte to read.

OPSEL ASM Syntax for v_cvt_scalef32_pk_fp4_f32 : opsel:[a,b,c,d]
where, c & d i.e. OPSEL[3 : 2] selects which dst_byte  to write.

Co-authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>


  Commit: 3cb28522ba4c2b80fbaf0840377aab4fce985110
      https://github.com/llvm/llvm-project/commit/3cb28522ba4c2b80fbaf0840377aab4fce985110
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M compiler-rt/cmake/Modules/AddCompilerRT.cmake
    M compiler-rt/test/hwasan/lit.cfg.py
    M compiler-rt/test/lit.common.configured.in
    M runtimes/CMakeLists.txt

  Log Message:
  -----------
  Reapply "[runtimes] Allow building against an installed LLVM tree"

This relands #86209 which was reverted because ./bin/llvm no longer
accepted test paths in the source tree instead of the build tree. This was
happening because `add_subdirectory(${LLVM_MAIN_SRC_DIR}/utils/llvm-lit`
was called before all tsst suites were registered, and therefore it was
missing the source->build dir mappings.

Original commit message:

I am currently trying to test the LLVM runtimes (including compiler-rt)
against an installed LLVM tree rather than a build tree (since that is
no longer available). Currently, the runtimes build of compiler-rt assumes
that LLVM_BINARY_DIR is writable since it uses configure_file() to write
there during the CMake configure stage. Instead, generate this file inside
CMAKE_CURRENT_BINARY_DIR, which will match LLVM_BINARY_DIR when invoked
from llvm/runtimes/CMakeLists.txt.

I also needed to make a minor change to the hwasan tests: hwasan_symbolize
was previously found in the LLVM_BINARY_DIR, but since it is generated as
part of the compiler-rt build it is now inside the CMake build directory
instead. I fixed this by passing the output directory to lit as
config.compiler_rt_bindir and using llvm_config.add_tool_substitutions().

For testing that we no longer write to the LLVM install directory as
part of testing or configuration, I created a read-only bind mount and
configured the runtimes builds as follows:
```
$ sudo mount --bind --read-only ~/llvm-install /tmp/upstream-llvm-readonly
$ cmake -DCMAKE_BUILD_TYPE=Debug \
  -DCMAKE_C_COMPILER=/tmp/upstream-llvm-readonly/bin/clang \
  -DCMAKE_CXX_COMPILER=/tmp/upstream-llvm-readonly/bin/clang++ \
  -DLLVM_INCLUDE_TESTS=TRUE -DLLVM_ENABLE_ASSERTIONS=TRUE \
  -DCOMPILER_RT_INCLUDE_TESTS=TRUE -DCOMPILER_RT_DEBUG=OFF \
  -DLLVM_ENABLE_RUNTIMES=compiler-rt \
  -DCMAKE_DISABLE_FIND_PACKAGE_LLVM=TRUE \
  -DCMAKE_DISABLE_FIND_PACKAGE_Clang=TRUE \
  -G Ninja -S ~/upstream-llvm-project/runtimes \
  -B ~/upstream-llvm-project/runtimes/cmake-build-debug-llvm-git
```

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


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

  Changed paths:
    M offload/CMakeLists.txt
    M offload/cmake/OpenMPTesting.cmake
    R offload/liboffload/API/APIDefs.td
    R offload/liboffload/API/CMakeLists.txt
    R offload/liboffload/API/Common.td
    R offload/liboffload/API/Device.td
    R offload/liboffload/API/OffloadAPI.td
    R offload/liboffload/API/Platform.td
    R offload/liboffload/API/README.md
    R offload/liboffload/CMakeLists.txt
    R offload/liboffload/README.md
    R offload/liboffload/exports
    R offload/liboffload/include/OffloadImpl.hpp
    R offload/liboffload/include/generated/OffloadAPI.h
    R offload/liboffload/include/generated/OffloadEntryPoints.inc
    R offload/liboffload/include/generated/OffloadFuncs.inc
    R offload/liboffload/include/generated/OffloadImplFuncDecls.inc
    R offload/liboffload/include/generated/OffloadPrint.hpp
    R offload/liboffload/src/Helpers.hpp
    R offload/liboffload/src/OffloadImpl.cpp
    R offload/liboffload/src/OffloadLib.cpp
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/test/lit.cfg
    M offload/test/lit.site.cfg.in
    R offload/test/tools/offload-tblgen/default_returns.td
    R offload/test/tools/offload-tblgen/entry_points.td
    R offload/test/tools/offload-tblgen/functions_basic.td
    R offload/test/tools/offload-tblgen/functions_code_loc.td
    R offload/test/tools/offload-tblgen/functions_ranged_param.td
    R offload/test/tools/offload-tblgen/print_enum.td
    R offload/test/tools/offload-tblgen/print_function.td
    R offload/test/tools/offload-tblgen/type_tagged_enum.td
    R offload/tools/offload-tblgen/APIGen.cpp
    R offload/tools/offload-tblgen/CMakeLists.txt
    R offload/tools/offload-tblgen/EntryPointGen.cpp
    R offload/tools/offload-tblgen/FuncsGen.cpp
    R offload/tools/offload-tblgen/GenCommon.hpp
    R offload/tools/offload-tblgen/Generators.hpp
    R offload/tools/offload-tblgen/PrintGen.cpp
    R offload/tools/offload-tblgen/RecordTypes.hpp
    R offload/tools/offload-tblgen/offload-tblgen.cpp
    M offload/unittests/CMakeLists.txt
    R offload/unittests/OffloadAPI/CMakeLists.txt
    R offload/unittests/OffloadAPI/common/Environment.cpp
    R offload/unittests/OffloadAPI/common/Environment.hpp
    R offload/unittests/OffloadAPI/common/Fixtures.hpp
    R offload/unittests/OffloadAPI/device/olDeviceInfo.hpp
    R offload/unittests/OffloadAPI/device/olGetDevice.cpp
    R offload/unittests/OffloadAPI/device/olGetDeviceCount.cpp
    R offload/unittests/OffloadAPI/device/olGetDeviceInfo.cpp
    R offload/unittests/OffloadAPI/device/olGetDeviceInfoSize.cpp
    R offload/unittests/OffloadAPI/platform/olGetPlatform.cpp
    R offload/unittests/OffloadAPI/platform/olGetPlatformCount.cpp
    R offload/unittests/OffloadAPI/platform/olGetPlatformInfo.cpp
    R offload/unittests/OffloadAPI/platform/olGetPlatformInfoSize.cpp
    R offload/unittests/OffloadAPI/platform/olPlatformInfo.hpp

  Log Message:
  -----------
  Revert "[Offload] Introduce offload-tblgen and initial new API implementation (#108413)"

This reverts commit 8a2311c4bf9993230e37dc20b57973dc917f2338.


  Commit: a5dd6463608bb09404e8a898ed337ef0b4a292c4
      https://github.com/llvm/llvm-project/commit/a5dd6463608bb09404e8a898ed337ef0b4a292c4
  Author: B I Mohammed Abbas <bimohammadabbas at gmail.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M compiler-rt/lib/builtins/CMakeLists.txt
    A compiler-rt/lib/builtins/extendhfxf2.c
    A compiler-rt/test/builtins/Unit/extendhfxf2_test.c

  Log Message:
  -----------
  Add extendhfxf2 into compiler rt (#113897)

Retry of pr #109090 and #111099.

Co-authored-by: Alexander Richardson <alexrichardson at google.com>


  Commit: ed6749a4055c8b1500b39ebd4a8b981bf25250e8
      https://github.com/llvm/llvm-project/commit/ed6749a4055c8b1500b39ebd4a8b981bf25250e8
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/double-intrinsics.ll
    M llvm/test/CodeGen/RISCV/float-intrinsics.ll
    M llvm/test/CodeGen/RISCV/half-intrinsics.ll

  Log Message:
  -----------
  [RISCV] Promote frexp with Zfh.

The default expansion tries to create an illegal integer type after
legalization.


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

  Changed paths:
    M llvm/lib/Target/X86/X86ScheduleZnver4.td
    M llvm/test/tools/llvm-mca/X86/Znver4/resources-avx1.s
    M llvm/test/tools/llvm-mca/X86/Znver4/resources-sse41.s

  Log Message:
  -----------
  [X86] Fix bad instregex in VPMOVSX/ZX znver4 512-bit patterns.

The Z size was optional, meaning it matched with the 128-bit SSE instructions as well.

Noticed while triaging the strange perf numbers on #110308


  Commit: bb88fd171a6be892cec36969860a9034b48b8656
      https://github.com/llvm/llvm-project/commit/bb88fd171a6be892cec36969860a9034b48b8656
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    A clang/test/CodeGenHLSL/resource-bindings.hlsl
    M llvm/docs/DirectX/DXILResources.rst
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    M llvm/test/CodeGen/DirectX/CreateHandle.ll
    M llvm/test/CodeGen/DirectX/CreateHandleFromBinding.ll

  Log Message:
  -----------
  [DirectX] Calculate resource binding offsets using the lower bound (#117303)

In the DXIL CreateHandle and CreateHandleFromBinding ops, resource
bindings are
indexed from the beginning of the binding space, not from the binding
itself.
Translate from an index into the binding to one from the beginning of
the space
when lowering to these operations.


  Commit: fdf1f69c57ac3667d27c35e097040284edb1f574
      https://github.com/llvm/llvm-project/commit/fdf1f69c57ac3667d27c35e097040284edb1f574
  Author: Kyungwoo Lee <kyulee at meta.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M llvm/lib/CGData/StableFunctionMap.cpp
    M llvm/lib/CodeGen/GlobalMergeFunctions.cpp
    A llvm/test/CodeGen/Generic/cgdata-merge-local.ll
    A llvm/test/CodeGen/Generic/cgdata-merge-no-params.ll
    R llvm/test/ThinLTO/AArch64/cgdata-merge-local.ll

  Log Message:
  -----------
  [CGData][GMF] Skip No Params (#116548)

This update follows up on change #112671 and is mostly a NFC, with the following exceptions:
  - Introduced `-global-merging-skip-no-params` to bypass merging when no parameters are required.
  - Parameter count is now calculated based on the unique hash count.
  - Added `-global-merging-inst-overhead` to adjust the instruction overhead, reflecting the machine instruction size.
  - Costs and benefits are now computed using the double data type. Since the finalization process occurs offline, this should not significantly impact build time.
  - Moved a sorting operation outside of the loop.

This is a patch for
https://discourse.llvm.org/t/rfc-global-function-merging/82608.


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

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

  Log Message:
  -----------
  [memprof] Remove dead code in MemProfReader (NFC) (#117607)

The only constructor in current use is the one that takes
IndexedMemProfData.  Likewise, the only accessor in current use is
takeMemProfData.


  Commit: fe3c23b439b9a2d00442d9bc6a4ca86f73066a3d
      https://github.com/llvm/llvm-project/commit/fe3c23b439b9a2d00442d9bc6a4ca86f73066a3d
  Author: Kyungwoo Lee <kyulee at meta.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M llvm/lib/CGData/StableFunctionMap.cpp
    M llvm/lib/CodeGen/GlobalMergeFunctions.cpp
    R llvm/test/CodeGen/Generic/cgdata-merge-local.ll
    R llvm/test/CodeGen/Generic/cgdata-merge-no-params.ll
    A llvm/test/ThinLTO/AArch64/cgdata-merge-local.ll

  Log Message:
  -----------
  Revert "[CGData][GMF] Skip No Params (#116548)"

This reverts commit fdf1f69c57ac3667d27c35e097040284edb1f574.


  Commit: c94d715867ef73d57f6bbe2bd7fbda3328ab1d1d
      https://github.com/llvm/llvm-project/commit/c94d715867ef73d57f6bbe2bd7fbda3328ab1d1d
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/machine-sink-load-immediate.ll

  Log Message:
  -----------
  [RISCV] Add coverage for immediate sinking in switch vs branch cases

This come up in the context of pr 108889.  We always end up sinking
the value in the phi if we dispatched via a switch, but not if we'd
dispatched via a branch.  This is purely an artifact of current
lowering.


  Commit: d733fa1c90e36aa39b111fab6a573eaab62d960b
      https://github.com/llvm/llvm-project/commit/d733fa1c90e36aa39b111fab6a573eaab62d960b
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVFrameLowering.h
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp

  Log Message:
  -----------
  [RISCV] Consolidate VLS codepaths in stack frame manipulation [nfc] (#117605)

We can move the logic from adjustStackForRVV into adjustReg, which
results in the remaining logic being trivially inlined to the two
callers and allows a duplicate copy of the same logic in
eliminateFrameIndex to be pruned.


  Commit: 5001f1605893f21b1ae9defd82ee02999164f996
      https://github.com/llvm/llvm-project/commit/5001f1605893f21b1ae9defd82ee02999164f996
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/MC/AMDGPU/gfx950_asm_features.s
    M llvm/test/MC/AMDGPU/gfx950_err.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_vop3.txt

  Log Message:
  -----------
  AMDGPU: MC support for v_cvt_scalef32_pk_{f|bf}16_fp4 of gfx950. (#117418)

OPSEL ASM Syntax for v_cvt_scalef32_pk_{f|bf}16_fp4 : opsel:[x,y,z]
where, x & y i.e. OPSEL[1 : 0] selects which src_byte to read.

Note: Conventional Inst{13} i.e. OPSEL[2] is ignored in asm syntax.

Co-authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>

Co-authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>


  Commit: 8e510b8472580388272a0621f79ec0346d9909af
      https://github.com/llvm/llvm-project/commit/8e510b8472580388272a0621f79ec0346d9909af
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

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

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

This patch fixes:

  llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp:476:25: error: unused
  variable 'ST' [-Werror,-Wunused-variable]


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

  Changed paths:
    M flang/include/flang/Runtime/CUDA/allocatable.h

  Log Message:
  -----------
  [flang][cuda][NFC] Add missing default values (#117610)

Make it homogenous with other runtime entry points.


  Commit: 96547decd5f12c4357b104d107350c8a14b47650
      https://github.com/llvm/llvm-project/commit/96547decd5f12c4357b104d107350c8a14b47650
  Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
    M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
    M llvm/lib/Target/DirectX/DXILShaderFlags.h
    M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
    A llvm/test/CodeGen/DirectX/ShaderFlags/double-extensions-obj-test.ll
    M llvm/test/CodeGen/DirectX/ShaderFlags/double-extensions.ll
    M llvm/test/CodeGen/DirectX/ShaderFlags/doubles.ll
    M llvm/test/CodeGen/DirectX/ShaderFlags/no_flags.ll

  Log Message:
  -----------
  [DirectX] Infrastructure to collect shader flags for each function (#112967)

Currently, ShaderFlagsAnalysis pass represents various module-level
properties as well as function-level properties of a DXIL Module using a
single mask. However, one mask per function is needed for accurate
computation of shader flags mask, such as for entry function metadata
creation.

This change introduces a structure that wraps a sorted vector of
function-shader flag mask pairs that represent function properties
instead of a single shader flag mask that represents module properties
and properties of all functions. The result type of ShaderFlagsAnalysis
pass is changed to newly-defined structure type instead of a single
shader flags mask.

This allows accurate computation of shader flags of an entry function
(and all functions in a library shader) for use during its metadata
generation (DXILTranslateMetadata pass) and its feature flags in DX
container globals construction (DXContainerGlobals pass) based on the
shader flags mask of functions. However, note that the change to
implement propagation of such callee-based shader flags mask computation
is planned in a follow-on PR. Consequently, this PR changes shader flag
mask computation in DXILTranslateMetadata and DXContainerGlobals passes
to simply be a union of module flags and shader flags of all functions,
thereby retaining the existing effect of using a single shader flag
mask.


  Commit: 466ff3ed70e50343c9617de318e1b40efa03529d
      https://github.com/llvm/llvm-project/commit/466ff3ed70e50343c9617de318e1b40efa03529d
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

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

  Log Message:
  -----------
  [VPlan] Mark VPIRInstruction::getInstruction) as const (NFCI).

Split off from https://github.com/llvm/llvm-project/pull/114292.


  Commit: 30af6fb163add17a6be515200881afdff91d213a
      https://github.com/llvm/llvm-project/commit/30af6fb163add17a6be515200881afdff91d213a
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

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

  Log Message:
  -----------
  [VPlan] Group together helpers for retrieving various VPBlocks (NFCI).

Group together functions to retrieve various blocks of a VPlan, as
suggested in https://github.com/llvm/llvm-project/pull/114292.


  Commit: 9de73b20404f0b2db1cbf70d164cfe0789d5bb94
      https://github.com/llvm/llvm-project/commit/9de73b20404f0b2db1cbf70d164cfe0789d5bb94
  Author: Zequan Wu <zequanwu at google.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M llvm/include/llvm/DebugInfo/DWARF/DWARFTypePrinter.h
    M llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-string.test
    M llvm/unittests/DebugInfo/DWARF/DWARFDieTest.cpp

  Log Message:
  -----------
  [DWARF] Fix DWARTTypePrinter unable to print qualified name for DW_TAG_typedef DIE (#117239)

Fix a bug introduced in
https://github.com/llvm/llvm-project/pull/117071.

Ideally the DWARTTypePrinter test should go to
`llvm/unittests/DebugInfo/DWARF/DWARTTypePrinterTest.cpp`.


  Commit: fe69a20cc1e46bf8473aaef1be8a1805c80fc9d4
      https://github.com/llvm/llvm-project/commit/fe69a20cc1e46bf8473aaef1be8a1805c80fc9d4
  Author: Kyungwoo Lee <kyulee at meta.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M llvm/lib/CGData/StableFunctionMap.cpp
    M llvm/lib/CodeGen/GlobalMergeFunctions.cpp
    A llvm/test/CodeGen/AArch64/cgdata-merge-crash.ll
    A llvm/test/CodeGen/AArch64/cgdata-merge-local.ll
    A llvm/test/CodeGen/AArch64/cgdata-merge-no-params.ll
    R llvm/test/CodeGen/Generic/cgdata-merge-crash.ll
    R llvm/test/ThinLTO/AArch64/cgdata-merge-local.ll

  Log Message:
  -----------
  Reland [CGData][GMF] Skip No Params (#116548)

This update follows up on change #112671 and is mostly a NFC, with the following exceptions:
  - Introduced `-global-merging-skip-no-params` to bypass merging when no parameters are required.
  - Parameter count is now calculated based on the unique hash count.
  - Added `-global-merging-inst-overhead` to adjust the instruction overhead, reflecting the machine instruction size.
  - Costs and benefits are now computed using the double data type. Since the finalization process occurs offline, this should not significantly impact build time.
  - Moved a sorting operation outside of the loop.

This is a patch for
https://discourse.llvm.org/t/rfc-global-function-merging/82608.


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

  Changed paths:
    M llvm/test/tools/llvm-mca/X86/Generic/resources-avx512.s
    M llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bw.s
    M llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bwvl.s
    M llvm/test/tools/llvm-mca/X86/Generic/resources-avx512vl.s
    M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s
    M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bw.s
    M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bwvl.s
    M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vl.s
    M llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512.s
    M llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512bw.s
    M llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512bwvl.s
    M llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512vl.s
    M llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s
    M llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bw.s
    M llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bwvl.s
    M llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512vl.s
    M llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s
    M llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bw.s
    M llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bwvl.s
    M llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vl.s

  Log Message:
  -----------
  [MCA][X86] Add avx512 test coverage for VPMOV truncation instructions

We only had partial VPMOVWB test coverage


  Commit: 0988bf8d75de2f55484db02391db5165e7b7d37d
      https://github.com/llvm/llvm-project/commit/0988bf8d75de2f55484db02391db5165e7b7d37d
  Author: Robert Barinov <robert.barinov at intel.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    A llvm/test/tools/llvm-reduce/distinct-dimetadata-nullptr.ll
    M llvm/tools/llvm-reduce/deltas/ReduceDistinctMetadata.cpp

  Log Message:
  -----------
  [LLVM-Reduce] - Null pointer handling during distinct metadata reduction (#117570)

Some distinct metadata nodes, e.g DICompileUnit, have implicit nullptrs
inside them. Iterating over them with dyn_cast leads to a crash, change
the behavior so that the nullptr operands are skipped.

Add the test distinct-metadata-nullptr.ll which will crash if null
pointers are not handled correctly.


  Commit: 935da49a4d02316cbd0458d09d5913b6d1cabddc
      https://github.com/llvm/llvm-project/commit/935da49a4d02316cbd0458d09d5913b6d1cabddc
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

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

  Log Message:
  -----------
  AMDGPU: Pass HwMode to AMDGPUGenRegisterInfo (#117449)

I haven't figured out how to do anything useful with this yet,
but it seems you are supposed to pass this to the subtarget
constructor.


  Commit: ece4e1276e2140d84b05b8c430a0e547a1f23210
      https://github.com/llvm/llvm-project/commit/ece4e1276e2140d84b05b8c430a0e547a1f23210
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
    M mlir/test/Dialect/Affine/canonicalize.mlir

  Log Message:
  -----------
  [mlir][Affine] Split off delinearize parts that depend on last component (#117015)

If we have

    %0 = affine.linearize_index disjoint [%a, %b] by (A, B)
    %1:3 = affine.delinearize_index %0 into (A, B1, B2)

where B = B1 * B2 (or some mor complex product), we can simplify this to

    %0 = affine.linearize_index disjoint [%a] by (A)
    %1a:1 = affine.delinearize_index %0 into (A)
    %1b:2 = affine.delinearize_index %b into (B1, B2)

This, and more complex cases, prevent us from adding terms together only
to divide them away from each other.

---------

Co-authored-by: Abhishek Varma <abhvarma at amd.com>


  Commit: 76f0ff8210d56a050d2679926a2fdddd3a8c16d6
      https://github.com/llvm/llvm-project/commit/76f0ff8210d56a050d2679926a2fdddd3a8c16d6
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

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

  Log Message:
  -----------
  [SLP]Add an extra check to avoid infinite vectorization attempts

Added extra check for the cost of the buildvector if the -slp-threshold
option is used. Prevents infinite vectorization attempts.


  Commit: ab4e06667dbd777f32061ac3fff69328dc787fce
      https://github.com/llvm/llvm-project/commit/ab4e06667dbd777f32061ac3fff69328dc787fce
  Author: Feng Zou <feng.zou at intel.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/ELFRelocs/x86_64.def
    M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86FixupKinds.h
    M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp
    M llvm/test/MC/ELF/relocation.s

  Log Message:
  -----------
  [X86][MC] Add R_X86_64_CODE_6_GOTTPOFF (#117277)

For

    add %reg1, name at GOTTPOFF(%rip), %reg2
    add name at GOTTPOFF(%rip), %reg1, %reg2
    {nf} add %reg1, name at GOTTPOFF(%rip), %reg2
    {nf} add name at GOTTPOFF(%rip), %reg1, %reg2
    {nf} add name at GOTTPOFF(%rip), %reg

add

  `R_X86_64_CODE_6_GOTTPOFF` = 50

if the instruction starts at 6 bytes before the relocation offset. It's
similar to R_X86_64_GOTTPOFF.

Linker can treat `R_X86_64_CODE_6_GOTTPOFF` as `R_X86_64_GOTTPOFF` or
convert the instructions above to

    add $name at tpoff, %reg1, %reg2
    add $name at tpoff, %reg1, %reg2
    {nf} add $name at tpoff, %reg1, %reg2
    {nf} add $name at tpoff, %reg1, %reg2
    {nf} add $name at tpoff, %reg

if the first byte of the instruction at the relocation `offset - 6` is
`0xd5` (namely, encoded w/REX2 prefix) when possible.


Binutils patch:
https://github.com/bminor/binutils-gdb/commit/5bc71c2a6b8efb27089baa1fecded82be4f550a7
Binutils mailthread:
https://sourceware.org/pipermail/binutils/2024-February/132351.html
ABI discussion:
https://groups.google.com/g/x86-64-abi/c/FhEZjCtDLFw/m/VHDjN4orAgAJ
Blog: https://kanrobert.github.io/rfc/All-about-APX-relocation


  Commit: 4c91662a519705c2d0b6e002214a3e307f09b373
      https://github.com/llvm/llvm-project/commit/4c91662a519705c2d0b6e002214a3e307f09b373
  Author: Caslyn Tonelli <6718161+Caslyn at users.noreply.github.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

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

  Log Message:
  -----------
  [libc] Resolve multi-line comment error (#117636)

gcc interprets a backslash '\\' as the last char before a new line as a
line continuation character, even in a comment context. This can produce
an "error: multi-line comment [-Werror=comment]".

This removes the line continuation so that the comment can compile with
gcc.


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

  Changed paths:
    M libc/src/string/memory_utils/op_x86.h

  Log Message:
  -----------
  [libc] suppress string warning in case intrinsics are defined as macros (#117640)


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

  Changed paths:
    M libc/CMakeLists.txt
    M libc/src/math/generic/CMakeLists.txt

  Log Message:
  -----------
  [libc] suppress math library warnings on windows (#117638)


  Commit: 1ea7ced7eebf26aba1938d84ba99e2e6421c503c
      https://github.com/llvm/llvm-project/commit/1ea7ced7eebf26aba1938d84ba99e2e6421c503c
  Author: Jacques Pienaar <jpienaar at google.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M mlir/python/mlir/_mlir_libs/__init__.py

  Log Message:
  -----------
  [mlir][py] Enable disabling loading all registered (#117643)

There is a pending todo about always eagerly loading or not. Make this
behavior optional and give the control to the user in a backwards
compatible manner. This is made optional as there were arguments for
both forms, kept it in form that is backwards compatible.


  Commit: 97fe5fa54c2e99dc0fe14fff1940b31bf697eff2
      https://github.com/llvm/llvm-project/commit/97fe5fa54c2e99dc0fe14fff1940b31bf697eff2
  Author: Kai Luo <gluokai at gmail.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M clang/test/Driver/cuda-no-threadsafe-statics.cu

  Log Message:
  -----------
  [Driver] Pass `--cuda-path` to test (#117415)

My local build, on Debian GNU/Linux 12 (bookworm), complains
```
clang: error: GPU arch sm_20 is supported by CUDA versions between 7.0 and 8.0 (inclusive), but installation at /usr/lib/cuda is 11.8; use '--cuda-path' to specify a different CUDA install, pass a different GPU arch with '--cuda-gpu-arch', or pass '--no-cuda-version-check'
```

Fix it by passing `--cuda-path`. Hope this doesn't affect the original
intention of the test.


  Commit: cac978331f533c53b3f909dde673bb2d7b2ccede
      https://github.com/llvm/llvm-project/commit/cac978331f533c53b3f909dde673bb2d7b2ccede
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/test/AST/HLSL/RWStructuredBuffer-AST.hlsl
    A clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-lib.hlsl
    A clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-ps.hlsl
    A clang/test/SemaHLSL/BuiltIns/buffer_update_counter-errors.hlsl
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    A llvm/test/CodeGen/DirectX/bufferUpdateCounter.ll
    R llvm/test/CodeGen/DirectX/updateCounter.ll

  Log Message:
  -----------
  [HLSL] Add `Increment`/`DecrementCounter` methods to structured buffers (#117608)

Introduces `__builtin_hlsl_buffer_update_counter` clang buildin that is
used to implement the `IncrementCounter` and `DecrementCounter` methods
on `RWStructuredBuffer` and `RasterizerOrderedStructuredBuffer` (see
Note).

The builtin is translated to LLVM intrisic `llvm.dx.bufferUpdateCounter`
or `llvm.spv.bufferUpdateCounter`.

Introduces `BuiltinTypeMethodBuilder` helper in `HLSLExternalSemaSource`
that enables adding methods to builtin types using builder pattern like
this:
```
   BuiltinTypeMethodBuilder(Sema, RecordBuilder, "MethodName", ReturnType)
       .addParam("param_name", Type, InOutModifier)
       .callBuiltin("buildin_name", { BuiltinParams })
       .finalizeMethod();
```

Fixes #113513

[First version](llvm/llvm-project#114148) of this PR was reverted
because of build break.


  Commit: c2bb056482212a6afa91f6d52274fe0a74b91720
      https://github.com/llvm/llvm-project/commit/c2bb056482212a6afa91f6d52274fe0a74b91720
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/AArch64/fp-intrinsics-fp16.ll
    M llvm/test/CodeGen/RISCV/double-intrinsics-strict.ll
    M llvm/test/CodeGen/RISCV/float-intrinsics-strict.ll
    M llvm/test/CodeGen/RISCV/zfh-half-intrinsics-strict.ll
    M llvm/test/CodeGen/RISCV/zfhmin-half-intrinsics-strict.ll

  Log Message:
  -----------
  [SelectionDAG][RISCV][AArch64] Allow f16 STRICT_FLDEXP to be promoted. Fix integer promotion of STRICT_FLDEXP in type legalizer. (#117633)

A special case in type legalization wasn't accounting for different
operand numbering between FLDEXP and STRICT_FLDEXP.

AArch64 already asked STRICT_FLDEXP to be promoted, but had no test for
it.


  Commit: 2ab84a60ff88279884ca1b2a1655bd9f119bc803
      https://github.com/llvm/llvm-project/commit/2ab84a60ff88279884ca1b2a1655bd9f119bc803
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/Analysis/CostModel/X86/fptoi_sat.ll
    M llvm/test/CodeGen/X86/avx512-insert-extract.ll
    M llvm/test/CodeGen/X86/avx512-vec-cmp.ll
    M llvm/test/CodeGen/X86/fminimum-fmaximum.ll
    M llvm/test/CodeGen/X86/half.ll
    M llvm/test/CodeGen/X86/pr114520.ll
    M llvm/test/CodeGen/X86/pr57340.ll
    M llvm/test/CodeGen/X86/vector-reduce-fmax-nnan.ll
    M llvm/test/CodeGen/X86/vector-reduce-fmin-nnan.ll

  Log Message:
  -----------
  [X86][FP16][BF16] Improve vectorization of fcmp (#116153)


  Commit: c1a3960abe5ca316e9a26e87cdc3a7f94e420dc6
      https://github.com/llvm/llvm-project/commit/c1a3960abe5ca316e9a26e87cdc3a7f94e420dc6
  Author: Daniel Zabawa <daniel.zabawa at intel.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstrCompiler.td
    M llvm/lib/Target/X86/X86InstrPredicates.td
    A llvm/test/CodeGen/X86/apx/imulzu.ll

  Log Message:
  -----------
  [X86] Add APX imulzu support. (#116806)

Add patterns to select 16b imulzu with -mapx-feature=zu, including
folding of zero-extends of the result. IsDesirableToPromoteOp is changed
to leave 16b multiplies by constant un-promoted, as imulzu will not
cause partial-write stalls.


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

  Changed paths:
    M flang/lib/Optimizer/OpenMP/LowerWorkshare.cpp
    A flang/test/Transforms/OpenMP/lower-workshare-nested.mlir

  Log Message:
  -----------
  [flang][OpenMP] Fix handling of nested loop wrappers in LowerWorkshare (#117275)


  Commit: ebcaa577158de095f0093025ae1127d211a2a535
      https://github.com/llvm/llvm-project/commit/ebcaa577158de095f0093025ae1127d211a2a535
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

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

  Log Message:
  -----------
  [GISel] #undef macros when they are no longer needed. NFC (#117652)

These macros are created inside a function. They should be undefined
before the end of the function.


  Commit: bf07a569b73b5f8634cad30fa21c03a1e3d63e0b
      https://github.com/llvm/llvm-project/commit/bf07a569b73b5f8634cad30fa21c03a1e3d63e0b
  Author: LiqinWeng <liqin.weng at spacemit.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [LangRef] Remove extra commas of llvm.vp.ctlz (#117542)


  Commit: dd7aabf7c041f094ef2124bb5b8fe9434490d266
      https://github.com/llvm/llvm-project/commit/dd7aabf7c041f094ef2124bb5b8fe9434490d266
  Author: LiqinWeng <liqin.weng at spacemit.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp

  Log Message:
  -----------
  [TTI][RISCV] Deduplicate type-based VP costing of vpcmp/vpcast (#117520)

Refered to: https://github.com/llvm/llvm-project/pull/115983


  Commit: 6633916ef5ab17bae9b2214a9e3327295ce56b5a
      https://github.com/llvm/llvm-project/commit/6633916ef5ab17bae9b2214a9e3327295ce56b5a
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
    M llvm/lib/Target/RISCV/RISCVSubtarget.h

  Log Message:
  -----------
  [RISCV] Remove getPostRAMutations (#117527)

We are using `PostMachineScheduler` instead of `PostRAScheduler`
since #68696.

The hook `getPostRAMutations` is only used in `PostRAScheduler` so
it is actually dead code for RISC-V now.


  Commit: 6657d4bd70523e6852f07f64711fb15bdf7b347a
      https://github.com/llvm/llvm-project/commit/6657d4bd70523e6852f07f64711fb15bdf7b347a
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/lib/CodeGen/MachineSink.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    M llvm/test/CodeGen/RISCV/GlobalISel/double-convert.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/float-convert.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb.ll
    M llvm/test/CodeGen/RISCV/aext-to-sext.ll
    M llvm/test/CodeGen/RISCV/compress-opt-select.ll
    M llvm/test/CodeGen/RISCV/machine-sink-load-immediate.ll
    M llvm/test/CodeGen/RISCV/rv64m-w-insts-legalization.ll
    M llvm/test/CodeGen/RISCV/select-const.ll
    M llvm/test/CodeGen/RISCV/select.ll
    M llvm/test/CodeGen/RISCV/sextw-removal.ll
    M llvm/test/CodeGen/RISCV/typepromotion-overflow.ll

  Log Message:
  -----------
  [TTI][RISCV] Unconditionally break critical edges to sink ADDI (#108889)

This looks like a rather weird change, so let me explain why this isn't
as unreasonable as it looks. Let's start with the problem it's solving.

```
define signext i32 @overlap_live_ranges(ptr %arg, i32 signext %arg1) { bb:
  %i = icmp eq i32 %arg1, 1
  br i1 %i, label %bb2, label %bb5

bb2:                                              ; preds = %bb
  %i3 = getelementptr inbounds nuw i8, ptr %arg, i64 4
  %i4 = load i32, ptr %i3, align 4
  br label %bb5

bb5:                                              ; preds = %bb2, %bb
  %i6 = phi i32 [ %i4, %bb2 ], [ 13, %bb ]
  ret i32 %i6
}
```

Right now, we codegen this as:

```
	li	a3, 1
	li	a2, 13
	bne	a1, a3, .LBB0_2
	lw	a2, 4(a0)
.LBB0_2:
	mv	a0, a2
	ret
```

In this example, we have two values which must be assigned to a0 per the
ABI (%arg, and the return value). SelectionDAG ensures that all values
used in a successor phi are defined before exit the predecessor block.
This creates an ADDI to materialize the immediate in the entry block.

Currently, this ADDI is not sunk into the tail block because we'd have
to split a critical edges to do so. Note that if our immediate was
anything large enough to require two instructions we *would* split this
critical edge.

Looking at other targets, we notice that they don't seem to have this
problem. They perform the sinking, and tail duplication that we don't.
Why? Well, it turns out for AArch64 that this is entirely an accident of
the existance of the gpr32all register class. The immediate is
materialized into the gpr32 class, and then copied into the gpr32all
register class. The existance of that copy puts us right back into the
two instruction case noted above.

This change essentially just bypasses this emergent behavior aspect of
the aarch64 behavior, and implements the same "always sink immediates"
behavior for RISCV as well.


  Commit: 5dd48c4901c60f2a38aa4e78160cc72eafcbbc5b
      https://github.com/llvm/llvm-project/commit/5dd48c4901c60f2a38aa4e78160cc72eafcbbc5b
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/MC/AMDGPU/gfx950_asm_features.s
    M llvm/test/MC/AMDGPU/gfx950_err.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_vop3.txt

  Log Message:
  -----------
  AMDGPU: MC support for v_cvt_scalef32_pk32_f32_[fp|bf]6 of gfx950 (#117590)

Co-authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>


  Commit: 658db918fe47efc0a3ba0556d58d607f0919f1e3
      https://github.com/llvm/llvm-project/commit/658db918fe47efc0a3ba0556d58d607f0919f1e3
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/MC/AMDGPU/gfx950_asm_features.s
    M llvm/test/MC/AMDGPU/gfx950_err.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_vop3.txt

  Log Message:
  -----------
  AMDGPU: MC support for v_cvt_scalef32_pk32_{bf|f}16_{bf|fp}6 of gfx950. (#117591)

Co-authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>


  Commit: 22503a9df16e8bf320c81ffbd3b4c70de45f8053
      https://github.com/llvm/llvm-project/commit/22503a9df16e8bf320c81ffbd3b4c70de45f8053
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/test/CodeGenOpenCL/amdgpu-features.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950.cl
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/TargetParser/TargetParser.cpp
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.ll
    M llvm/test/MC/AMDGPU/gfx950_asm_features.s
    M llvm/test/MC/AMDGPU/gfx950_err.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_vop3.txt

  Log Message:
  -----------
  AMDGPU: Support v_cvt_scalef32_pk32_{bf|f}6_{bf|fp}16 for gfx950 (#117592)

Co-authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>


  Commit: c767570eb1d8d11d42b831ac64eae44786782827
      https://github.com/llvm/llvm-project/commit/c767570eb1d8d11d42b831ac64eae44786782827
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/MC/AMDGPU/gfx950_asm_features.s
    M llvm/test/MC/AMDGPU/gfx950_err.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_vop3.txt

  Log Message:
  -----------
  AMDGPU: MC support for v_cvt_scalef32_pk_{bf|f}16_{bf|fp}8 of gfx950. (#117593)

OPSEL[0] selects src_word to read.

Co-authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>


  Commit: d727b6f7778d98a3c506c6150a5d4f68056c1cee
      https://github.com/llvm/llvm-project/commit/d727b6f7778d98a3c506c6150a5d4f68056c1cee
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/MC/AMDGPU/gfx950_asm_features.s
    M llvm/test/MC/AMDGPU/gfx950_err.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_vop3.txt

  Log Message:
  -----------
  AMDGPU: MC support for v_cvt_scalef32_pk_fp4_{f|bf}16 on gfx950. (#117594)

These instructions have non-standard use of OPSEL bits to select
dest write byte. The src2_modifiers operand is used without having
its corresponding src2 operand by introducing dummy src2.

Co-authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>


  Commit: c3377af4c3646e84f33d4e50846645b1c17f6403
      https://github.com/llvm/llvm-project/commit/c3377af4c3646e84f33d4e50846645b1c17f6403
  Author: LiqinWeng <liqin.weng at spacemit.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/int-bit-manip.ll

  Log Message:
  -----------
  [RISCV][CostModel] add cost for cttz/ctlz under the non-zvbb (#117515)


  Commit: a87d484a97f6ddc7404a2970a764158a5b27e3e5
      https://github.com/llvm/llvm-project/commit/a87d484a97f6ddc7404a2970a764158a5b27e3e5
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950.cl
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.gfx950.ll
    M llvm/test/MC/AMDGPU/gfx950_asm_features.s
    M llvm/test/MC/AMDGPU/gfx950_err.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_vop3.txt

  Log Message:
  -----------
  AMDGPU: Support v_cvt_scalef32_2xpk16_{bf|fp}6_f32 for gfx950. (#117595)

Scale packed 16-component single-precision float vectors from
two  source inputs using the exponent provided by the third
single-precision float input, then convert the values to a packed
32-component FP6 float value.

Co-authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>


  Commit: 5d650a62a35c2f38b112f5ee930654e678bcd5bb
      https://github.com/llvm/llvm-project/commit/5d650a62a35c2f38b112f5ee930654e678bcd5bb
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/test/CodeGenOpenCL/amdgpu-features.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950.cl
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td
    M llvm/lib/TargetParser/TargetParser.cpp
    M llvm/test/MC/AMDGPU/gfx950_asm_vop3.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_vop3.txt

  Log Message:
  -----------
  AMDGPU: Add support for v_ashr_pk_i8/u8_i32 instructions for gfx950 (#117596)

This patch adds assembly and builtin support for v_ashr_pk_i8/u8_i32
instructions.

Co-authored-by: Sirish Pande <Sirish.Pande at amd.com>


  Commit: aa7eb5723cb4499f35ed1c5455f668ccc078e7c2
      https://github.com/llvm/llvm-project/commit/aa7eb5723cb4499f35ed1c5455f668ccc078e7c2
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/test/CodeGenOpenCL/amdgpu-features.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950.cl
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    M llvm/lib/TargetParser/TargetParser.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.f32.bf16.ll
    A llvm/test/MC/AMDGPU/gfx950_dlops.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_vop3.txt

  Log Message:
  -----------
  AMDGPU: Add support for v_dot2_f32_bf16 instruction for gfx950 (#117597)

v_dot2_f32_bf16 was added in gfx11 along with v_dot2_f16_f16 and v_dot2_bf16_bf16.
All three instructions were part of Dot9 instructions in the compiler.

This patch will split existing dot9 (v_dot2_f16_f16, v_dot2_bf16_bf16, v_dot2_f32_bf16)
into new dot9 (v_dot2_f16_f16 and v_dot2_bf16_bf16), and dot12 (v_dot2_f32_bf16).

All necessary changes to gfx11 and gfx12 are updated to reflect this change.

Co-authored-by: Sirish Pande <Sirish.Pande at amd.com>


  Commit: 716364ebd6649aeca8658680ebb8b0424d028006
      https://github.com/llvm/llvm-project/commit/716364ebd6649aeca8658680ebb8b0424d028006
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/test/CodeGenOpenCL/amdgpu-features.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950.cl
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    M llvm/lib/TargetParser/TargetParser.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.f32.bf16.ll
    A llvm/test/MC/AMDGPU/gfx950_xdlops.s
    A llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_xdlops.txt

  Log Message:
  -----------
  AMDGPU: Add support for v_dot2c_f32_bf16 instruction for gfx950 (#117598)

The encoding of v_dot2c_f32_bf16 opcode is same as v_mac_f32 in gfx90a,
both from gfx9 series. This required a new decoderNameSpace GFX950_DOT.

Co-authored-by: Sirish Pande <Sirish.Pande at amd.com>


  Commit: 7fc71f79099b1556a57c9e96f7d62064dcff44d4
      https://github.com/llvm/llvm-project/commit/7fc71f79099b1556a57c9e96f7d62064dcff44d4
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M clang/test/CodeGenOpenCL/amdgpu-features.cl
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/BUFInstructions.td
    M llvm/lib/TargetParser/TargetParser.cpp
    A llvm/test/CodeGen/AMDGPU/fp-atomics-gfx950.ll
    M llvm/test/MC/AMDGPU/gfx12_asm_vbuffer_mubuf.s
    M llvm/test/MC/AMDGPU/gfx950_asm_features.s
    M llvm/test/MC/AMDGPU/gfx950_err.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx950.txt

  Log Message:
  -----------
  AMDGPU: Support buffer_atomic_pk_add_bf16 for gfx950 (#117599)

Co-authored-by: Sirish Pande <Sirish.Pande at amd.com>


  Commit: a5174de8c2244b2651568095e3136dd90df1c869
      https://github.com/llvm/llvm-project/commit/a5174de8c2244b2651568095e3136dd90df1c869
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/MC/AMDGPU/gfx950_asm_features.s
    M llvm/test/MC/AMDGPU/gfx950_err.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_vop3.txt

  Log Message:
  -----------
  AMDGPU: Add encodings for minimum3/maximum3 f32 for gfx950 (#117600)


  Commit: ae719f07562a2eb74f620b1f6d798d6507760514
      https://github.com/llvm/llvm-project/commit/ae719f07562a2eb74f620b1f6d798d6507760514
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    M llvm/test/MC/AMDGPU/gfx950_asm_features.s
    M llvm/test/MC/AMDGPU/gfx950_err.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_vop3.txt

  Log Message:
  -----------
  AMDGPU: Add minimum3/maximum3 pkf16 for gfx950 encodings (#117601)


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

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

  Log Message:
  -----------
  [flang][cuda] cuf.allocate: Carry over stream to the runtime call (#117631)

- Update the runtime entry points to accept a stream information
- Update the conversion of `cuf.allocate` to pass correctly the stream
information when present.

Note that the stream is not currently used in the runtime. This will be
done in a separate patch as a design/solution needs to be down together
with the allocators.


  Commit: ca184cfc088a843e545e5f04b48813e6f9bfba77
      https://github.com/llvm/llvm-project/commit/ca184cfc088a843e545e5f04b48813e6f9bfba77
  Author: Nathan Ridge <zeratul976 at hotmail.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M clang-tools-extra/clangd/ClangdLSPServer.cpp
    M clang-tools-extra/clangd/ClangdLSPServer.h
    M clang-tools-extra/clangd/ClangdServer.cpp
    M clang-tools-extra/clangd/ClangdServer.h
    M clang-tools-extra/clangd/XRefs.cpp
    M clang-tools-extra/clangd/XRefs.h
    M clang-tools-extra/clangd/index/Index.cpp
    M clang-tools-extra/clangd/index/Index.h
    M clang-tools-extra/clangd/index/MemIndex.cpp
    M clang-tools-extra/clangd/index/MemIndex.h
    M clang-tools-extra/clangd/index/Merge.cpp
    M clang-tools-extra/clangd/index/Merge.h
    M clang-tools-extra/clangd/index/ProjectAware.cpp
    M clang-tools-extra/clangd/index/Ref.h
    M clang-tools-extra/clangd/index/SymbolCollector.cpp
    M clang-tools-extra/clangd/index/SymbolCollector.h
    M clang-tools-extra/clangd/index/dex/Dex.cpp
    M clang-tools-extra/clangd/index/dex/Dex.h
    M clang-tools-extra/clangd/test/type-hierarchy-ext.test
    M clang-tools-extra/clangd/test/type-hierarchy.test
    M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
    M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
    M clang-tools-extra/clangd/unittests/RenameTests.cpp

  Log Message:
  -----------
  [clangd] Support outgoing calls in call hierarchy (#77556)

Co-authored-by: Quentin Chateau <quentin.chateau at gmail.com>


  Commit: d77cab823fc03f6933c3375baaddaae1477bb1d2
      https://github.com/llvm/llvm-project/commit/d77cab823fc03f6933c3375baaddaae1477bb1d2
  Author: Nathan Ridge <zeratul976 at hotmail.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M clang-tools-extra/clangd/ClangdLSPServer.cpp
    M clang-tools-extra/clangd/ClangdLSPServer.h
    M clang-tools-extra/clangd/ClangdServer.cpp
    M clang-tools-extra/clangd/ClangdServer.h
    M clang-tools-extra/clangd/XRefs.cpp
    M clang-tools-extra/clangd/XRefs.h
    M clang-tools-extra/clangd/index/Index.cpp
    M clang-tools-extra/clangd/index/Index.h
    M clang-tools-extra/clangd/index/MemIndex.cpp
    M clang-tools-extra/clangd/index/MemIndex.h
    M clang-tools-extra/clangd/index/Merge.cpp
    M clang-tools-extra/clangd/index/Merge.h
    M clang-tools-extra/clangd/index/ProjectAware.cpp
    M clang-tools-extra/clangd/index/Ref.h
    M clang-tools-extra/clangd/index/SymbolCollector.cpp
    M clang-tools-extra/clangd/index/SymbolCollector.h
    M clang-tools-extra/clangd/index/dex/Dex.cpp
    M clang-tools-extra/clangd/index/dex/Dex.h
    M clang-tools-extra/clangd/test/type-hierarchy-ext.test
    M clang-tools-extra/clangd/test/type-hierarchy.test
    M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
    M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
    M clang-tools-extra/clangd/unittests/RenameTests.cpp

  Log Message:
  -----------
  Revert "[clangd] Support outgoing calls in call hierarchy (#77556)" (#117668)

This reverts commit ca184cfc088a843e545e5f04b48813e6f9bfba77.


  Commit: 6e57186c0c14702055984f9cfa59be02f0f72356
      https://github.com/llvm/llvm-project/commit/6e57186c0c14702055984f9cfa59be02f0f72356
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M clang/lib/Format/Format.cpp

  Log Message:
  -----------
  [clang-format][NFC] Clean up RemoveBraces, RemoveSemi, etc.


  Commit: bc282605dfe341add6f7ee8234fed2cd55f5656b
      https://github.com/llvm/llvm-project/commit/bc282605dfe341add6f7ee8234fed2cd55f5656b
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [SelectionDAG] Require last operand of (STRICT_)FP_ROUND to be a TargetConstant. (#117639)

Fix all the places I could find that did't do this. We were already
mostly correct for FP_ROUND after
9a976f36615dbe15e76c12b22f711b2e597a8e51, but not STRICT_FP_ROUND.


  Commit: 90f5c8b790d8a57eab49320e77d6ce11c6c2d36f
      https://github.com/llvm/llvm-project/commit/90f5c8b790d8a57eab49320e77d6ce11c6c2d36f
  Author: Mel Chen <mel.chen at sifive.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp-no-wrap.ll
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp-trunc.ll
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/select-min-index.ll

  Log Message:
  -----------
  [LV][NFC] Auto-generate the test cases related to FindLastIV idioms. (#117560)

Pre-commit for #67812


  Commit: 5e3f6150b1d490090faf945777985b18db73ea3f
      https://github.com/llvm/llvm-project/commit/5e3f6150b1d490090faf945777985b18db73ea3f
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
    M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h

  Log Message:
  -----------
  [lldb/NativePDB] Don't create parentless blocks (#117581)

In case of an error GetBlock would return a reference to a Block without
adding it to a parent. This doesn't seem like a good idea, and none of
the other plugins do that.

This patch fixes that by propagating errors (well, null pointers...) up
the stack.

I don't know of any specific problem that this solves, but given that
this occurs only when something goes very wrong (e.g. a corrupted PDB
file), it's quite possible noone has run into this situation, so we
can't say the code is correct either. It also gets in the way of a
refactor I'm contemplating.


  Commit: 56eb559b1d49ec6fa2d75753078e5b57f4b606c2
      https://github.com/llvm/llvm-project/commit/56eb559b1d49ec6fa2d75753078e5b57f4b606c2
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/test/CodeGen/attr-cpuspecific.c

  Log Message:
  -----------
  [clang][FMV] Fix crash with cpu_specific attribute. (#115762)

When dealing with cpu_specific GlobalDecl,
GetOrCreateMultiVersionResolver should immediately return the already
created llvm function if it exists.

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


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

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/lib/Conversion/TensorToLinalg/TensorToLinalg.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    A mlir/test/Dialect/Linalg/decompose-pad-tensor.mlir
    R mlir/test/Dialect/Linalg/generalize-pad-tensor.mlir
    M mlir/test/Dialect/Linalg/vectorization-pad-patterns.mlir
    M mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp

  Log Message:
  -----------
  [mlir][linalg] Extract `GeneralizePadOpPattern` into a standalone transformation (#117329)

Currently, `GeneralizePadOpPattern` is grouped under
`populatePadOpVectorizationPatterns`. However, as noted in #111349, this
transformation "decomposes" rather than "vectorizes" `tensor.pad`. As
such, it functions as:
  * a vectorization _pre-processing_ transformation, not
  * a vectorization transformation itself.

To clarify its purpose, this PR turns `GeneralizePadOpPattern` into a
standalone transformation by:
  * introducing a dedicated `populateDecomposePadPatterns` method,
  * adding a `apply_patterns.linalg.decompose_pad` Transform Dialect Op,
  * removing it from `populatePadOpVectorizationPatterns`.

In addition, to better reflect its role, it is renamed as "decomposition"
rather then "generalization".  This is in line with the recent renaming
of similar ops, i.e. tensor.pack/tensor.unpack Ops in #116439.


  Commit: bb8bf858e865ec3119352bdef43c09adb4c93b31
      https://github.com/llvm/llvm-project/commit/bb8bf858e865ec3119352bdef43c09adb4c93b31
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M flang/include/flang/Lower/AbstractConverter.h
    M flang/include/flang/Lower/PFTBuilder.h
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/test/Lower/HLFIR/assumed-rank-internal-proc.f90
    M flang/test/Lower/HLFIR/cray-pointers.f90
    M flang/test/Lower/HLFIR/internal-procedures.f90
    M flang/test/Lower/OpenMP/threadprivate-host-association-2.f90
    M flang/test/Lower/OpenMP/threadprivate-host-association.f90

  Log Message:
  -----------
  [flang] add internal_assoc flag to mark variable captured in internal procedure (#117161)

This patch adds a flag to mark hlfir.declare of host variables that are
captured in some internal procedure.

It enables implementing a simple fir.call handling in
fir::AliasAnalysis::getModRef leveraging Fortran language specifications
and without a data flow analysis.

This will allow implementing an optimization for "array =
array_function()" where array storage is passed directly into the hidden
result argument to "array_function" when it can be proven that
arraY_function does not reference "array".

Captured host variables are very tricky because they may be accessed
indirectly in any calls if the internal procedure address was captured
via some global procedure pointer. Without flagging them, there is no
way around doing a complex inter procedural data flow analysis:
- checking that the call is not made to an internal procedure is not
enough because of the possibility of indirect calls made to internal
procedures inside the callee.
- checking that the current func.func has no internal procedure is not
enough because this would be invalid with inlining when an procedure
with internal procedures is inlined inside a procedure without internal
procedure.


  Commit: a96ec01e1a269b663ccc1dadc2f4429fd0df887d
      https://github.com/llvm/llvm-project/commit/a96ec01e1a269b663ccc1dadc2f4429fd0df887d
  Author: Piotr Sobczak <piotr.sobczak at amd.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    A llvm/test/CodeGen/AMDGPU/barrier-elimination-gfx12.ll

  Log Message:
  -----------
  [AMDGPU] Optimize out s_barrier_signal/_wait (#116993)

Extend the optimization that converts s_barrier to wave_barrier (nop)
when the number of work items is not larger than wave size.
    
This handles the "split barrier" form of s_barrier where the barrier
is represented by separate intrinsics (s_barrier_signal/s_barrier_wait).
Note: the version where s_barrier is used in gfx12 (and later split)
has the optimization already, but some front-ends may prefer to use
split intrinsics and this is being addressed by the patch.


  Commit: 9acd8e381091765a932d54bc22359cdafa9e75c6
      https://github.com/llvm/llvm-project/commit/9acd8e381091765a932d54bc22359cdafa9e75c6
  Author: Christian Kandeler <christian.kandeler at qt.io>
  Date:   2024-11-26 (Tue, 26 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] Drop requirement for named template parameters (#117565)

... in DefineOutline tweak for function templates. As opposed to class
templates, the name is not required for writing an out-of-line
definition.


  Commit: 93caee17add0c7bc6770365b1d3cae93f258d866
      https://github.com/llvm/llvm-project/commit/93caee17add0c7bc6770365b1d3cae93f258d866
  Author: Mark Goncharov <110403898+mga-sc at users.noreply.github.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/fveclib.c
    M llvm/include/llvm/Analysis/VecFuncs.def
    M llvm/include/llvm/IR/VFABIDemangler.h
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/lib/IR/VFABIDemangler.cpp
    A llvm/test/CodeGen/RISCV/replace-with-veclib-sleef-scalable.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/veclib-function-calls.ll
    M llvm/test/Transforms/Util/add-TLI-mappings.ll

  Log Message:
  -----------
  [RISCV][SLEEF]: Support SLEEF vector library for RISC-V target. (#114014)

SLEEF math vector library now supports RISC-V target.
Commit: https://github.com/shibatch/sleef/pull/477

This patch enables the use of auto-vectorization with 
subsequent replacement by the corresponding SLEEF function.


  Commit: 29062329f3cf0ac8f1ae626e758ca64f82294fbf
      https://github.com/llvm/llvm-project/commit/29062329f3cf0ac8f1ae626e758ca64f82294fbf
  Author: Mark Goncharov <110403898+mga-sc at users.noreply.github.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    A llvm/test/CodeGen/RISCV/machine-outliner-call.ll
    M llvm/test/CodeGen/RISCV/machine-outliner-cfi.mir
    M llvm/test/CodeGen/RISCV/machine-outliner-leaf-descendants.ll
    M llvm/test/CodeGen/RISCV/machine-outliner-patchable.ll
    M llvm/test/CodeGen/RISCV/machine-outliner-position.mir
    A llvm/test/CodeGen/RISCV/machineoutliner-x5.mir
    M llvm/test/CodeGen/RISCV/machineoutliner.mir

  Log Message:
  -----------
  [RISCV] Implement tail call optimization in machine outliner (#115297)

Following up issue #89822, this patch adds opportunity to use tail call
in machine outliner pass.
Also it enables outline patterns with X5(T0) register.


  Commit: 3e1b55cafc95d4ef46f302d0fcd695461e376958
      https://github.com/llvm/llvm-project/commit/3e1b55cafc95d4ef46f302d0fcd695461e376958
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

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

  Log Message:
  -----------
  [SDAG] Don't allow implicit trunc in getConstant() (#117558)

Assert that the passed value is a valid unsigned integer value for the
specified type.

For signed values getSignedConstant() / getSignedTargetConstant() should
be used instead.


  Commit: 231e63d8162a1c78a973c6e546bea39d04fefd67
      https://github.com/llvm/llvm-project/commit/231e63d8162a1c78a973c6e546bea39d04fefd67
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp

  Log Message:
  -----------
  [StructurizeCFG] Refactor insertConditions. NFC. (#115476)

This just makes it more obvious that having Parent as the single
predecessor is a special case, instead of checking for it in the middle
of a loop that finds the nearest common dominator of multiple
predecessors.


  Commit: 79f59afff966c3abff541535431862885dc0a833
      https://github.com/llvm/llvm-project/commit/79f59afff966c3abff541535431862885dc0a833
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-11-26 (Tue, 26 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" (#117533)

Builds on:
* #117329: "Extract GeneralizePadOpPattern into a standalone
transformation".
  * #116373: "Update pack-dynamic-inner-tile.mlir".

This update adds vectorization to the "pack-dynamic-inner-tile.mlir"
pipeline.

The pipeline first decomposes `tensor.pack` into `tensor.pad` and then
into `linalg.fill` (https://github.com/llvm/llvm-project/pull/117329).
Next, `linalg.fill` is vectorized, with vector sizes matching the inner
tile sizes of the original `tensor.pack`.


  Commit: 36b1811da496a0527aab0de76bd3687ff4880bfa
      https://github.com/llvm/llvm-project/commit/36b1811da496a0527aab0de76bd3687ff4880bfa
  Author: bernhardu <bernhardu at mailbox.org>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

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

  Log Message:
  -----------
  [win/asan] Add a test skeleton for function GetInstructionSize. (#116948)

Was first part of PR #113085.


  Commit: 3414993eaffcfa2cb4ff723c8468434d56dff213
      https://github.com/llvm/llvm-project/commit/3414993eaffcfa2cb4ff723c8468434d56dff213
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

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

  Log Message:
  -----------
  [AMDGPU][SplitModule] Fix potential divide by zero (#117602)

A static analysis tool found that ModuleCost could be zero, so would
perform divide by zero when being printed. Perhaps this is unreachable
in practice, but the fix is straightforward enough and unlikely to be a
performance concern.


  Commit: cf602b95d14532fdb97679806bc5ba9d55631875
      https://github.com/llvm/llvm-project/commit/cf602b95d14532fdb97679806bc5ba9d55631875
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
    M flang/include/flang/Optimizer/Dialect/FortranVariableInterface.td
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/Analysis/CMakeLists.txt
    M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
    A flang/test/Analysis/AliasAnalysis/gen_mod_ref_test.py
    A flang/test/Analysis/AliasAnalysis/modref-call-after-inlining.fir
    A flang/test/Analysis/AliasAnalysis/modref-call-args.f90
    A flang/test/Analysis/AliasAnalysis/modref-call-dummies.f90
    A flang/test/Analysis/AliasAnalysis/modref-call-equivalence.f90
    A flang/test/Analysis/AliasAnalysis/modref-call-globals.f90
    A flang/test/Analysis/AliasAnalysis/modref-call-internal-proc.f90
    A flang/test/Analysis/AliasAnalysis/modref-call-locals.f90
    A flang/test/Analysis/AliasAnalysis/modref-call-not-fortran.fir

  Log Message:
  -----------
  [flang] handle fir.call in AliasAnalysis::getModRef (#117164)

fir.call side effects are hard to describe in a useful way using
`MemoryEffectOpInterface` because it is impossible to list which memory
location a user procedure read/write without doing a data flow analysis
of its body (even PURE procedures may read from any module variable,
Fortran SIMPLE procedure from F2023 will allow that, but they are far
from common at that point).

Fortran language specifications allow the compiler to deduce
that a procedure call cannot access a variable in many cases 
This patch leverages this to extend `fir::AliasAnalysis::getModRef` to
deal with fir.call.

This will allow implementing "array = array_function()" optimization in
a future patch.


  Commit: ad7bb652d61e2e8021df03018ea05750abf66b0e
      https://github.com/llvm/llvm-project/commit/ad7bb652d61e2e8021df03018ea05750abf66b0e
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M flang/docs/Intrinsics.md
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/test/Lower/Intrinsics/len_trim.f90

  Log Message:
  -----------
  [flang] Implement non-standard LNBLNK intrinsic (#117589)

This is defined here
https://gcc.gnu.org/onlinedocs/gfortran/LNBLNK.html. It is just an alias
to LEN_TRIM.

This was requested by a user:

https://discourse.llvm.org/t/unresolved-externals-with-appendend-underscore/83305


  Commit: c0192a008c4a2b8afdc2b63526c0483632d81c07
      https://github.com/llvm/llvm-project/commit/c0192a008c4a2b8afdc2b63526c0483632d81c07
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/test/Lower/Intrinsics/system.f90

  Log Message:
  -----------
  [flang] implement function form of SYSTEM intrinsic (#117585)

SYSTEM is a gfortran extension which we already supported in subroutine
form. Gfortran also allows it to be called as a function, which was
requested by a user

https://discourse.llvm.org/t/unresolved-externals-with-appendend-underscore/83305/4


  Commit: b9e3a769b99e9dafa3e5205dbbef9fae8573e4e2
      https://github.com/llvm/llvm-project/commit/b9e3a769b99e9dafa3e5205dbbef9fae8573e4e2
  Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    R flang/test/Lower/OpenMP/Todo/task_mergeable.f90
    M flang/test/Lower/OpenMP/task.f90
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir

  Log Message:
  -----------
  [flang][mlir][llvm][OpenMP] Add lowering and translation support for mergeable clause on task (#114662)

Add FIR generation and LLVMIR translation support for mergeable clause
on task construct. If mergeable clause is present on a task, the
relevant flag in `ompt_task_flag_t` is set and passed to
`__kmpc_omp_task_alloc`.


  Commit: d471c85e654ad0111cdffe588b2b958b62eca29f
      https://github.com/llvm/llvm-project/commit/d471c85e654ad0111cdffe588b2b958b62eca29f
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2024-11-26 (Tue, 26 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] Update int range inference for `arith.xori` (#117272)

Previous impl was getting incorrect results for widths > i1 and was
disabled.

While same algorithm can be used for `andi` and `ori` too, without
additional modifications it will produce less precise result.


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

  Changed paths:
    M llvm/lib/Target/X86/X86ScheduleZnver4.td
    M llvm/test/tools/llvm-mca/X86/Znver4/resources-avx1.s
    M llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s
    M llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bw.s
    M llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vl.s
    M llvm/test/tools/llvm-mca/X86/Znver4/resources-sse41.s

  Log Message:
  -----------
  [MCA][X86] Cleanup znver4 instregex patterns for (V)PMOV extension/truncation instructions

Split extension/truncation patterns to simplify matching.

Fix patterns to consistently match SSE/AVX1/AVX2 variants as well.

Add some missing src/dst type variants - there should be no difference in scheduling, its purely based on dst reg width.

Confirmed with Agner/uops.info

Noticed while triaging #110308


  Commit: 4a7b56e6e7dd0f83c379ad06b6e81450bc691ba6
      https://github.com/llvm/llvm-project/commit/4a7b56e6e7dd0f83c379ad06b6e81450bc691ba6
  Author: lorenzo chelini <l.chelini at icloud.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M mlir/include/mlir/Conversion/ArithCommon/AttrToLLVMConverter.h
    M mlir/include/mlir/Dialect/Arith/IR/ArithBase.td
    M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
    M mlir/include/mlir/Dialect/Arith/IR/ArithOpsInterfaces.td
    M mlir/include/mlir/IR/Matchers.h
    M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
    M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
    M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/test/CAPI/ir.c
    M mlir/test/Dialect/Arith/canonicalize.mlir
    M mlir/test/Dialect/Arith/ops.mlir
    M mlir/test/Dialect/Linalg/invalid.mlir

  Log Message:
  -----------
  [MLIR][Arith] Add denormal attribute to binary/unary operations (#112700)

Add support for denormal in the Arith dialect (binary and unary
operations).
Denormal are attached to every operation, and they can be of three
different
kinds:

1) ieee, denormal are preserved and processed as defined by IEEE 754
rules.

2) preserve sign, a mode where denormal numbers are flushed to zero, but
the
sign of the zero (+0 or -0) is preserved.

3) positive zero, a mode where all denormal numbers are flushed to
positive zero
(+0), ignoring the sign of the original number.

Denormal refers to both the operands and the result. Currently only
lowering for
ieee is supported.


  Commit: 486644723038555a224fd09d462bb5099e64809e
      https://github.com/llvm/llvm-project/commit/486644723038555a224fd09d462bb5099e64809e
  Author: Vladislav Belov <vladislav.belov at syntacore.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/CXXInheritance.cpp
    M clang/test/CXX/drs/cwg5xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [Clang] Fix name lookup for dependent bases (#114978)

Currently the following example is a compilation failure: 
```cpp
template<typename T> struct A {
    typedef int M;
    struct B {
      typedef void M;
      struct C;
    };
};

template<typename T> struct A<T>::B::C : A<T> {
    M m; // void or int ?
};
```

According to the point 13.8.3.2

```
A dependent base class is a base class that is a dependent type and is not the current instantiation.
Note 2 : A base class can be the current instantiation in the case of a nested class naming an enclosing class as a base.
```

The base class `A` is the current instantiation, because `C` is a nested
class for an enclosing class `A<T>`, it's is the not-dependent base
class and we need to search the names through its scope.

This patch makes this example compile


  Commit: ec4c47d9490c90a98f2dda3fc9ff7c51782678f8
      https://github.com/llvm/llvm-project/commit/ec4c47d9490c90a98f2dda3fc9ff7c51782678f8
  Author: ykiko <ykikoykikoykiko at gmail.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Sema/SemaCodeComplete.cpp
    A clang/test/CodeCompletion/keywords-cxx20.cpp

  Log Message:
  -----------
  Add code completion for C++20 keywords. (#107982)

This commit adds code completion for C++20 keywords, fix
https://github.com/llvm/llvm-project/issues/107868.

1. complete `concept` in template context
    - [x] `template<typename T> conce^` -> `concept`
    - [ ] `conce^`

2. complete `requires` 
- [x] constraints in template context: `template<typename T> requi^` ->
`requires`
- [x] requires expression: `int x = requ^` -> `requires (parameters) {
requirements }`
- [x] nested requirement: `requires { requ^ }` -> `requires expression
;`

3. complete coroutine keywords
    - [x] `co_await^` in expression: `co_aw^` -> `co_await expression;`
- [x] `co_yield` in function body: `co_yi^` -> `co_yield expression;`
- [x] `co_return` in function body: `co_re^` -> `co_return expression;`

4. specifiers: `char8_t`, `consteval`, `constinit`


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

  Changed paths:
    M llvm/lib/Target/X86/X86ScheduleZnver4.td
    M llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s
    M llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bw.s

  Log Message:
  -----------
  [MCA][X86] Fix throughput of (V)PMOV extension/truncation 512-bit instructions

znver4 512-bit instructions are half rate of 128/256-bit variants (still 1uop though)

Confirmed with Agner/uops.info

Noticed while triaging #110308 and #117579


  Commit: 827ebf84e9af7c93a30daf4ed17e99ccef4cf94a
      https://github.com/llvm/llvm-project/commit/827ebf84e9af7c93a30daf4ed17e99ccef4cf94a
  Author: c8ef <c8ef at outlook.com>
  Date:   2024-11-26 (Tue, 26 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/CodeGen/builtins-elementwise-math.c
    M clang/test/Sema/constant_builtins_vector.cpp

  Log Message:
  -----------
  [clang] constexpr built-in elementwise popcount function. (#117473)

Part of #51787.

This patch adds constexpr support for the built-in elementwise popcount
function.


  Commit: f94bd3c933076500b9291009d8cb5e1139c52a06
      https://github.com/llvm/llvm-project/commit/f94bd3c933076500b9291009d8cb5e1139c52a06
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    R llvm/test/CodeGen/RISCV/machine-outliner-call.ll
    M llvm/test/CodeGen/RISCV/machine-outliner-cfi.mir
    M llvm/test/CodeGen/RISCV/machine-outliner-leaf-descendants.ll
    M llvm/test/CodeGen/RISCV/machine-outliner-patchable.ll
    M llvm/test/CodeGen/RISCV/machine-outliner-position.mir
    R llvm/test/CodeGen/RISCV/machineoutliner-x5.mir
    M llvm/test/CodeGen/RISCV/machineoutliner.mir

  Log Message:
  -----------
  Revert "[RISCV] Implement tail call optimization in machine outliner" (#117710)

Reverts llvm/llvm-project#115297
Bots are broken


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

  Changed paths:
    M mlir/unittests/IR/AffineMapTest.cpp

  Log Message:
  -----------
  [mlir][unittest][nfc] Simplify `getInversePermutation` (#117698)


  Commit: 5322415f92fe44a9dac29c95da5ed434efbbba7e
      https://github.com/llvm/llvm-project/commit/5322415f92fe44a9dac29c95da5ed434efbbba7e
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp

  Log Message:
  -----------
  [PowerPC] Use getSignedConstant() in SelectOptimalAddrMode()

All of these immediates are signed, as the surrounding comments
indicate. This fixes an assertion failure in
CodeGen/Generic/dag-combine-ossfuzz-crash.ll when run with a
powerpc-aix triple.


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaOverload.cpp
    A clang/test/AST/ast-dump-cxx2b-deducing-this.cpp

  Log Message:
  -----------
  [Clang] use begin member expr location for call expr with deducing this (#117345)

Fixes #116928


  Commit: 65c36179be68dda0d1cc5d7e5c5b312a6b52cc0e
      https://github.com/llvm/llvm-project/commit/65c36179be68dda0d1cc5d7e5c5b312a6b52cc0e
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/Arena.cpp
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/Models/ChromiumCheckModel.cpp
    M clang/lib/Analysis/IntervalPartition.cpp
    M clang/lib/Analysis/UnsafeBufferUsage.cpp

  Log Message:
  -----------
  [clang][analysis][NFC]add static for internal linkage function (#117481)

Detected by misc-use-internal-linkage


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

  Changed paths:
    M llvm/test/Transforms/InstCombine/loadstore-metadata.ll

  Log Message:
  -----------
  [InstCombine] Add alias.scope & noalias metadata to test.


  Commit: f4379db49683a6b1d3d63b577985312556373c6f
      https://github.com/llvm/llvm-project/commit/f4379db49683a6b1d3d63b577985312556373c6f
  Author: tangaac <tangyan01 at loongson.cn>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Basic/Targets/LoongArch.cpp
    M clang/lib/Basic/Targets/LoongArch.h
    M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
    M clang/test/Driver/loongarch-march.c
    A clang/test/Driver/loongarch-mdiv32.c
    M clang/test/Preprocessor/init-loongarch.c
    M llvm/include/llvm/TargetParser/LoongArchTargetParser.def
    M llvm/include/llvm/TargetParser/LoongArchTargetParser.h
    M llvm/lib/Target/LoongArch/LoongArch.td
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/TargetParser/Host.cpp
    M llvm/lib/TargetParser/LoongArchTargetParser.cpp
    A llvm/test/CodeGen/LoongArch/ir-instruction/sdiv-udiv-srem-urem-div32.ll

  Log Message:
  -----------
  [LoongArch] Support LA V1.1 feature that div.w[u] and mod.w[u] instructions with inputs not signed-extended. (#116764)

Two options for clang
-mdiv32: Use div.w[u] and mod.w[u] instructions with input not
sign-extended.
-mno-div32: Do not use div.w[u] and mod.w[u] instructions with input not
sign-extended.
The default is -mno-div32.


  Commit: 537343dea4e65ddb837473c9349884e856664ad8
      https://github.com/llvm/llvm-project/commit/537343dea4e65ddb837473c9349884e856664ad8
  Author: Hans Wennborg <hans at chromium.org>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M bolt/include/bolt/Profile/DataAggregator.h
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/unittests/Core/CMakeLists.txt
    R bolt/unittests/Core/MemoryMaps.cpp
    M llvm/utils/gn/secondary/bolt/unittests/Core/BUILD.gn

  Log Message:
  -----------
  Revert "[BOLT] DataAggregator support for binaries with multiple text segments (#92815)"

This caused test failures, see comment on the PR:

  Failed Tests (2):
    BOLT-Unit :: Core/./CoreTests/AArch64/MemoryMapsTester/MultipleSegmentsMismatchedBaseAddress/0
    BOLT-Unit :: Core/./CoreTests/X86/MemoryMapsTester/MultipleSegmentsMismatchedBaseAddress/0

> When a binary has multiple text segments, the Size is computed as the
> difference of the last address of these segments from the BaseAddress.
> The base addresses of all text segments must be the same.
>
> Introduces flag 'perf-script-events' for testing. It allows passing perf events
> without BOLT having to parse them using 'perf script'. The flag is used to
> pass a mock perf profile that has two memory mappings for a mock binary
> that has two text segments. The size of the mapping is updated as this
> change `parseMMapEvents` processes all text segments.

This reverts commit 4b71b3782d217db0138b701c4514bd2168ca1659.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/SystemZ/revec-fix-117393.ll

  Log Message:
  -----------
  [SLP][REVEC] getScalarizationOverhead should not be used when ScalarTy is FixedVectorType. (#117536)


  Commit: 59b3630e032d7e92079667891e7cf585c7fe313d
      https://github.com/llvm/llvm-project/commit/59b3630e032d7e92079667891e7cf585c7fe313d
  Author: Victor Perez <victor.perez at codeplay.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVIntelExtOps.td
    M mlir/test/Conversion/SPIRVToLLVM/barrier-ops-to-llvm.mlir
    M mlir/test/Dialect/SPIRV/IR/intel-ext-ops.mlir
    M mlir/test/Target/SPIRV/intel-ext-ops.mlir

  Log Message:
  -----------
  [MLIR][SPIR-V] Drop commas from split barrier operations ASM format (#116673)

Drop commas from split barrier operations assembly format.

Signed-off-by: Victor Perez <victor.perez at codeplay.com>


Depends on #116648, review ec8d35471602cd88aa2ebaf239b698ef3ba353bd
only.

---------

Signed-off-by: Victor Perez <victor.perez at codeplay.com>


  Commit: 619e4b7154606f315572ba54c0fe6c1f6c8848a0
      https://github.com/llvm/llvm-project/commit/619e4b7154606f315572ba54c0fe6c1f6c8848a0
  Author: 7FM <chill_dein_leben at gmx.de>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
    M mlir/test/Dialect/Arith/canonicalize.mlir

  Log Message:
  -----------
  [MLIR][Arith] SelectOp fix invalid folding (#117555)

The pattern `select %x, true, false => %x` is only valid in case that
the return type is identical to the type of `%x` (i.e., i1). Hence, the
check `isInteger(1)` was replaced with `isSignlessInteger(1)`.

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


  Commit: f4d758634305304c0deb49a4ed3f99180a2488ea
      https://github.com/llvm/llvm-project/commit/f4d758634305304c0deb49a4ed3f99180a2488ea
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMInterfaces.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
    M mlir/lib/Dialect/Shape/IR/Shape.cpp
    M mlir/lib/IR/Operation.cpp
    M mlir/lib/IR/TypeUtilities.cpp
    M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
    M mlir/tools/mlir-tblgen/BytecodeDialectGen.cpp

  Log Message:
  -----------
  [mlir] Use `llvm::filter_to_vector`. NFC. (#117655)

This got recently added to SmallVectorExtras:
https://github.com/llvm/llvm-project/pull/117460.


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

  Changed paths:
    M llvm/include/llvm/IR/ConstantRangeList.h
    M llvm/include/llvm/IR/Metadata.h
    M llvm/lib/IR/ConstantRangeList.cpp
    M llvm/lib/IR/Metadata.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    A llvm/test/Transforms/EarlyCSE/noalias-addrspace.ll
    M llvm/test/Transforms/SimplifyCFG/hoist-with-metadata.ll

  Log Message:
  -----------
  Local: Handle noalias_addrspace in combineMetadata (#103938)

This should act like range.

Previously ConstantRangeList assumed a 64-bit range. Now query from the
actual entries. This also means that the empty range has no bitwidth, so
move asserts to avoid checking the bitwidth of empty ranges.


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

  Changed paths:
    M llvm/lib/Transforms/Scalar/LICM.cpp
    M llvm/test/Transforms/LICM/hoist-metadata.ll
    M llvm/test/Transforms/LICM/hoisting-preheader-debugloc.ll

  Log Message:
  -----------
  [LICM] Only set AA metadata on hoisted load if it executes. (#117204)

https://github.com/llvm/llvm-project/pull/116220 clarified that
violations of aliasing metadata are UB.

Only set the AA metadata after hoisting a log, if it is guaranteed to
execute in the original loop.

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


  Commit: 9efdebc5f15e284dc7c58d327057ec8af9eed342
      https://github.com/llvm/llvm-project/commit/9efdebc5f15e284dc7c58d327057ec8af9eed342
  Author: Mészáros Gergely <gergely.meszaros at intel.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/test/SemaCXX/warn-unused-private-field.cpp

  Log Message:
  -----------
  [Clang] Only ignore special methods for unused private fields in BuildFieldReferenceExpr (#116965)

The original code assumed that only special methods might be defined as
defaulted. Since C++20 comparison operators might be defaulted too, and
we *do* want to consider those as using the fields of the class.

Fixes: #116961


  Commit: 624e52b1e310c349e21cc0b4f67452b0fa9d1f96
      https://github.com/llvm/llvm-project/commit/624e52b1e310c349e21cc0b4f67452b0fa9d1f96
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/test/DebugInfo/MIR/X86/dbg-prologue-backup-loc2.mir

  Log Message:
  -----------
  [DebugInfo] Handle trailing empty blocks when seeking prologue_end spot (#117320)

The optimiser will produce empty blocks that are unconditionally
executed according to the CFG -- while it may not be meaningful code,
and won't get a prologue_end position, we need to not crash on this
input.

The fault comes from assuming that there's always a next block with some
instructions in it, that will eventually produce some meaningful control
flow to stop at -- in the given reproducer in issue #117206 this isn't
true, because the function terminates with `unreachable`. Thus, I've
refactored the "get next instruction logic" into a helper that'll step
through all blocks and terminate if there aren't any more.

Reproducer from aeubanks


  Commit: db6f627f3fd4072fe1814805653a352694527a91
      https://github.com/llvm/llvm-project/commit/db6f627f3fd4072fe1814805653a352694527a91
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/TargetInfo.h
    M clang/lib/CodeGen/Targets/AArch64.cpp
    A clang/test/CodeGen/AArch64/sme-inline-callees-streaming-attrs.c

  Log Message:
  -----------
  [clang][SME] Ignore flatten/clang::always_inline statements for callees with mismatched streaming attributes (#116391)

If `__attribute__((flatten))` is used on a function, or
`[[clang::always_inline]]` on a statement, don't inline any callees with
incompatible streaming attributes. Without this check, clang may produce
incorrect code when these attributes are used in code with streaming
functions.

Note: The docs for flatten say it can be ignored when inlining is
impossible: "causes calls within the attributed function to be inlined
unless it is impossible to do so".

Similarly, the (clang-only) `[[clang::always_inline]]` statement
attribute is more relaxed than the GNU `__attribute__((always_inline))`
(which says it should error it if it can't inline), saying only "If a
statement is marked [[clang::always_inline]] and contains calls, the
compiler attempts to inline those calls.". The docs also go on to show
an example of where `[[clang::always_inline]]` has no effect.


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

  Changed paths:
    M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
    M mlir/include/mlir/Dialect/ArmNeon/ArmNeon.td
    M mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEOps.td
    M mlir/include/mlir/Dialect/ArmSVE/IR/ArmSVE.td
    M mlir/include/mlir/Dialect/NVGPU/IR/NVGPU.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/include/mlir/IR/CommonTypeConstraints.td
    M mlir/test/lib/Dialect/Test/TestOps.td

  Log Message:
  -----------
  [mlir][vector] Rename vector type TD definitions (nfc) (#117150)

Currently, the Vector dialect TD file includes the following "vector"
type definitions:

```mlir
def AnyVector : VectorOf<[AnyType]>;
def AnyVectorOfAnyRank : VectorOfAnyRankOf<[AnyType]>;
def AnyFixedVector : FixedVectorOf<[AnyType]>;
def AnyScalableVector : ScalableVectorOf<[AnyType]>;
```

In short:

  * `AnyVector` _excludes_ 0-D vectors.
  * `AnyVectorOfAnyRank`, `AnyFixedVector`, and `AnyScalableVector`
    _include_ 0-D vectors.

The naming for "groups" that include 0-D vectors is inconsistent and can
be misleading, and `AnyVector` implies that 0-D vectors are included,
which is not the case.

This patch renames these definitions for clarity:

```mlir
def AnyVectorOfNonZeroRank : VectorOfNonZeroRankOf<[AnyType]>;
def AnyVectorOfAnyRank : VectorOfAnyRankOf<[AnyType]>;
def AnyFixedVectorOfAnyRank : FixedVectorOfAnyRank<[AnyType]>;
def AnyScalableVectorOfAnyRank : ScalableVectorOfAnyRank<[AnyType]>;
```

Rationale:
* The updated names are more explicit about 0-D vector support.
* It becomes clearer that scalable vectors currently allow 0-D vectors -
  this might warrant a revisit.
* The renaming paves the way for adding a new group for "fixed-width
  vectors excluding 0-D vectors" (e.g., AnyFixedVector), which I plan to
  introduce in a follow-up patch.


  Commit: 7577284c4f3cb81a8ac648683bd3af292827391f
      https://github.com/llvm/llvm-project/commit/7577284c4f3cb81a8ac648683bd3af292827391f
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

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

  Log Message:
  -----------
  [OpenACC][NFC] Update varlist-ast test to check serialization

I noticed while working on another test that I never used the PCH
trickery to get this to validate that serialization/deserialization
works correctly.  It DOES, but we weren't testing it with this test like
the others.


  Commit: 80df56e03b0455382cec51557bfc9f099d5c0a6f
      https://github.com/llvm/llvm-project/commit/80df56e03b0455382cec51557bfc9f099d5c0a6f
  Author: Mark Goncharov <110403898+mga-sc at users.noreply.github.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/test/CodeGen/RISCV/compress-opt-select.ll
    A llvm/test/CodeGen/RISCV/machine-outliner-call.ll
    M llvm/test/CodeGen/RISCV/machine-outliner-cfi.mir
    M llvm/test/CodeGen/RISCV/machine-outliner-leaf-descendants.ll
    M llvm/test/CodeGen/RISCV/machine-outliner-patchable.ll
    M llvm/test/CodeGen/RISCV/machine-outliner-position.mir
    A llvm/test/CodeGen/RISCV/machineoutliner-x5.mir
    M llvm/test/CodeGen/RISCV/machineoutliner.mir

  Log Message:
  -----------
  Reapply "[RISCV] Implement tail call optimization in machine outliner" (#117700)

This MR fixes failed test `CodeGen/RISCV/compress-opt-select.ll`.

It was failed due to previously merged commit `[TTI][RISCV]
Unconditionally break critical edges to sink ADDI (PR #108889)`.

So, regenerated `compress-opt-select` test.


  Commit: f7dc1d0ac83b7c6b691167d8d02561ba0837b631
      https://github.com/llvm/llvm-project/commit/f7dc1d0ac83b7c6b691167d8d02561ba0837b631
  Author: Anton Sidorenko <anton.sidorenko at syntacore.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/CXXInheritance.cpp
    M clang/test/CXX/drs/cwg5xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  Revert "[Clang] Fix name lookup for dependent bases (#114978)" (#117727)

This reverts commit 486644723038555a224fd09d462bb5099e64809e as
requested by the commit author.

Buildbots fail:
* https://lab.llvm.org/buildbot/#/builders/164/builds/4945
* https://lab.llvm.org/buildbot/#/builders/52/builds/4021


  Commit: 86f7f089ee6bcf01bf082ca802220b1143a3ade9
      https://github.com/llvm/llvm-project/commit/86f7f089ee6bcf01bf082ca802220b1143a3ade9
  Author: Miro Bucko <mbucko at meta.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M lldb/source/Core/PluginManager.cpp

  Log Message:
  -----------
  Fix return value of 'PluginManager::RegisterPlugin()'. (#114120)


  Commit: 88cff867a58247d0c1da19e537eb8801a54ed38e
      https://github.com/llvm/llvm-project/commit/88cff867a58247d0c1da19e537eb8801a54ed38e
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/select-value-equivalence.ll

  Log Message:
  -----------
  [InstCombine] Add tests for #113301 (NFC)


  Commit: ced2fc7819d5ddea616ec330f18e08ff284c1868
      https://github.com/llvm/llvm-project/commit/ced2fc7819d5ddea616ec330f18e08ff284c1868
  Author: Christopher Bate <cbate at nvidia.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M mlir/docs/Bufferization.md
    M mlir/include/mlir/Dialect/Bufferization/IR/BufferizationOps.td
    M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.td
    M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
    M mlir/lib/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.cpp
    M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
    M mlir/test/Dialect/Affine/loop-fusion-4.mlir
    M mlir/test/Dialect/Arith/bufferize.mlir
    M mlir/test/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation/dealloc-other.mlir
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-analysis.mlir
    A mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-encodings.mlir
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-partial.mlir
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize.mlir
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize-analysis.mlir
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize-force-copy-before-write.mlir
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize-invalid.mlir
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize.mlir
    M mlir/test/Dialect/Bufferization/canonicalize.mlir
    M mlir/test/Dialect/Bufferization/ops.mlir
    M mlir/test/Dialect/ControlFlow/one-shot-bufferize.mlir
    M mlir/test/Dialect/Linalg/bufferize.mlir
    M mlir/test/Dialect/Linalg/canonicalize.mlir
    M mlir/test/Dialect/MemRef/normalize-memrefs.mlir
    M mlir/test/Dialect/SCF/bufferize.mlir
    A mlir/test/Dialect/SCF/one-shot-bufferize-encodings.mlir
    M mlir/test/Dialect/Shape/bufferize.mlir
    M mlir/test/Dialect/SparseTensor/GPU/gpu_matmul24_lib.mlir
    M mlir/test/Dialect/SparseTensor/GPU/gpu_matmul_lib.mlir
    M mlir/test/Dialect/SparseTensor/GPU/gpu_matvec_lib.mlir
    M mlir/test/Dialect/SparseTensor/GPU/gpu_sampled_matmul_lib.mlir
    M mlir/test/Dialect/SparseTensor/GPU/gpu_sddmm_lib.mlir
    M mlir/test/Dialect/SparseTensor/constant_index_map.mlir
    M mlir/test/Dialect/SparseTensor/dense.mlir
    M mlir/test/Dialect/SparseTensor/fuse_sparse_pad_with_consumer.mlir
    M mlir/test/Dialect/SparseTensor/sorted_coo.mlir
    M mlir/test/Dialect/SparseTensor/sparse_1d.mlir
    M mlir/test/Dialect/SparseTensor/sparse_2d.mlir
    M mlir/test/Dialect/SparseTensor/sparse_3d.mlir
    M mlir/test/Dialect/SparseTensor/sparse_affine.mlir
    M mlir/test/Dialect/SparseTensor/sparse_batch.mlir
    M mlir/test/Dialect/SparseTensor/sparse_fp_ops.mlir
    M mlir/test/Dialect/SparseTensor/sparse_fusion.mlir
    M mlir/test/Dialect/SparseTensor/sparse_int_ops.mlir
    M mlir/test/Dialect/SparseTensor/sparse_kernels.mlir
    M mlir/test/Dialect/SparseTensor/sparse_kernels_to_iterator.mlir
    M mlir/test/Dialect/SparseTensor/sparse_lower.mlir
    M mlir/test/Dialect/SparseTensor/sparse_lower_col.mlir
    M mlir/test/Dialect/SparseTensor/sparse_lower_inplace.mlir
    M mlir/test/Dialect/SparseTensor/sparse_nd.mlir
    M mlir/test/Dialect/SparseTensor/sparse_outbuf.mlir
    M mlir/test/Dialect/SparseTensor/sparse_pack.mlir
    M mlir/test/Dialect/SparseTensor/sparse_parallel_reduce.mlir
    M mlir/test/Dialect/SparseTensor/sparse_perm.mlir
    M mlir/test/Dialect/SparseTensor/sparse_perm_lower.mlir
    M mlir/test/Dialect/SparseTensor/sparse_scalars.mlir
    M mlir/test/Dialect/SparseTensor/sparse_sddmm.mlir
    M mlir/test/Dialect/SparseTensor/sparse_sddmm_org.mlir
    M mlir/test/Dialect/SparseTensor/sparse_vector_chain.mlir
    M mlir/test/Dialect/SparseTensor/sparse_vector_index.mlir
    M mlir/test/Dialect/SparseTensor/spy_sddmm.mlir
    M mlir/test/Dialect/SparseTensor/spy_sddmm_bsr.mlir
    M mlir/test/Dialect/SparseTensor/unused-tensor.mlir
    M mlir/test/Dialect/SparseTensor/vectorize_reduction.mlir
    M mlir/test/Dialect/Tensor/bufferize.mlir
    A mlir/test/Dialect/Tensor/one-shot-bufferize-encodings.mlir
    M mlir/test/Dialect/Tensor/one-shot-bufferize.mlir
    M mlir/test/Dialect/Vector/bufferize.mlir
    M mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/sparse-matvec-const.mlir
    M mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/sparse-mma-2-4-f16.mlir
    M mlir/test/Integration/Dialect/Tosa/CPU/test-maxpool-dynamic.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/AMX/mulf-full.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/AMX/muli-full.mlir

  Log Message:
  -----------
  [mlir][bufferization] Fix OneShotBufferize when `defaultMemorySpaceFn` is used (#91524)

As described in issue llvm/llvm-project#91518, a previous PR
llvm/llvm-project#78484 introduced the `defaultMemorySpaceFn` into
bufferization options, allowing one to inform OneShotBufferize that it
should use a specified function to derive the memory space attribute
from the encoding attribute attached to tensor types.

However, introducing this feature exposed unhandled edge cases,
examples of which are introduced by this change in the new test under

`test/Dialect/Bufferization/Transforms/one-shot-bufferize-encodings.mlir`.

Fixing the inconsistencies introduced by `defaultMemorySpaceFn` is
pretty simple. This change:

- Updates the `bufferization.to_memref` and `bufferization.to_tensor`
  operations to explicitly include operand and destination types,
  whereas previously they relied on type inference to deduce the
  tensor types. Since the type inference cannot recover the correct
  tensor encoding/memory space, the operand and result types must be
  explicitly included. This is a small assembly format change, but it
  touches a large number of test files.

- Makes minor updates to other bufferization functions to handle the
  changes in building the above ops.

- Updates bufferization of `tensor.from_elements` to handle memory
  space.


Integration/upgrade guide:

In downstream projects, if you have tests or MLIR files that explicitly
use
`bufferization.to_tensor` or `bufferization.to_memref`, then update
them to the new assembly format as follows:

```
%1 = bufferization.to_memref %0 : memref<10xf32>
%2 = bufferization.to_tensor %1 : memref<10xf32>
```

becomes

```
%1 = bufferization.to_memref %0 : tensor<10xf32> to memref<10xf32>
%2 = bufferization.to_tensor %0 : memref<10xf32> to tensor<10xf32> 
```


  Commit: 2a0162c0193a73ef16aee67dbe66abb9d2e4717c
      https://github.com/llvm/llvm-project/commit/2a0162c0193a73ef16aee67dbe66abb9d2e4717c
  Author: SpencerAbson <Spencer.Abson at arm.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_extq.c
    M clang/test/Sema/aarch64-sve2p1-intrinsics/acle_sve2p1_imm.cpp
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-extq.ll

  Log Message:
  -----------
  [AArch64][SVE] Change the immediate argument in svextq (#115340)

In order to align with `svext` and NEON `vext`/`vextq`, this patch
changes immediate argument in `svextq` such that it refers to elements
of the size of those of the source vector, rather than bytes. The [spec
for this
intrinsic](https://github.com/ARM-software/acle/blob/main/main/acle.md#extq)
is ambiguous about the meaning of this argument, this issue was raised
after there was a differing interpretation for it from the implementers
of the ACLE in GCC.

For example (with our current implementation):

`svextq_f64(zn_f64, zm_f64, 1)` would, for each 128-bit segment of
`zn_f64,` concatenate the highest 15 bytes of this segment with the
first byte of the corresponding segment of `zm_f64`.

After this patch, the behavior of `svextq_f64(zn_f64, zm_f64, 1)` would
be, for each 128-bit vector segment of `zn_f64`, to concatenate the
higher doubleword of this segment with the lower doubleword of the
corresponding segment of `zm_f64`.

The range of the immediate argument in `svextq` would be modified such
that it is:
- [0,15] for `svextq_{s8,u8}`
- [0,7] for `svextq_{s16,u16,f16,bf16}`
- [0,3] for `svextq_{s32,u32,f32}`
- [0,1] for `svextq_{s64,u64,f64}`


  Commit: bf440f75b485e4ea7f809dc37df74cac140069fd
      https://github.com/llvm/llvm-project/commit/bf440f75b485e4ea7f809dc37df74cac140069fd
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td

  Log Message:
  -----------
  [Clang][NFC] Remove trailing whitespace from Attr{,Docs}.td


  Commit: b1a34b80b83156540519110cc798969dcfe1aec9
      https://github.com/llvm/llvm-project/commit/b1a34b80b83156540519110cc798969dcfe1aec9
  Author: Zaara Syeda <syzaara at ca.ibm.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M llvm/test/CodeGen/PowerPC/gcov_ctr_ref_init.ll

  Log Message:
  -----------
  [NFC][Test] Fix PowerPC test gcov_ctr_ref_init.ll (#117577)


  Commit: c55a080c080ed76a9aabe6dcd1966fedc0ecda5a
      https://github.com/llvm/llvm-project/commit/c55a080c080ed76a9aabe6dcd1966fedc0ecda5a
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

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

  Log Message:
  -----------
  [RISCV] Add shuffle coverage for compress, decompress, and repeat idioms

compress is intented to match vcompress from the ISA manual. Note that
  deinterleave is a subset of this, and is already tested elsewhere.

decompress is the synthetic pattern defined in same - though we can often
  do better than the mentioned iota/vrgather.  Note that some of these
  can also be expressed as interleave with at least one undef source,
  and is already tested elsewhere.

repeat repeats each input element N times in the output.  It can be
  described as as a interleave operations, but we can sometimes do
  better lowering wise.


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

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch-reg.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i32_system.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i64.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i64_system.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i64_system_noprivate.ll
    M llvm/test/CodeGen/AMDGPU/fmaximum.ll
    M llvm/test/CodeGen/AMDGPU/fmaxnum.ll
    M llvm/test/CodeGen/AMDGPU/fminimum.ll
    M llvm/test/CodeGen/AMDGPU/fminnum.ll
    M llvm/test/CodeGen/AMDGPU/fmul.ll
    M llvm/test/CodeGen/AMDGPU/fp-atomics-gfx950.ll
    M llvm/test/CodeGen/AMDGPU/global-alias.ll
    M llvm/test/CodeGen/AMDGPU/global-smrd-unknown.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
    M llvm/test/CodeGen/AMDGPU/idot2.ll
    M llvm/test/CodeGen/AMDGPU/idot4s.ll
    M llvm/test/CodeGen/AMDGPU/idot4u.ll
    M llvm/test/CodeGen/AMDGPU/idot8s.ll
    M llvm/test/CodeGen/AMDGPU/idot8u.ll
    M llvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll
    M llvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
    M llvm/test/CodeGen/AMDGPU/load-global-f32.ll
    M llvm/test/CodeGen/AMDGPU/load-global-f64.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i1.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i32.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i64.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i8.ll

  Log Message:
  -----------
  AMDGPU: Remove some -verify-machineinstrs from tests (#117736)

We should leave these for EXPENSIVE_CHECKS builds. Some of these
were near the top of slowest tests.


  Commit: 4ab298b5fbc8f48387062b2dd99ea07127c02e6b
      https://github.com/llvm/llvm-project/commit/4ab298b5fbc8f48387062b2dd99ea07127c02e6b
  Author: Jacob Lalonde <jalalonde at fb.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M lldb/source/Plugins/Process/elf-core/ThreadElfCore.h

  Log Message:
  -----------
  [LLDB][ThreadELFCore] Set all the properties of ELFLinuxSigInfo to a non build dependent size (#117604)

On #110065 the changes to LinuxSigInfo Struct introduced some variables
that will differ in size on 32b or 64b. I've rectified this by setting
them all to build independent types.


  Commit: 5fd4f32f985f83414d82a1c2c55741e363693352
      https://github.com/llvm/llvm-project/commit/5fd4f32f985f83414d82a1c2c55741e363693352
  Author: Zhengxing li <zhengxingli at microsoft.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Sema/SemaHLSL.h
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/Parse/ParseHLSL.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    A clang/test/CodeGenHLSL/semantics/SV_GroupID.hlsl
    M clang/test/SemaHLSL/Semantics/entry_parameter.hlsl
    M clang/test/SemaHLSL/Semantics/invalid_entry_parameter.hlsl
    M clang/test/SemaHLSL/Semantics/valid_entry_parameter.hlsl

  Log Message:
  -----------
  [HLSL] Implement SV_GroupID semantic (#115911)

Support SV_GroupID attribute.
Translate it into dx.group.id in clang codeGen.

Fixes: #70120


  Commit: 78c7024640a5b511685c445f554b7d985a7cf286
      https://github.com/llvm/llvm-project/commit/78c7024640a5b511685c445f554b7d985a7cf286
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/test/AST/ast-print-openacc-combined-construct.cpp
    M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
    M clang/test/SemaOpenACC/combined-construct-default-clause.c
    A clang/test/SemaOpenACC/combined-construct-present-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-present-clause.c
    A clang/test/SemaOpenACC/combined-construct-present-clause.cpp

  Log Message:
  -----------
  [OpenACC] Implement 'present' for combined constructs.

This is another clause where the parsing does all the required
enforcement besides the construct it appertains to, so this patch
removes the restriction and adds sufficient test coverage for combined
constructs.


  Commit: 5683fc5cc043d1f43294bc57e04a901ad8cafcf5
      https://github.com/llvm/llvm-project/commit/5683fc5cc043d1f43294bc57e04a901ad8cafcf5
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn

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


  Commit: 752ef93392b2d049064dc77087bf414d69283cfc
      https://github.com/llvm/llvm-project/commit/752ef93392b2d049064dc77087bf414d69283cfc
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M llvm/test/MC/AArch64/local-bounds-single-trap.ll

  Log Message:
  -----------
  [NFC][clang] Fix header comment in llvm/test/MC/AArch64/local-bounds-single-trap.ll (#117642)

llvm/test/MC/AArch64/local-bounds-single-trap.ll was introduced in
https://github.com/llvm/llvm-project/pull/65972 to demonstrate that
nomerge did not work properly, which is documented in the header
comment.

https://github.com/llvm/llvm-project/pull/101549 fixed nomerge for trap
builtins and
https://github.com/llvm/llvm-project/commit/ae6dc64ec670891cb15049277e43133d4df7fb4b
updated the test assertions, but not the header comment. This patch
updates the header comment accordingly.


  Commit: 5bdcaf1a0804799106bc864215ba03af4b762966
      https://github.com/llvm/llvm-project/commit/5bdcaf1a0804799106bc864215ba03af4b762966
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M llvm/docs/GitHub.rst

  Log Message:
  -----------
  [github] Document the process for requesting the CI/CD role (#115321)

See https://discourse.llvm.org/t/rfc-proposing-a-new-ci-cd-admin-for-the-project


  Commit: 44ef12b020c07d195519d0613d21f3b8ab29a22d
      https://github.com/llvm/llvm-project/commit/44ef12b020c07d195519d0613d21f3b8ab29a22d
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    A libcxx/test/std/containers/sequences/vector/addressof.compile.pass.cpp
    R libcxx/test/std/containers/sequences/vector/vector.cons/assign_copy.addressof.compile.pass.cpp
    R libcxx/test/std/containers/sequences/vector/vector.cons/assign_move.addressof.compile.pass.cpp
    R libcxx/test/std/containers/sequences/vector/vector.cons/move.addressof.compile.pass.cpp
    R libcxx/test/std/containers/sequences/vector/vector.modifiers/emplace.addressof.compile.pass.cpp
    R libcxx/test/std/containers/sequences/vector/vector.modifiers/erase_iter.addressof.compile.pass.cpp
    R libcxx/test/std/containers/sequences/vector/vector.modifiers/erase_iter_iter.addressof.compile.pass.cpp
    R libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_iter_iter_iter.addressof.compile.pass.cpp
    R libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_iter_rvalue.addressof.compile.pass.cpp
    R libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_iter_size_value.addressof.compile.pass.cpp
    R libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_iter_value.addressof.compile.pass.cpp
    R libcxx/test/std/containers/sequences/vector/vector.special/swap.addressof.compile.pass.cpp

  Log Message:
  -----------
  [libc++] Refactor tests for hijacked address operator in vector (#117457)

This reduces the amount of boilerplate needed to implement the tests.


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/CodeGen/AMDGPU/fmaximum3.ll
    M llvm/test/CodeGen/AMDGPU/fminimum3.ll
    M llvm/test/CodeGen/AMDGPU/llvm.maximum.f32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.minimum.f32.ll

  Log Message:
  -----------
  AMDGPU: Legalize fminimum and fmaximum f32 for gfx950 (#117634)

Select to minimum3/maximum3. Leave f16/v2f16 for later
since it's complicated by only having the vector version.


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/fmaximum3.ll
    M llvm/test/CodeGen/AMDGPU/fminimum3.ll

  Log Message:
  -----------
  AMDGPU: Handle f32 minimum3/maximum3 pattern for gfx950 (#117737)


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    M llvm/test/CodeGen/AMDGPU/fmaximum3.ll
    M llvm/test/CodeGen/AMDGPU/fminimum3.ll
    M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll

  Log Message:
  -----------
  AMDGPU: Make v2f16 minimum/maximum legal for gfx950 (#117738)


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

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/test/CodeGenOpenCL/amdgpu-features.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx950-param.cl
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/TargetParser/TargetParser.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.gfx950.ll

  Log Message:
  -----------
  AMDGPU: Builtins & Codegen support for: v_cvt_scalef32_[f16|f32]_[bf8|fp8] (#117739)

OPSEL[1:0] collectively decide which byte to read
from src input.

Builtin takes additional imm argument which
represents index (with valid values:[0:3]) of src
byte read. Out of bounds checks will added in next
patch.

OPSEL ASM Syntax: opsel:[x,y,z]
where,
    opsel[x] = Inst{11} = src0_modifier{2}
    opsel[y] = Inst{12} = src1_modifier{2}
    opsel[z] = Inst{14} = src0_modifier{3}

Note: Inst{13} i.e. OPSEL[2] is ignored in
asm syntax and opsel[z] is meaningless
for v_cvt_scalef32_f32_{fp|bf}8

Co-authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>


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

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx950-param.cl
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.gfx950.ll

  Log Message:
  -----------
  AMDGPU: Builtins & Codegen support for v_cvt_scalef32_pk_{fp8|bf8}_f32 for gfx950 (#117740)

OPSEL[3] determines low/high 16 bits of word to write.

Co-authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>


  Commit: c9562b181cafafba104cccd7334ace1fd6aee5ac
      https://github.com/llvm/llvm-project/commit/c9562b181cafafba104cccd7334ace1fd6aee5ac
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

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

  Log Message:
  -----------
  [gn] port 3cb28522ba4c


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

  Changed paths:
    M libc/src/__support/threads/linux/CMakeLists.txt
    M libc/src/complex/generic/CMakeLists.txt
    M libc/src/pthread/CMakeLists.txt
    M libc/src/setjmp/riscv/CMakeLists.txt
    M libc/src/setjmp/x86_64/CMakeLists.txt
    M libc/src/signal/linux/CMakeLists.txt
    M libc/src/stdfix/CMakeLists.txt
    M libc/src/string/CMakeLists.txt
    M libc/src/threads/CMakeLists.txt
    M libc/test/src/math/smoke/LdExpTest.h

  Log Message:
  -----------
  [libc] suppress more clang-cl warnings (#117718)

- migrate more `-O3` to `${libc_opt_high_flag}`
- workaround a issue with `LLP64` in test. The overflow testing is
guarded by a constexpr but the literal overflow itself will still
trigger warnings.

Notice that for math smoke test, for some reasons, the
`${libc_opt_high_flag}` will be passed into `lld-link` which confuses
the linker so there are still some warnings leftover there. I can
investigate more when I have time.


  Commit: 0719b6d936d628c4c1765a9e700387ddd77759b9
      https://github.com/llvm/llvm-project/commit/0719b6d936d628c4c1765a9e700387ddd77759b9
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    R clang/test/AST/HLSL/AppendStructuredBuffer-AST.hlsl
    R clang/test/AST/HLSL/ConsumeStructuredBuffer-AST.hlsl
    R clang/test/AST/HLSL/RWBuffer-AST.hlsl
    R clang/test/AST/HLSL/RWStructuredBuffer-AST.hlsl
    R clang/test/AST/HLSL/RasterizerOrderedStructuredBuffer-AST.hlsl
    R clang/test/AST/HLSL/StructuredBuffer-AST.hlsl
    A clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
    A clang/test/AST/HLSL/TypedBuffers-AST.hlsl

  Log Message:
  -----------
  [HLSL][NFC] Refactor resource buffers AST tests (#117659)

This is a test-only change. This PR merges 5 tests for structured
buffers ASTs into one file with multiple run lines and check prefixes
because these tests have a lot of common output. It also renames
RWBuffer-AST.hlsl to TypedBuffers-AST.hlsl and makes it ready to include
testing of other typed buffers as well.

Fixes #115412


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

  Changed paths:
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/test/Transforms/GVN/noalias.ll
    M llvm/test/Transforms/InstCombine/loadstore-metadata.ll
    M llvm/test/Transforms/JumpThreading/thread-loads.ll
    M llvm/test/Transforms/NewGVN/noalias.ll

  Log Message:
  -----------
  [Local] Only intersect alias.scope,noalias & parallel_loop if inst moves (#117716)

Preserve !alias.scope, !noalias and !mem.parallel_loop_access 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 aliasing metadata
implying UB if the property does not hold: #116220

Same as #115868, but for !alias.scope, !noalias and
!mem.parallel_loop_access.


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


  Commit: cefc1b0c211fcc3f5528b72d5883f0c390d63e71
      https://github.com/llvm/llvm-project/commit/cefc1b0c211fcc3f5528b72d5883f0c390d63e71
  Author: Lee Wei <lee10202013 at gmail.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M llvm/test/Transforms/MemCpyOpt/aa-recursion-assertion-failure.ll
    M llvm/test/Transforms/MergedLoadStoreMotion/st_sink_debuginvariant.ll
    M llvm/test/Transforms/NewGVN/2010-03-31-RedundantPHIs.ll
    M llvm/test/Transforms/NewGVN/2010-05-08-OneBit.ll
    M llvm/test/Transforms/NewGVN/2011-04-27-phioperands.ll
    M llvm/test/Transforms/NewGVN/2012-05-22-PreCrash.ll
    M llvm/test/Transforms/NewGVN/basic-cyclic-opt.ll
    M llvm/test/Transforms/NewGVN/completeness.ll
    M llvm/test/Transforms/NewGVN/crash.ll
    M llvm/test/Transforms/NewGVN/deadstore.ll
    M llvm/test/Transforms/NewGVN/eliminate-ssacopy.ll
    M llvm/test/Transforms/NewGVN/metadata-nonnull.ll
    M llvm/test/Transforms/NewGVN/phi-of-ops-move-block.ll
    M llvm/test/Transforms/NewGVN/phi-of-ops-simplification-dependencies.ll
    M llvm/test/Transforms/NewGVN/pr25440.ll
    M llvm/test/Transforms/NewGVN/pr31594.ll
    M llvm/test/Transforms/NewGVN/pr31613.ll
    M llvm/test/Transforms/NewGVN/pr31682.ll
    M llvm/test/Transforms/NewGVN/pr32403.ll
    M llvm/test/Transforms/NewGVN/pr32838.ll
    M llvm/test/Transforms/NewGVN/pr32845.ll
    M llvm/test/Transforms/NewGVN/pr32897.ll
    M llvm/test/Transforms/NewGVN/pr32934.ll
    M llvm/test/Transforms/NewGVN/pr33014.ll
    M llvm/test/Transforms/NewGVN/pr33086.ll
    M llvm/test/Transforms/NewGVN/pr33116.ll
    M llvm/test/Transforms/NewGVN/pr33187.ll
    M llvm/test/Transforms/NewGVN/pr33204.ll
    M llvm/test/Transforms/NewGVN/pr33432.ll
    M llvm/test/Transforms/NewGVN/pr33720.ll
    M llvm/test/Transforms/NewGVN/pr34430.ll
    M llvm/test/Transforms/NewGVN/pr35074.ll
    M llvm/test/Transforms/NewGVN/pr42422-phi-of-ops.ll
    M llvm/test/Transforms/NewGVN/pr43441.ll
    M llvm/test/Transforms/NewGVN/pre-new-inst-xfail.ll
    M llvm/test/Transforms/NewGVN/predicates.ll
    M llvm/test/Transforms/NewGVN/refine-stores.ll
    M llvm/test/Transforms/NewGVN/unreachable_block_infinite_loop.ll

  Log Message:
  -----------
  [llvm] Remove `br i1 undef` from some regression tests [NFC] (#117292)

This PR removes tests with `br i1 undef` under
`llvm/tests/Transforms/MemCpyOpt, MergedLoadStoreMotion, NewGVN`.


  Commit: 5ce981e76da4094efd055ded54d1f756b1286f18
      https://github.com/llvm/llvm-project/commit/5ce981e76da4094efd055ded54d1f756b1286f18
  Author: Peng Liu <winner245 at hotmail.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M libcxx/include/__vector/vector.h
    M libcxx/test/std/containers/sequences/vector/vector.cons/exceptions.pass.cpp

  Log Message:
  -----------
  [libc++] Refactor vector move constructor with allocator (#116449)

This PR simplifies the implementation of std::vector's move constructor
with an alternative allocator by invoking __init_with_size() instead of
calling assign(), which ultimately calls __assign_with_size(). The
advantage of using __init_with_size() lies in its internal use of
an exception guard, which simplifies the code. Furthermore, from a
semantic standpoint, it is more intuitive for a constructor to call
an initialization function than an assignment function.


  Commit: 9118d3a564f271006b0d8aed0983f7ba025e77a0
      https://github.com/llvm/llvm-project/commit/9118d3a564f271006b0d8aed0983f7ba025e77a0
  Author: Peter Collingbourne <peter at pcc.me.uk>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

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

  Log Message:
  -----------
  gn build: Fix port of 3cb28522ba4c

COMPILER_RT_EXEC_OUTPUT_DIR is expected to be the path where
hwasan_symbolize is installed, i.e. the bin subdirectory of the
build directory, but we were incorrectly setting it to the install
location of the runtime libraries. Fix it.


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

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

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


  Commit: 8458bbe5947db75041579c7c1a0f7f79c8e992d9
      https://github.com/llvm/llvm-project/commit/8458bbe5947db75041579c7c1a0f7f79c8e992d9
  Author: Peng Liu <winner245 at hotmail.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M libcxx/include/__split_buffer

  Log Message:
  -----------
  [libc++] Fix capacity increase issue with `shrink_to_fit` for `__split_buffer` (#117720)

This PR fixes the issue where `__split_buffer::shrink_to_fit` may
unexpectedly increase the capacity, similar to the issue for
`std::vector` in #97895. The fix follows the same approach
used in #97895 for `std::vector`.


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

  Changed paths:
    M bolt/test/AArch64/data-at-0-offset.c
    M bolt/test/AArch64/double_jump.cpp
    M bolt/test/R_ABS.pic.lld.cpp
    M bolt/test/X86/double-jump.test
    M bolt/test/X86/dwarf5-df-inlined-subroutine-gc-sections-range.test
    M bolt/test/X86/jmp-optimization.test
    M bolt/test/X86/match-functions-with-call-graph.test
    M bolt/test/pie.test
    M bolt/test/runtime/X86/instrumentation-indirect.c
    M bolt/test/runtime/bolt-reserved.cpp

  Log Message:
  -----------
  [BOLT][test] enable GNU extensions, use C++ compiler, remove unnecessary target (#117043)

1. With a Clang that doesn't default to GNU extensions they need to be enabled explicitly.
2. The X86 directory lit config sets it already, there's no reason for this test to do it by itself.
3. The C frontend executable will fail if there's for example a Clang resource file for the C++ mode that sets C++-specific options:
```
+ /home/tambre/dev/llvm/build/bin/clang --target=x86_64-unknown-linux-gnu -fPIE -fuse-ld=lld -Wl,--unresolved-symbols=ignore-all -pie -fPIC -shared /home/tambre/dev/llvm/bolt/test/R_ABS.pic.lld.cpp -o /home/tambre/dev/llvm/build/tools/bolt/test/Output/R_ABS.pic.lld.cpp.tmp.so -Wl,-q -fuse-ld=lld
clang: warning: argument unused during compilation: '-pie' [-Wunused-command-line-argument]
error: invalid argument '-std=c23' not allowed with 'C++'
```


  Commit: 2d90af59084d842a343f9acf6ae7c1e61991873c
      https://github.com/llvm/llvm-project/commit/2d90af59084d842a343f9acf6ae7c1e61991873c
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M flang/lib/Parser/unparse.cpp
    A flang/test/Parser/OpenMP/bind-clause.f90

  Log Message:
  -----------
  [flang][OpenMP] Add unparsing of BIND clause argument (#117776)

Currently the argument of the BIND clause is not printed. This is likely
an omission in the original implementation.


  Commit: 1b68b33ac0b3c2c8bd2ab89fec4f516f622cebdf
      https://github.com/llvm/llvm-project/commit/1b68b33ac0b3c2c8bd2ab89fec4f516f622cebdf
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    A clang/test/CodeGen/ubsan-trap-merge.c

  Log Message:
  -----------
  [NFC][clang] Add ubsan-trap-merge.c test to show absence of nomerge (#117649)

This test (copied from https://github.com/llvm/llvm-project/pull/83470)
demonstrates that UBSan does not add the nomerge annotation. This is
significant because it can result in them being merged by the backend,
even when -ubsan-unique-traps is enabled.

N.B. https://github.com/llvm/llvm-project/pull/65972 (continuation of
https://reviews.llvm.org/D148654) had considered adding nomerge to
ubsantrap, but did not proceed with that because of
https://github.com/llvm/llvm-project/issues/53011.
https://github.com/llvm/llvm-project/pull/101549 fixed that limitation
("It sets nomerge flag for the node if the instruction has nomerge
arrtibute."); planned upcoming work
(https://github.com/llvm/llvm-project/pull/117651) will add nomerge for
ubsan.


  Commit: dde7f4d024d071d883cfb7812f31866e767b6ab9
      https://github.com/llvm/llvm-project/commit/dde7f4d024d071d883cfb7812f31866e767b6ab9
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    A llvm/test/CodeGen/X86/ubsan-trap-merge.ll
    A llvm/test/CodeGen/X86/ubsan-trap-nomerge.ll

  Log Message:
  -----------
  [NFC][clang] Add ubsan-trap-merge.ll test to show absence of nomerge considered harmful (#117657)

These testcases demonstrate that ubsan intrinsics are merged in the
backend iff nomerge is missing from ubsantrap intrinsics.

This is based on the observation and testcase by Vitaly Buka in
https://github.com/llvm/llvm-project/pull/83470.


  Commit: 81349b84eb0fd2d64f836ddbf3e28638d4a254b8
      https://github.com/llvm/llvm-project/commit/81349b84eb0fd2d64f836ddbf3e28638d4a254b8
  Author: Joel E. Denny <jdenny.ornl at gmail.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/tests/sanitizer_libc_test.cpp

  Log Message:
  -----------
  [sanitizer] Use /tmp/ not /tmp/dir/ in tests (#117759)

Tests fail if the user doesn't own /tmp/dir/. On hosts with multiple
users running the test suite, who owns /tmp/dir/ can become a race.


  Commit: c8bdb31ff66e8934060c60816c57925fdec42a2c
      https://github.com/llvm/llvm-project/commit/c8bdb31ff66e8934060c60816c57925fdec42a2c
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    R clang/test/CodeGen/ubsan-trap-merge.c

  Log Message:
  -----------
  Revert "[NFC][clang] Add ubsan-trap-merge.c test to show absence of nomerge" (#117804)

Reverts llvm/llvm-project#117649

Reason: buildbot breakage:
https://lab.llvm.org/buildbot/#/builders/144/builds/12581


  Commit: 8ffe63fb556915c041e8e9bc2d1bf4325f12ba26
      https://github.com/llvm/llvm-project/commit/8ffe63fb556915c041e8e9bc2d1bf4325f12ba26
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

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

  Log Message:
  -----------
  [nfc][asan] Fix typo in comment


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

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

  Log Message:
  -----------
  [memprof] Use IndexedMemProfRecord in MemProfReader (NFC) (#117613)

IndexedMemProfRecord contains a complete package of the MemProf
profile, including frames, call stacks, and records.  This patch
replaces the three member variables of MemProfReader with
IndexedMemProfRecord.

This transition significantly simplies both the constructor and the
final "take" method:

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

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


  Commit: 36a46d85e75e3be35c6b62002717f531b86d8368
      https://github.com/llvm/llvm-project/commit/36a46d85e75e3be35c6b62002717f531b86d8368
  Author: Omar Hossam <moar.ahmed at gmail.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/sys/syscall.h.def
    M libc/newhdrgen/yaml/sys/mman.yaml
    M libc/spec/linux.td
    M libc/src/sys/mman/CMakeLists.txt
    M libc/src/sys/mman/linux/CMakeLists.txt
    A libc/src/sys/mman/linux/process_mrelease.cpp
    A libc/src/sys/mman/process_mrelease.h
    M libc/test/src/sys/mman/linux/CMakeLists.txt
    A libc/test/src/sys/mman/linux/process_mrelease_test.cpp

  Log Message:
  -----------
  [libc] Implement process_mrelease. (#117503)

This PR addresses #110124.


  Commit: 9fde1a498f2dc97a737a3564cb427c6f2a7bfe6c
      https://github.com/llvm/llvm-project/commit/9fde1a498f2dc97a737a3564cb427c6f2a7bfe6c
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

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

  Log Message:
  -----------
  [HLSL] Forward arguments in BuiltinTypeMethodBuilder::callBuiltin. NFC (#117789)

Introduce BuiltinTypeMethodBuilder::PlaceHolder values and use them in
the callBuiltin method in order to specify how we want to forward
arguments and pass the resource handle to builtins.


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

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

  Log Message:
  -----------
  [memprof] Add a default constructor to Frame (#117790)

This patch adds a default constructor to Frame along with a use in
FrameIdConverter.

The real intent is to facilitate deserialization of YAML-based MemProf
format.  Note that the YAML parser default-constructs a struct and
then populates one field at a time.


  Commit: 7ae61a36f94679370b9c1b4b1a13999d23d38a0c
      https://github.com/llvm/llvm-project/commit/7ae61a36f94679370b9c1b4b1a13999d23d38a0c
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__memory/allocator_traits.h
    M libcxx/include/__memory/unique_ptr.h
    A libcxx/include/__type_traits/detected_or.h
    M libcxx/include/module.modulemap

  Log Message:
  -----------
  [libc++] Add __detected_or_t and use it to implement some of the allocator traits aliases (#115654)

This simplifies the implementation a bit, since we don't need a lot of
the `__has_x` classes anymore. We just need two template aliases to
implement the `allocator_traits` aliases now.


  Commit: 39601a6e5484de183bf525b7d0624e7890ccd8ab
      https://github.com/llvm/llvm-project/commit/39601a6e5484de183bf525b7d0624e7890ccd8ab
  Author: AdityaK <hiraditya at msn.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/test/Transforms/SimplifyCFG/switch-branch-fold-indirectbr-102351.ll

  Log Message:
  -----------
  Bail out jump threading on indirect branches only (#117778)

Remove check for PHI in pred as pointed out in #103688 
Reduced the testcase to remove redundant phi in pred

Fixes: #102351


  Commit: 47dbf359041299c5f19f82e7204c6c9675b6e69a
      https://github.com/llvm/llvm-project/commit/47dbf359041299c5f19f82e7204c6c9675b6e69a
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    A clang/test/CodeGen/ubsan-trap-merge.c

  Log Message:
  -----------
  Reapply "[NFC][clang] Add ubsan-trap-merge.c test to show absence of nomerge" (#117804) (#117805)

This reverts commit c8bdb31ff66e8934060c60816c57925fdec42a2c.

It was reverted because I forgot to update the auto-generated assertions
after adding the target triple.

Original commit message:

This test (copied from https://github.com/llvm/llvm-project/pull/83470)
demonstrates that UBSan does not add the nomerge annotation. This is
significant because it can result in them being merged by the backend,
even when -ubsan-unique-traps is enabled.

N.B. https://github.com/llvm/llvm-project/pull/65972 (continuation of
https://reviews.llvm.org/D148654) had considered adding nomerge to
ubsantrap, but did not proceed with that because of
https://github.com/llvm/llvm-project/issues/53011.
https://github.com/llvm/llvm-project/pull/101549 fixed that limitation
("It sets nomerge flag for the node if the instruction has nomerge
arrtibute."); planned upcoming work
(https://github.com/llvm/llvm-project/pull/117651) will add nomerge for
ubsan.


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

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

  Log Message:
  -----------
  [gn build] Port 7ae61a36f946


  Commit: 3372303188df0f7f8ac26e7ab610cf8b0f716d42
      https://github.com/llvm/llvm-project/commit/3372303188df0f7f8ac26e7ab610cf8b0f716d42
  Author: lntue <lntue at google.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/sys/syscall.h.def
    M libc/newhdrgen/yaml/sys/mman.yaml
    M libc/spec/linux.td
    M libc/src/sys/mman/CMakeLists.txt
    M libc/src/sys/mman/linux/CMakeLists.txt
    R libc/src/sys/mman/linux/process_mrelease.cpp
    R libc/src/sys/mman/process_mrelease.h
    M libc/test/src/sys/mman/linux/CMakeLists.txt
    R libc/test/src/sys/mman/linux/process_mrelease_test.cpp

  Log Message:
  -----------
  Revert "[libc] Implement process_mrelease." (#117807)

Reverts llvm/llvm-project#117503


  Commit: 3a8b28f69837f8502c7bce798509f8dadb314dcc
      https://github.com/llvm/llvm-project/commit/3a8b28f69837f8502c7bce798509f8dadb314dcc
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-11-26 (Tue, 26 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 ioctl interceptor (#117569)


  Commit: 3359806817d5d3a600e3f0bdae60ac3df1c85e7f
      https://github.com/llvm/llvm-project/commit/3359806817d5d3a600e3f0bdae60ac3df1c85e7f
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
    M mlir/test/Conversion/MemRefToLLVM/expand-then-convert-to-llvm.mlir
    M mlir/test/Conversion/MemRefToLLVM/memref-to-llvm.mlir

  Log Message:
  -----------
  [mlir][LLVM][MemRef] Lower assume_alignment with operand bundles (#117800)

Now that LLVM allows a operand bundle on assume calls to directly
specify alignment assumptions, change the lowering of
memref.assume_alignment to use that feature instead of the ptrtoint
method.

This makes LLVM's job easier and prevents issues when dealing with
cases where ptrtoint isn't a desired operation (like those with poiner
provenance)


  Commit: e84614833e52ce9a7bebfa8d0d1af3298b6977b9
      https://github.com/llvm/llvm-project/commit/e84614833e52ce9a7bebfa8d0d1af3298b6977b9
  Author: Pradeep Kumar <pradeepku at nvidia.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    A llvm/test/CodeGen/NVPTX/div.ll

  Log Message:
  -----------
  [LLVM][NVPTX] Add support for div.full instruction (#116482)

This commit adds NVPTX support for div.full PTX instruction with test
under div.ll. [For more information, see PTX
ISA](https://docs.nvidia.com/cuda/parallel-thread-execution/#floating-point-instructions-div)


  Commit: 06d24da1312aa5c0c615a3b6c4dffe1c104e0cf3
      https://github.com/llvm/llvm-project/commit/06d24da1312aa5c0c615a3b6c4dffe1c104e0cf3
  Author: B I Mohammed Abbas <bimohammadabbas at gmail.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M compiler-rt/test/builtins/Unit/extendhfxf2_test.c
    M compiler-rt/test/builtins/Unit/fp_test.h

  Log Message:
  -----------
  Fix extendhfxf2 test (#117665)

Fix changes in #113897

Co-authored-by: Alex Richardson <alexrichardson at google.com>


  Commit: a94cec521202b00d18eaa55d9a5a4616097f5abf
      https://github.com/llvm/llvm-project/commit/a94cec521202b00d18eaa55d9a5a4616097f5abf
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M libcxx/include/__config

  Log Message:
  -----------
  Revert "[libc++] Remove workaround which allows setting _LIBCPP_OVERRIDABLE_FUNC_VIS externally (#113139)" (#117779)

This reverts commit 2e686d6d17c4cc7608510a856055e6ca79fcb917.

See https://github.com/llvm/llvm-project/issues/117571


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

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    A llvm/test/CodeGen/RISCV/GlobalISel/double-fcmp.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/float-fcmp.ll

  Log Message:
  -----------
  [RISCV][GISel] Use libcalls for f32/f64 G_FCMP without F/D extensions. (#117660)

LegalizerHelp only supported f128 libcalls and incorrectly assumed that
the destination register for the G_FCMP was s32.


  Commit: 06514c550105b3111c23751421265c318bd69ac6
      https://github.com/llvm/llvm-project/commit/06514c550105b3111c23751421265c318bd69ac6
  Author: Ian Wood <ianwood2024 at u.northwestern.edu>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td
    M mlir/include/mlir/IR/AffineMap.h
    M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
    M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
    M mlir/lib/IR/AffineMap.cpp
    M mlir/test/Dialect/Linalg/fusion-elementwise.mlir

  Log Message:
  -----------
  [MLIR][Linalg] Fix linalg crash during elementwise op fusion (#117667)

`isOpOperandCanBeDroppedAfterFusedLinalgs` crashes when `indexingMaps`
is empty. This can occur when `producer` only has DPS init operands and
`consumer ` only has a single DPS input operand (all operands are
ignored and nothing gets added to `indexingMaps`). This is because
`concatAffineMaps` wasn't handling the maps being empty properly.


Similar to `canOpOperandsBeDroppedImpl`, I added an early return when
the maps are of size zero. Additionally, `concatAffineMaps`'s
declaration comment says it returns an empty map when `maps` is empty
but it has no way to get the `MLIRContext` needed to construct the empty
affine map when the array is empty. So, I changed this to take the
context.


__NOTE: concatAffineMaps now takes an MLIRContext to be able to
construct an empty map in the case where `maps` is empty.__

---------

Signed-off-by: Ian Wood <ianwood2024 at u.northwestern.edu>
Co-authored-by: Quinn Dawkins <quinn.dawkins at gmail.com>


  Commit: 5147e5941d40ae89b6ecab89aa36f8f5def28f1e
      https://github.com/llvm/llvm-project/commit/5147e5941d40ae89b6ecab89aa36f8f5def28f1e
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    A llvm/include/llvm/DebugInfo/GSYM/CallSiteInfo.h
    M llvm/include/llvm/DebugInfo/GSYM/FunctionInfo.h
    M llvm/include/llvm/DebugInfo/GSYM/GsymCreator.h
    M llvm/include/llvm/DebugInfo/GSYM/GsymReader.h
    M llvm/lib/DebugInfo/GSYM/CMakeLists.txt
    A llvm/lib/DebugInfo/GSYM/CallSiteInfo.cpp
    M llvm/lib/DebugInfo/GSYM/FunctionInfo.cpp
    M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp
    M llvm/lib/DebugInfo/GSYM/GsymReader.cpp
    A llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-callsite-info-dsym.yaml
    A llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-callsite-info-exe.yaml
    A llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-callsite-info-obj.test
    M llvm/tools/llvm-gsymutil/Opts.td
    M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
    M llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp

  Log Message:
  -----------
  [GSYM] Callsites: Add data format support and loading from YAML (#109781)

This PR adds support in the gSYM format for call site information and
adds support for loading call sites from a YAML file. The support for
YAML input is mostly for testing purposes - so we have a way to test the
functionality.

Note that this data is not currently used in the gSYM tooling - the
logic to use call sites will be added in a later PR.

The reason why we need call site information in gSYM files is so that we
can support better call stack function disambiguation in the case where
multiple functions have been merged due to optimization (linker ICF).
When resolving a merged function on the callstack, we can use the call
site information of the calling function to narrow down the actual
function that is being called, from the set of all merged functions.

See [this
RFC](https://discourse.llvm.org/t/rfc-extending-gsym-format-with-call-site-information-for-merged-function-disambiguation/80682)
for more details on this change.


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

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx950-param.cl
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.gfx950.ll

  Log Message:
  -----------
  AMDGPU: Builtins & Codegen support for v_cvt_scalef32_pk_f32_{fp8|bf8} for gfx950 (#117741)

OPSEL[0] determines low/high 16 bits of src0 to read.

Co-authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>


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

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx950-param.cl
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.gfx950.ll

  Log Message:
  -----------
  Builtins & Codegen support for v_cvt_scalef32_pk_{fp|bf}8_{f|bf}16 for gfx950 (#117742)

OPSEL[3] determines low/high 16 bits of word to write.

Co-authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>


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

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/test/CodeGenOpenCL/amdgpu-features.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx950-param.cl
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/TargetParser/TargetParser.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.gfx950.ll

  Log Message:
  -----------
  AMDGPU: Builtins & Codegen support for v_cvt_scale_fp4<->f32 for gfx950 (#117743)

OPSEL ASM Syntax for v_cvt_scalef32_pk_f32_fp4 : opsel:[x,y,z]
where, x & y i.e. OPSEL[1 : 0] selects which src_byte to read.

OPSEL ASM Syntax for v_cvt_scalef32_pk_fp4_f32 : opsel:[a,b,c,d]
where, c & d i.e. OPSEL[3 : 2] selects which dst_byte  to write.

Co-authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>


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

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx950-param.cl
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.gfx950.ll

  Log Message:
  -----------
  AMDGPU: Builtins & CodeGen support for v_cvt_scalef32_pk_{f|bf}16_fp4 for gfx950 (#117744)

OPSEL ASM Syntax for v_cvt_scalef32_pk_{f|bf}16_fp4 : opsel:[x,y,z]
where, x & y i.e. OPSEL[1 : 0] selects which src_byte to read.

Note: Conventional Inst{13} i.e. OPSEL[2] is ignored in asm syntax.

Co-authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>


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

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/test/CodeGenOpenCL/amdgpu-features.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950.cl
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/TargetParser/TargetParser.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.gfx950.ll

  Log Message:
  -----------
  AMDGPU: Builtin & CodeGen support for v_cvt_scalef32_pk32_f32_[fp|bf]6 for gfx950 (#117745)

Co-authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>


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

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950.cl
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.gfx950.ll

  Log Message:
  -----------
  AMDGPU: Builtin & codegen support for v_cvt_scalef32_pk32_{bf|f}16_{bf|fp}6 for gfx950 (#117747)

Co-authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>


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

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx950-param.cl
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.gfx950.ll

  Log Message:
  -----------
  AMDGPU: Builtins & CodeGen support for v_cvt_scalef32_pk_{bf|f}16_{bf|fp}8 for gfx950 (#117793)

OPSEL[0] selects src_word to read.

Co-authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>


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

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx950-param.cl
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.gfx950.ll

  Log Message:
  -----------
  AMDGPU: Builtin & CodeGen support for v_cvt_scalef32_pk_fp4_{f|bf}16 for gfx950 (#117794)

These instructions have non-standard use of OPSEL bits to select
dest write byte. The src2_modifiers operand is used without having
its corresponding src2 operand by introducing dummy src2.

OPSEL ASM OPSEL Syntax: opsel:[a,b,c,d]
a & b are meaningless, c & d together decides byte to write in dst reg.

Co-authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>


  Commit: 175e0dd4223b7678f660519a9342282e8b226093
      https://github.com/llvm/llvm-project/commit/175e0dd4223b7678f660519a9342282e8b226093
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

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

  Log Message:
  -----------
  [MachineLateInstrsCleanup] Minor fixing (NFC). (#117816)

With cb57b7a7, MachineLateInstrsCleanup switched to using a map to keep
track of kill flags to remedy compile time regressions seen with huge
functions. It seems that the comment above clearKillsForDef() became stale with
that commit, and also that one of the arguments to it became unused,
both of which this patch fixes.


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/MC/AMDGPU/gfx950_asm_features.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_vop3.txt

  Log Message:
  -----------
  AMDGPU: MC support for V_CVT_SCALE_SR_FP4 instructions (#117795)

Co-authored-by: Shilei Tian <shilei.tian at amd.com>


  Commit: e335563806e0466f33ecce80a9fd5a39a3aead47
      https://github.com/llvm/llvm-project/commit/e335563806e0466f33ecce80a9fd5a39a3aead47
  Author: David Truby <david.truby at arm.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M flang/unittests/Runtime/CMakeLists.txt
    M flang/unittests/Runtime/CommandTest.cpp

  Log Message:
  -----------
  [NFC][flang] Fix execute_command_line test for odd environments (#117714)

One of the execute_command_line tests currently runs `cat` on an invalid
file and checks its return value, but since we don't control `cat` or
the user's path, the return value might not be reliably stable on a
per-platform basis. For example, if `git` is installed on Windows in
certain configurations it adds a directory to the path containing a
`cat` with a different set of error codes to the default Windows one.

This patch changes the test to use the `not` binary built by LLVM for
testing purposes, which should always return 1 on any platform
regardless of the user's environment.


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/MC/AMDGPU/gfx950_asm_features.s
    M llvm/test/MC/AMDGPU/gfx950_err.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_vop3.txt

  Log Message:
  -----------
  AMDGPU: MC support for v_cvt_sr_{f16|bf16}_f32 instructions (#117796)

Co-authored-by: Shilei Tian <shilei.tian at amd.com>


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/MC/AMDGPU/gfx950_asm_features.s
    M llvm/test/MC/AMDGPU/gfx950_err.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_vop3.txt

  Log Message:
  -----------
  AMDGPU: MC support for v_cvt_scalef32_sr_{bf8|fp8}_{f16|bf16|f32} (#117797)

Co-authored-by: Shilei Tian <shilei.tian at amd.com>


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

  Changed paths:
    M mlir/include/mlir/Dialect/Bufferization/Transforms/Bufferize.h
    M mlir/include/mlir/Dialect/Func/Transforms/Passes.h
    M mlir/lib/Dialect/Bufferization/Transforms/BufferUtils.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp

  Log Message:
  -----------
  [mlir][bufferization] Remove remaining dialect conversion-based infra parts (#114155)

This commit removes the last remaining components of the dialect
conversion-based bufferization passes.

Note for LLVM integration: If you depend on these components, migrate to
One-Shot Bufferize or copy them to your codebase.


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

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx950-param.cl
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk.gfx950.ll

  Log Message:
  -----------
  AMDGPU: Builtin & CodeGen support for v_cvt_scalef32_sr_pk_fp4 instructions (#117798)

Co-authored-by: Shilei Tian <shilei.tian at amd.com>


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

  Changed paths:
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp

  Log Message:
  -----------
  [lldb][NFC] Whitespace fix for mis-indented block

This mis-indented block makes a FC change I'm about
to propose look larger than it is when clang-formatted.


  Commit: 4d2bc0adc63cf90111d849911ccdddaa0d886e60
      https://github.com/llvm/llvm-project/commit/4d2bc0adc63cf90111d849911ccdddaa0d886e60
  Author: Enna1 <xumingjie.enna1 at bytedance.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

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

  Log Message:
  -----------
  [BOLT] Extract comparator for sorting functions by index into helper function (#116217)

This change extracts the comparator for sorting functions by index into
a helper function `compareBinaryFunctionByIndex()`

Not sure why the comparator used in
`BinaryContext::getSortedFunctions()` is not same as the other two
places. I think they should use the same comparator, so I also change
`BinaryContext::getSortedFunctions()` to use
`compareBinaryFunctionByIndex()` for sorting functions.


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

  Changed paths:
    M flang/include/flang/Evaluate/tools.h
    M flang/lib/Evaluate/tools.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf

  Log Message:
  -----------
  [flang][cuda] Detect constant on the rhs of data transfer (#117806)

When the rhs expression has some constants and a device symbol, an
implicit data transfer needs to be generated for the device symbol and
the computation with the constant is done on the host.


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

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/test/Transforms/ConstraintElimination/and-implied-by-operands.ll
    M llvm/test/Transforms/ConstraintElimination/or.ll

  Log Message:
  -----------
  [ConstraintElim] Extend `checkOrAndOpImpliedByOther` to handle and/or expr trees. (#117123)

This patch extends `checkOrAndOpImpliedByOther` to handle and/or trees.
Limitation: At least one of the operands of root and/or instruction
should be an icmp. That is, this patch doesn't support expressions like
`(cmp1 & cmp2) & (cmp3 & cmp4)`.

Closes https://github.com/llvm/llvm-project/issues/117107.
Compile-time impact:
http://llvm-compile-time-tracker.com/compare.php?from=69cc3f096ccbdef526bbd5a065a25c95122e87ee&to=919416d2c4c71e3b9fe533af2c168a36c7893be5&stat=instructions%3Au


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

  Changed paths:
    M clang/test/CodeGen/builtins-wasm.c
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    A llvm/test/CodeGen/WebAssembly/thread_pointer.ll

  Log Message:
  -----------
  [WebAssembly] Implement %llvm.thread.pointer intrinsic (#117817)

We can simply use the `__tls_base` global for this which is guaranteed
to be non-zero and unique per thread.

Fixes: #117433


  Commit: dd4844722d98a97edd180e20abd4e65e1e2dd9d7
      https://github.com/llvm/llvm-project/commit/dd4844722d98a97edd180e20abd4e65e1e2dd9d7
  Author: antangelo <contact at antangelo.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M llvm/lib/CodeGen/IntrinsicLowering.cpp
    M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    A llvm/test/CodeGen/Generic/builtin-expect-with-probability.ll

  Log Message:
  -----------
  [SelectionDAG] Add generic implementation for @llvm.expect.with.probability when optimizations are disabled (#117459)

Handle \@llvm.expect.with.probability in SelectionDAGBuilder, FastISel,
and IntrinsicLowering in the same way \@llvm.expect is handled, where
the value is passed through as-is. This can be reached if the intrinsic
is used without optimizations, where it would otherwise be properly
transformed out.

Fixes #115411 for SelectionDAG. A similar patch is likely needed for
GlobalISel.


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

  Changed paths:
    M lld/ELF/Arch/X86_64.cpp
    M lld/test/ELF/pack-dyn-relocs-tls-x86-64.s
    M lld/test/ELF/tls-opt.s
    M lld/test/ELF/x86-64-tls-ie-local.s

  Log Message:
  -----------
  [X86][LLD] Handle R_X86_64_CODE_4_GOTTPOFF relocation type (#116634)

For

  mov name at GOTTPOFF(%rip), %reg
  add name at GOTTPOFF(%rip), %reg

add

  `R_X86_64_CODE_4_GOTTPOFF` = 44

in #116633.

Linker can treat `R_X86_64_CODE_4_GOTTPOFF` as `R_X86_64_GOTTPOFF` or
convert the instructions above to

  mov $name, %reg
  add $name, %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: fad5ed6e908aafe03e47032611a6e836bbcc4d5a
      https://github.com/llvm/llvm-project/commit/fad5ed6e908aafe03e47032611a6e836bbcc4d5a
  Author: Feng Zou <feng.zou at intel.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M lld/ELF/Arch/X86_64.cpp
    M lld/test/ELF/invalid/x86-64-tlsdesc-gd.s
    M lld/test/ELF/x86-64-tlsdesc-gd.s

  Log Message:
  -----------
  [X86][LLD] Handle R_X86_64_CODE_4_GOTPC32_TLSDESC relocation type (#116909)

For

  lea name at tlsdesc(%rip), %reg

add

  R_X86_64_CODE_4_GOTPC32_TLSDESC = 45

in #116908.

Linker can treat R_X86_64_CODE_4_GOTPC32_TLSDESC as
R_X86_64_GOTPC32_TLSDESC or convert the instruction above to

  mov $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: b5825963f0f0d5e3fb8a0c0914bc5a27aa16440e
      https://github.com/llvm/llvm-project/commit/b5825963f0f0d5e3fb8a0c0914bc5a27aa16440e
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-11-26 (Tue, 26 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 box when needed (#117810)

Materialize the box when the src comes from a embox or rebox operation.
This was done in the case of transfer to a descriptor but not when
transferring from a descriptor.


  Commit: f9a39dfd18a1d428b5ec2ce38ad3b50ec6988e70
      https://github.com/llvm/llvm-project/commit/f9a39dfd18a1d428b5ec2ce38ad3b50ec6988e70
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

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

  Log Message:
  -----------
  [ORC] Fix typo in comment: instruction is ldr literal, not adr. NFC.


  Commit: cc113102c6ea3d9d3d016c0804fee0c154f98ce1
      https://github.com/llvm/llvm-project/commit/cc113102c6ea3d9d3d016c0804fee0c154f98ce1
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

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

  Log Message:
  -----------
  [gn build] Port 5147e5941d40


  Commit: 508448280a4fc8d1e29c5ccf883836aac0f11ec9
      https://github.com/llvm/llvm-project/commit/508448280a4fc8d1e29c5ccf883836aac0f11ec9
  Author: Helmut Januschka <helmut at januschka.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-starts-ends-with.rst
    M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-starts-ends-with.cpp

  Log Message:
  -----------
  [clang-tidy] Enhance modernize-use-starts-ends-with to handle substr patterns (#116033)

Enhances the modernize-use-starts-ends-with check to detect additional patterns
using substr that can be replaced with starts_with() (C++20).
This enhancement improves code readability and can be more efficient by avoiding
temporary string creation.


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

  Changed paths:
    M llvm/test/CodeGen/RISCV/GlobalISel/double-arith.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/float-arith.ll

  Log Message:
  -----------
  [RISCV][GISel] Copy fneg test cases from SelectionDAG into float/double-arith.ll. NFC

The test cases use fcmp which was not fully supported before
43b6b78771e9ab4da912b574664e713758c43110.


  Commit: 90a776fbdb35ef6ac6f28a19937e88abd2e4611b
      https://github.com/llvm/llvm-project/commit/90a776fbdb35ef6ac6f28a19937e88abd2e4611b
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M clang/lib/Basic/Targets/RISCV.cpp

  Log Message:
  -----------
  [clang][RISCV] __riscv_v_intrinsic macro doesn't need zve32x (#117356)

This macro is used to check if compiler supports RVV intrinsics, so it
should be defined no matter vector is enabled or not.
Resolved https://github.com/riscv-non-isa/rvv-intrinsic-doc/issues/376


  Commit: 74449ab86b8bc8d7388ede0cc7fc3a679da0c567
      https://github.com/llvm/llvm-project/commit/74449ab86b8bc8d7388ede0cc7fc3a679da0c567
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSerializationKinds.td
    M clang/lib/Serialization/ASTReader.cpp
    M clang/test/Modules/explicit-build-missing-files.cpp
    M clang/test/Modules/load_failure.c
    M clang/test/Modules/mismatch-diagnostics.cpp
    M clang/test/Modules/module-feature.m
    M clang/test/Modules/pr62359.cppm
    M clang/test/Modules/prebuilt-implicit-modules.m
    M clang/test/PCH/arc.m
    M clang/test/PCH/no-validate-pch.cl
    M clang/test/PCH/pch-dir.c

  Log Message:
  -----------
  [Serialization] Downgrade inconsistent flags from erros to warnings (#115416)

There were many many "voices" about the too strict flags checking in
modules. Although they rarely challenge this, maybe due to they respect
to the compiler implementation details. But from my point of view, there
are cases it is "fine" to have different flags. Especially we're too
conservative to mark almost language options in
`clang/include/clang/Basic/LangOptions.def` as incompatible options (see
the comments in the front of the file).

In my understanding, this should come from PCH initially since it is
natural to ask your headers to be compiled with the same flags with your
TU. And then, when Apple and Google goes to implement clang module, they
don't challenge it too since they have a closed world where they have a
strong control over the ecosystem so that they can make it consistent.

Yes, consistency is great and ODR violation are awful. But this is the
world we're living today. This is the C++'s ecosystem in the open ended
world. Image a situation that we're using a third party module and we
add a new option to our library, then the build bails out! THIS IS SUPER
ANNOYING. And makes it non practical to make a modular C++ ecosystem.

(
This was discussed many times in SG15. And the consensus is, the build
systems should generate different BMI based on different flags. But this
manner can't avoid ODR violation completely and it would add the times
of module files that need to be built, which may kill the benefit of
faster compilation of modules.

However, I think the build systems may need to do the similar things in
the end of the day. Considering libc++'s hardening mechanism
(https://libcxx.llvm.org/Hardening.html). So the conclusion of the
paragraph is, although this seems related to build systems, I think they
are actually unrelated story.
)

I think we should give our users a chance to disable such checks. It is
theoretically unsafe. But we've done our job to tell the users that it
**MAY** be bad. Then I feel it is C++-ish to give users more freedom
even if they may shoot their foot.

This shouldn't change any thing. Users who want previous behavior can
get it easily by `-Werror=`.


  Commit: 4a7dbede6badd27ce2ad07984134d5d25a2bbada
      https://github.com/llvm/llvm-project/commit/4a7dbede6badd27ce2ad07984134d5d25a2bbada
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M clang/test/Driver/print-supported-extensions-riscv.c
    M clang/test/Preprocessor/riscv-target-features.c
    M llvm/docs/RISCVUsage.rst
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/MC/RISCV/attribute-arch.s
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Support `svukte` extension (#115657)

This is the extension for "Address-Independent Latency of User-Mode
Faults to Supervisor Addresses".
Spec: https://github.com/riscv/riscv-isa-manual/pull/1564,
https://lf-riscv.atlassian.net/browse/RVS-2977
The spec states that the `svukte` depends on `sv39`, but we don't have
`sv39` yet, so I didn't add it to the implied list.


  Commit: 99de065b850b6e1c5461325998a40c6925d7ee9e
      https://github.com/llvm/llvm-project/commit/99de065b850b6e1c5461325998a40c6925d7ee9e
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSerializationKinds.td
    M clang/lib/Serialization/ASTReader.cpp
    M clang/test/Modules/explicit-build-missing-files.cpp
    M clang/test/Modules/load_failure.c
    M clang/test/Modules/mismatch-diagnostics.cpp
    M clang/test/Modules/module-feature.m
    M clang/test/Modules/pr62359.cppm
    M clang/test/Modules/prebuilt-implicit-modules.m
    M clang/test/PCH/arc.m
    M clang/test/PCH/no-validate-pch.cl
    M clang/test/PCH/pch-dir.c

  Log Message:
  -----------
  Revert "[Serialization] Downgrade inconsistent flags from erros to warnings (#115416)"

This reverts commit 74449ab86b8bc8d7388ede0cc7fc3a679da0c567.

See the post commit message in
https://github.com/llvm/llvm-project/pull/115416


  Commit: 512defe603dd0c82fb49bc6a3e1e8481ac0f6f9e
      https://github.com/llvm/llvm-project/commit/512defe603dd0c82fb49bc6a3e1e8481ac0f6f9e
  Author: antangelo <contact at antangelo.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-no-op-intrinsics.ll

  Log Message:
  -----------
  [NFC][GISel][AArch64] Pre-commit baseline tests for translation of @llvm.expect.with.probability (#117842)

Pre-commit of tests for generic GlobalISel translation of
`@llvm.expect.with.probability` for when optimizations are not enabled


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

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950.cl
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk.ll
    M llvm/test/MC/AMDGPU/gfx950_asm_features.s
    M llvm/test/MC/AMDGPU/gfx950_err.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_vop3.txt

  Log Message:
  -----------
  AMDGPU: Add support for v_cvt_scalef32_sr instructions (#117820)

Co-authored-by: Shilei Tian <shilei.tian at amd.com>


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

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950.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/VOP3Instructions.td
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.ll

  Log Message:
  -----------
  AMDGPU: Builtin & CodeGen support for v_cvt_scalef32_sr_{bf8|fp8}_{f16|bf16|f32} (#117821)

Co-authored-by: Shilei Tian <shilei.tian at amd.com>


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.gfx950.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk.gfx950.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk.ll

  Log Message:
  -----------
  AMDGPU: Allocate different registers for vdst & src in v_cvt_scalef32* (#117822)

For multipass instructions, overlap on VDST and SRC’s
would result in HW race & undefined results.

Co-authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>


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

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGenOpenCL/amdgpu-features.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx950-param.cl
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/TargetParser/TargetParser.cpp
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.bitop3.ll

  Log Message:
  -----------
  AMDGPU: Add builtins & codegen support for bitop3_b{16|32} of gfx950. (#117823)

Co-authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>


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

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/test/CodeGenOpenCL/amdgpu-features.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx950-param.cl
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/TargetParser/TargetParser.cpp
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.sr.ll

  Log Message:
  -----------
  AMDGPU: Builtin & CodeGen support for v_cvt_sr_{bf16|f16}_f32 instructions (#117824)

Co-authored-by: Shilei Tian <shilei.tian at amd.com>


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

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaAMDGPU.cpp
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-wave32.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-gfx940-err.cl
    A clang/test/SemaOpenCL/builtins-amdgcn-wave32-func-attr.cl

  Log Message:
  -----------
  AMDGPU/clang: Add global_load_lds size check support for gfx950 (#117825)

Co-authored-by: Shilei Tian <shilei.tian at amd.com>


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/test/MC/AMDGPU/mai-gfx950-err.s
    M llvm/test/tools/llvm-mca/AMDGPU/gfx950.s

  Log Message:
  -----------
  AMDGPU: Verify f8f6f4 formats in assembler (#117826)

Verify the register widths of the corresponding operands match
the floating point format expected size.


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

  Changed paths:
    M llvm/lib/CodeGen/SjLjEHPrepare.cpp
    M llvm/test/CodeGen/ARM/sjljehprepare-lower-empty-struct.ll
    A llvm/test/CodeGen/Generic/sjlj-eh-prepare.ll
    M llvm/test/CodeGen/VE/Scalar/builtin_sjlj_callsite.ll
    M llvm/test/CodeGen/VE/Scalar/builtin_sjlj_landingpad.ll
    M llvm/test/CodeGen/X86/indirect-branch-tracking-eh2.ll
    M llvm/test/CodeGen/X86/sjlj-eh.ll

  Log Message:
  -----------
  [SjLjEHPrepare] Configure call sites correctly (#117656)

After 9fe78db4, the pass inserts `store volatile i32 -1, ptr %call_site`
before all invoke instruction except the one in the entry block, which
has the effect of bypassing landing pads on exceptions.

When configuring the call site for a potentially throwing instruction
check that it is not `InvokeInst` -- they are handled by earlier code.


  Commit: bc1e0c53a281822e08df89a02b02b6b0db222087
      https://github.com/llvm/llvm-project/commit/bc1e0c53a281822e08df89a02b02b6b0db222087
  Author: Josh Stone <jistone at redhat.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M compiler-rt/test/profile/Linux/binary-id-offset.c

  Log Message:
  -----------
  [profile] Make the binary-id-offset.c test more robust (#117647)

Using a `--section-start` address in the test was causing link errors on
some targets. Now it uses a linker script to move the note after `.bss`,
which should still have the kind of memory offset we're looking for.

This is a follow-up to #114907 to fix buildbot errors.


  Commit: 0d15d46362bd6ab5a9a2165805adaab13a7689f4
      https://github.com/llvm/llvm-project/commit/0d15d46362bd6ab5a9a2165805adaab13a7689f4
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/test/CodeGen/bounds-checking.c
    M clang/test/CodeGen/catch-undef-behavior.c
    M clang/test/CodeGen/ubsan-trap-merge.c
    M llvm/test/CodeGen/X86/ubsan-trap-merge.ll
    M llvm/test/CodeGen/X86/ubsan-trap-nomerge.ll

  Log Message:
  -----------
  [ubsan] Change ubsan-unique-traps to use nomerge instead of counter (#117651)

https://github.com/llvm/llvm-project/pull/65972 (continuation of
https://reviews.llvm.org/D148654) had considered adding nomerge to
ubsantrap, but did not proceed with that because of
https://github.com/llvm/llvm-project/issues/53011. Instead, it added a
counter (based on TrapBB->getParent()->size()) to each ubsantrap call.
However, this counter is not guaranteed to be unique after inlining, as
shown by https://github.com/llvm/llvm-project/pull/83470, which can
result in ubsantraps being merged by the backend.

https://github.com/llvm/llvm-project/pull/101549 has since fixed the
nomerge limitation ("It sets nomerge flag for the node if the
instruction has nomerge arrtibute."). This patch therefore takes
advantage of nomerge instead of using the counter, guaranteeing that the
ubsantraps are not merged.

This patch is equivalent to
https://github.com/llvm/llvm-project/pull/83470 but also adds nomerge
and updates tests (https://github.com/llvm/llvm-project/pull/117649:
ubsan-trap-merge.c; https://github.com/llvm/llvm-project/pull/117657:
ubsan-trap-merge.ll, ubsan-trap-nomerge.ll; catch-undef-behavior.c).


  Commit: 40d0058e6ad16d4716192a0e331ac58a6ed9def3
      https://github.com/llvm/llvm-project/commit/40d0058e6ad16d4716192a0e331ac58a6ed9def3
  Author: Durgadoss R <durgadossr at nvidia.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M llvm/docs/NVPTXUsage.rst
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    A llvm/include/llvm/IR/NVVMIntrinsicFlags.h
    M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
    M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.h
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    A llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-reduce.ll

  Log Message:
  -----------
  [NVPTX] Add TMA bulk tensor reduction intrinsics (#116854)

This patch adds NVVM intrinsics and NVPTX codegen for:
* cp.async.bulk.tensor.reduce.1D -> 5D variants, supporting both Tile
   and Im2Col modes.
* These intrinsics optionally support cache_hints as indicated by the
   boolean flag argument.
* Lit tests are added for all combinations of these intrinsics in
   cp-async-bulk-tensor-reduce.ll.
* The generated PTX is verified with a 12.3 ptxas executable.
* Added docs for these intrinsics in NVPTXUsage.rst file.

PTX Spec reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-cp-reduce-async-bulk-tensor

Signed-off-by: Durgadoss R <durgadossr at nvidia.com>


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

  Changed paths:
    M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp

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

This patch fixes:

  llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp:452:3:
  error: default label in switch which covers all enumeration values
  [-Werror,-Wcovered-switch-default]


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.ll

  Log Message:
  -----------
  AMDGPU: Remove FeatureCvtFP8VOP1Bug from gfx950 (#117827)


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    A llvm/test/CodeGen/AMDGPU/bitop3.ll

  Log Message:
  -----------
  AMDGPU: Match and Select BITOP3 on gfx950 (#117843)

Co-authored-by: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>


  Commit: 53c0a25db7a0469f6d47e130d5a0e8f7a88b9585
      https://github.com/llvm/llvm-project/commit/53c0a25db7a0469f6d47e130d5a0e8f7a88b9585
  Author: tangaac <tangyan01 at loongson.cn>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/test/CodeGen/LoongArch/ir-instruction/sdiv-udiv-srem-urem-div32.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/sdiv-udiv-srem-urem.ll

  Log Message:
  -----------
  [LoongArch] Use div.w/mod.w to eliminate unnecessary sign-extend for sdiv/srem i32. (#117298)


  Commit: 3618c9930f70b13b4e678ac04cb9f813056d560c
      https://github.com/llvm/llvm-project/commit/3618c9930f70b13b4e678ac04cb9f813056d560c
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

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

  Log Message:
  -----------
  [MISched] Use right boundary when trying latency heuristics (#116592)

We may do bottom-up or bidirectional scheduling but previously we
assume we are doing top-down scheduling, which may cause some issues.


  Commit: 6c7b988e64b60cff7e9f3777dfcc2b2511ee48c6
      https://github.com/llvm/llvm-project/commit/6c7b988e64b60cff7e9f3777dfcc2b2511ee48c6
  Author: 루밀LuMir <rpfos at naver.com>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M clang/tools/clang-format/git-clang-format

  Log Message:
  -----------
  [clang-format] Add mjs to default_extensions in git-clang-format (#117730)


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

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/double-intrinsics.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/float-intrinsics.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir

  Log Message:
  -----------
  [RISCV] Support f32/f64 libcalls for sin/cos/pow/log/log2/log10/exp/exp2

Test cases copied from SelectionDAG.


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

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

  Log Message:
  -----------
  [memprof] Add YAML-based deserialization for MemProf profile (#117829)

This patch adds YAML-based deserialization for MemProf profile.

It's been painful to write tests for MemProf passes because we do not
have a text format for the MemProf profile.  We would write a test
case in C++, run it for a binary MemProf profile, and then finally run
a test written in LLVM IR with the binary profile.

This patch paves the way toward YAML-based MemProf profile.
Specifically, it adds new class YAMLMemProfReader derived from
MemProfReader.  For now, it only adds a function to parse StringRef
pointing to YAML data.  Subseqeunt patches will wire it to
llvm-profdata and read from a file.

The field names are based on various printYAML functions in MemProf.h.
I'm not aiming for compatibility with the format used in printYAML,
but I don't see a point in changing the field names.


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

  Changed paths:
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    M llvm/test/Analysis/LoopAccessAnalysis/select-dependence.ll

  Log Message:
  -----------
  [BasicAA][LAA] Don't use same-block phis in cross iteration mode (#116802)

In 4de3184f07fd8c548125d315dd306d4afa7c9698 we exposed BasicAA's
cross-iteration mode for use in LAA, so we can handle selects with equal
conditions correctly (where the select condition is not actually equal
across iterations).

However, if we replace the selects with equivalent phis, the issue still
exists. In the phi case, we effectively still have an assumption that
the condition(s) that control which phi arg is used will be the same
across iterations. Fix this by disabling this phi handling in
cross-iteration mode.

(I'm not entirely sure whether this is also needed when BasicAA enables
cross-iteration mode during internal phi recursion, but I wouldn't be
surprised if that's the case.)


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

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

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

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

  * `vector.splat`.

In addition:
* Removed `@make_fixed_vector_of_scalable_vect`, which duplicated
  `@broadcast_vec2d_from_scalar_scalable` (and wasn't grouped with other
  tests for `vector.broadcast`).
* Moved `@vector_bitcast_2d` near other tests for `vector.bitcast` and
  added a variant with scalable vectors.


  Commit: 4dfa0216ba7849fde270f27e2358d4327fac988d
      https://github.com/llvm/llvm-project/commit/4dfa0216ba7849fde270f27e2358d4327fac988d
  Author: Balázs Kéri <balazs.keri at ericsson.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M clang/docs/analyzer/checkers.rst
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/test/Analysis/analyzer-enabled-checkers.c
    M clang/test/Analysis/bstring.cpp
    M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
    M clang/test/Analysis/string.c
    M clang/test/Analysis/string.cpp
    A clang/test/Analysis/string_notnullterm.c

  Log Message:
  -----------
  [clang][analyzer] Bring checker 'alpha.unix.cstring.NotNullTerminated' out of alpha (#113899)


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

  Changed paths:
    M lldb/include/lldb/Host/Socket.h
    M lldb/source/Host/common/Socket.cpp
    M lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
    M lldb/unittests/Host/MainLoopTest.cpp
    M lldb/unittests/Host/SocketTest.cpp
    M lldb/unittests/TestingSupport/Host/SocketTestUtilities.cpp
    M lldb/unittests/tools/lldb-server/tests/TestClient.cpp

  Log Message:
  -----------
  [lldb] Add timeout argument to Socket::Accept (#117691)

Allows us to stop waiting for a connection if it doesn't come in a
certain amount of time. Right now, I'm keeping the status quo (infitnite
wait) in the "production" code, but using smaller (finite) values in
tests. (A lot of these tests create "loopback" connections, where a
really short wait is sufficient: on linux at least even a poll (0s wait)
is sufficient if the other end has connect()ed already, but this doesn't
seem to be the case on Windows, so I'm using a 1s wait in these cases).


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

  Changed paths:
    M lldb/include/lldb/Symbol/Block.h
    M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
    M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
    M lldb/source/Symbol/Block.cpp
    M lldb/source/Symbol/Function.cpp

  Log Message:
  -----------
  [lldb] Make sure Blocks always have a parent (#117683)

It's basically true already (except for a brief time during
construction). This patch makes sure the objects are constructed with a
valid parent and enforces this in the type system, which allows us to
get rid of some nullptr checks.


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

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

  Log Message:
  -----------
  Revert "[memprof] Add YAML-based deserialization for MemProf profile (#117829)"

This reverts commit c00e53208db638c35499fc80b555f8e14baa35f0.

It looks like this breaks building LLVM on macOS and some other
platform/compiler combos

https://lab.llvm.org/buildbot/#/builders/23/builds/5252
https://green.lab.llvm.org/job/llvm.org/job/clang-san-iossim/5356/console

In file included from /Users/ec2-user/jenkins/workspace/llvm.org/clang-san-iossim/llvm-project/llvm/lib/ProfileData/MemProfReader.cpp:34:
In file included from /Users/ec2-user/jenkins/workspace/llvm.org/clang-san-iossim/llvm-project/llvm/include/llvm/ProfileData/MemProfReader.h:24:
In file included from /Users/ec2-user/jenkins/workspace/llvm.org/clang-san-iossim/llvm-project/llvm/include/llvm/ProfileData/InstrProfReader.h:22:
In file included from /Users/ec2-user/jenkins/workspace/llvm.org/clang-san-iossim/llvm-project/llvm/include/llvm/ProfileData/InstrProfCorrelator.h:21:
/Users/ec2-user/jenkins/workspace/llvm.org/clang-san-iossim/llvm-project/llvm/include/llvm/Support/YAMLTraits.h:1173:36: error: implicit instantiation of undefined template 'llvm::yaml::MissingTrait<unsigned long>'
  char missing_yaml_trait_for_type[sizeof(MissingTrait<T>)];
                                   ^
/Users/ec2-user/jenkins/workspace/llvm.org/clang-san-iossim/llvm-project/llvm/include/llvm/Support/YAMLTraits.h:961:7: note: in instantiation of function template specialization 'llvm::yaml::yamlize<unsigned long>' requested here
      yamlize(*this, Val, Required, Ctx);
      ^
/Users/ec2-user/jenkins/workspace/llvm.org/clang-san-iossim/llvm-project/llvm/include/llvm/Support/YAMLTraits.h:883:11: note: in instantiation of function template specialization 'llvm::yaml::IO::processKey<unsigned long, llvm::yaml::EmptyContext>' requested here
    this->processKey(Key, Val, true, Ctx);
          ^
/Users/ec2-user/jenkins/workspace/llvm.org/clang-san-iossim/llvm-project/llvm/include/llvm/ProfileData/MIBEntryDef.inc:55:1: note: in instantiation of function template specialization 'llvm::yaml::IO::mapRequired<unsigned long>' requested here
MIBEntryDef(AccessHistogram = 27, AccessHistogram, uintptr_t)
^
/Users/ec2-user/jenkins/workspace/llvm.org/clang-san-iossim/llvm-project/llvm/lib/ProfileData/MemProfReader.cpp:77:8: note: expanded from macro 'MIBEntryDef'
    Io.mapRequired(KeyStr.str().c_str(), MIB.Name);                            \
       ^
/Users/ec2-user/jenkins/workspace/llvm.org/clang-san-iossim/llvm-project/llvm/include/llvm/Support/YAMLTraits.h:310:8: note: template is declared here
struct MissingTrait;
       ^
1 error generated.


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

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

  Log Message:
  -----------
  [lldb] Fix premature MainLoop wakeup on windows (#117756)

The windows system APIs only take milliseconds. Make sure we round the
sleep interval (in nanoseconds) upwards.


  Commit: 427be0767523b6e0f4004a421892f463d62446ac
      https://github.com/llvm/llvm-project/commit/427be0767523b6e0f4004a421892f463d62446ac
  Author: tangaac <tangyan01 at loongson.cn>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

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

  Log Message:
  -----------
  [LoongArch] Support amcas[_db].{b/h/w/d} instructions. (#114189)

Two options for clang: -mlamcas & -mno-lamcas.
Enable or disable amcas[_db].{b/h} instructions.
The default is -mno-lamcas.
Only works on LoongArch64.


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/test/CXX/temp/temp.deduct.guide/p3.cpp

  Log Message:
  -----------
  [Clang] prevent errors for deduction guides using deduced type aliases (#117450)

Fixes #54909

--- 

Clang incorrectly produces diagnostics for alias templates in deduction
guides, treating them as separate from their underlying types. This
issue arises because Clang doesn't properly handle
`TypeAliasTemplateDecl` when comparing template names for equality in
the context of deduction guides, resulting in diagnostics that don't
align with the C++ standard. As the C++ standard specifies - _an alias
template is considered a synonym for its underlying type_

With this change, Clang now correctly resolves alias templates to their
underlying types in deduction guides, ensuring compliance with the C++
standard.


  Commit: 74392bde2e603c8ca3f0956d4c55ba181fe9989b
      https://github.com/llvm/llvm-project/commit/74392bde2e603c8ca3f0956d4c55ba181fe9989b
  Author: Maurice Heumann <MauriceHeumann at gmail.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M clang/lib/Headers/intrin.h

  Log Message:
  -----------
  [X86] Consistently use __inline__ keyword in intrin.h (#117856)

Using `inline` instead of `__inline__` may cause duplicate symbol errors in some scenarios.

This fixes #117854


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

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

  Log Message:
  -----------
  [AArch64][GlobalISel] Fix smull and umull intrinsics.

These were the wrong way around somehow, with aarch64_neon_umull being converted
to G_SMULL.


  Commit: 345b3319c8544a0124aed9602c31f8793228ab63
      https://github.com/llvm/llvm-project/commit/345b3319c8544a0124aed9602c31f8793228ab63
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

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

  Log Message:
  -----------
  [AMDGPU][SplitModule] Fix unintentional integer division (#117586)

A static analysis tool warned that a division was always being performed
in integer division, so was either 0.0 or 1.0.

This doesn't seem intentional, so has been fixed to return a true ratio
using floating-point division. This in turn showed a bug where a
comparison against this ratio was incorrect.


  Commit: 1fccba5ca1997db13cfa88f788b7acb8cc300b48
      https://github.com/llvm/llvm-project/commit/1fccba5ca1997db13cfa88f788b7acb8cc300b48
  Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/ptrauth-call.ll

  Log Message:
  -----------
  [AArch64][PAC] Eliminate excessive MOVs when computing blend (#115185)

As function calls do not generally preserve X16 and X17, it is beneficial
to allow AddrDisc operand of BLRA instruction to reside in these
registers and make use of this condition when computing the
discriminator.

This can save up to two MOVs in cases such as loading a (signed) virtual
function pointer via a (signed) pointer to vtable, for example

    ldr   x9, [x16]
    mov   x8, x16
    mov   x17, x8
    movk  x17, #34646, lsl #48
    blraa x9, x17

can be simplified to

    ldr   x8, [x16]
    movk  x16, #34646, lsl #48
    blraa x8, x16


  Commit: c979ec05642f292737d250c6682d85ed49bc7b6e
      https://github.com/llvm/llvm-project/commit/c979ec05642f292737d250c6682d85ed49bc7b6e
  Author: Callum Fare <callum at codeplay.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M offload/CMakeLists.txt
    M offload/cmake/OpenMPTesting.cmake
    A offload/liboffload/API/APIDefs.td
    A offload/liboffload/API/CMakeLists.txt
    A offload/liboffload/API/Common.td
    A offload/liboffload/API/Device.td
    A offload/liboffload/API/OffloadAPI.td
    A offload/liboffload/API/Platform.td
    A offload/liboffload/API/README.md
    A offload/liboffload/CMakeLists.txt
    A offload/liboffload/README.md
    A offload/liboffload/exports
    A offload/liboffload/include/OffloadImpl.hpp
    A offload/liboffload/include/generated/OffloadAPI.h
    A offload/liboffload/include/generated/OffloadEntryPoints.inc
    A offload/liboffload/include/generated/OffloadFuncs.inc
    A offload/liboffload/include/generated/OffloadImplFuncDecls.inc
    A offload/liboffload/include/generated/OffloadPrint.hpp
    A offload/liboffload/src/Helpers.hpp
    A offload/liboffload/src/OffloadImpl.cpp
    A offload/liboffload/src/OffloadLib.cpp
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/test/lit.cfg
    M offload/test/lit.site.cfg.in
    A offload/test/tools/offload-tblgen/default_returns.td
    A offload/test/tools/offload-tblgen/entry_points.td
    A offload/test/tools/offload-tblgen/functions_basic.td
    A offload/test/tools/offload-tblgen/functions_code_loc.td
    A offload/test/tools/offload-tblgen/functions_ranged_param.td
    A offload/test/tools/offload-tblgen/print_enum.td
    A offload/test/tools/offload-tblgen/print_function.td
    A offload/test/tools/offload-tblgen/type_tagged_enum.td
    A offload/tools/offload-tblgen/APIGen.cpp
    A offload/tools/offload-tblgen/CMakeLists.txt
    A offload/tools/offload-tblgen/EntryPointGen.cpp
    A offload/tools/offload-tblgen/FuncsGen.cpp
    A offload/tools/offload-tblgen/GenCommon.hpp
    A offload/tools/offload-tblgen/Generators.hpp
    A offload/tools/offload-tblgen/PrintGen.cpp
    A offload/tools/offload-tblgen/RecordTypes.hpp
    A offload/tools/offload-tblgen/offload-tblgen.cpp
    M offload/unittests/CMakeLists.txt
    A offload/unittests/OffloadAPI/CMakeLists.txt
    A offload/unittests/OffloadAPI/common/Environment.cpp
    A offload/unittests/OffloadAPI/common/Environment.hpp
    A offload/unittests/OffloadAPI/common/Fixtures.hpp
    A offload/unittests/OffloadAPI/device/olDeviceInfo.hpp
    A offload/unittests/OffloadAPI/device/olGetDevice.cpp
    A offload/unittests/OffloadAPI/device/olGetDeviceCount.cpp
    A offload/unittests/OffloadAPI/device/olGetDeviceInfo.cpp
    A offload/unittests/OffloadAPI/device/olGetDeviceInfoSize.cpp
    A offload/unittests/OffloadAPI/platform/olGetPlatform.cpp
    A offload/unittests/OffloadAPI/platform/olGetPlatformCount.cpp
    A offload/unittests/OffloadAPI/platform/olGetPlatformInfo.cpp
    A offload/unittests/OffloadAPI/platform/olGetPlatformInfoSize.cpp
    A offload/unittests/OffloadAPI/platform/olPlatformInfo.hpp

  Log Message:
  -----------
  Reland - [Offload] Introduce offload-tblgen and initial new API implementation (#108413) (#117704)

Relands changes from #108413 - this was reverted due to build issues.
The problem was just that the `offload-tblgen` tool was behind recent
changes to tablegen that ensure `const` records. This has been fixed and
the PR is otherwise identical.

___

### New API

Previous discussions at the LLVM/Offload meeting have brought up the
need for a new API for exposing the functionality of the plugins. This
change introduces a very small subset of a new API, which is primarily
for testing the offload tooling and demonstrating how a new API can fit
into the existing code base without being too disruptive. Exact designs
for these entry points and future additions can be worked out over time.

The new API does however introduce the bare minimum functionality to
implement device discovery for Unified Runtime and SYCL. This means that
the `urinfo` and `sycl-ls` tools can be used on top of Offload. A
(rough) implementation of a Unified Runtime adapter (aka plugin) for
Offload is available
[here](https://github.com/callumfare/unified-runtime/tree/offload_adapter).
Our intention is to maintain this and use it to implement and test
Offload API changes with SYCL.

### Demoing the new API

```sh
# From the runtime build directory
$ ninja LibomptUnitTests
$ OFFLOAD_TRACE=1 ./offload/unittests/OffloadAPI/offload.unittests 
```


### Open questions and future work
* Only some of the available device info is exposed, and not all the
possible device queries needed for SYCL are implemented by the plugins.
A sensible next step would be to refactor and extend the existing device
info queries in the plugins. The existing info queries are all strings,
but the new API introduces the ability to return any arbitrary type.
* It may be sensible at some point for the plugins to implement the new
API directly, and the higher level code on top of it could be made
generic, but this is more of a long-term possibility.


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

  Changed paths:
    M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
    A llvm/test/Transforms/SimpleLoopUnswitch/pr117537.ll

  Log Message:
  -----------
  [SimpleLoopUnswitch] Fix LCSSA phi node invalidation

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


  Commit: 0cb5846a68cc5c5e519b2c80ab106e7e4fc6eedb
      https://github.com/llvm/llvm-project/commit/0cb5846a68cc5c5e519b2c80ab106e7e4fc6eedb
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M offload/CMakeLists.txt
    M offload/cmake/OpenMPTesting.cmake
    R offload/liboffload/API/APIDefs.td
    R offload/liboffload/API/CMakeLists.txt
    R offload/liboffload/API/Common.td
    R offload/liboffload/API/Device.td
    R offload/liboffload/API/OffloadAPI.td
    R offload/liboffload/API/Platform.td
    R offload/liboffload/API/README.md
    R offload/liboffload/CMakeLists.txt
    R offload/liboffload/README.md
    R offload/liboffload/exports
    R offload/liboffload/include/OffloadImpl.hpp
    R offload/liboffload/include/generated/OffloadAPI.h
    R offload/liboffload/include/generated/OffloadEntryPoints.inc
    R offload/liboffload/include/generated/OffloadFuncs.inc
    R offload/liboffload/include/generated/OffloadImplFuncDecls.inc
    R offload/liboffload/include/generated/OffloadPrint.hpp
    R offload/liboffload/src/Helpers.hpp
    R offload/liboffload/src/OffloadImpl.cpp
    R offload/liboffload/src/OffloadLib.cpp
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/test/lit.cfg
    M offload/test/lit.site.cfg.in
    R offload/test/tools/offload-tblgen/default_returns.td
    R offload/test/tools/offload-tblgen/entry_points.td
    R offload/test/tools/offload-tblgen/functions_basic.td
    R offload/test/tools/offload-tblgen/functions_code_loc.td
    R offload/test/tools/offload-tblgen/functions_ranged_param.td
    R offload/test/tools/offload-tblgen/print_enum.td
    R offload/test/tools/offload-tblgen/print_function.td
    R offload/test/tools/offload-tblgen/type_tagged_enum.td
    R offload/tools/offload-tblgen/APIGen.cpp
    R offload/tools/offload-tblgen/CMakeLists.txt
    R offload/tools/offload-tblgen/EntryPointGen.cpp
    R offload/tools/offload-tblgen/FuncsGen.cpp
    R offload/tools/offload-tblgen/GenCommon.hpp
    R offload/tools/offload-tblgen/Generators.hpp
    R offload/tools/offload-tblgen/PrintGen.cpp
    R offload/tools/offload-tblgen/RecordTypes.hpp
    R offload/tools/offload-tblgen/offload-tblgen.cpp
    M offload/unittests/CMakeLists.txt
    R offload/unittests/OffloadAPI/CMakeLists.txt
    R offload/unittests/OffloadAPI/common/Environment.cpp
    R offload/unittests/OffloadAPI/common/Environment.hpp
    R offload/unittests/OffloadAPI/common/Fixtures.hpp
    R offload/unittests/OffloadAPI/device/olDeviceInfo.hpp
    R offload/unittests/OffloadAPI/device/olGetDevice.cpp
    R offload/unittests/OffloadAPI/device/olGetDeviceCount.cpp
    R offload/unittests/OffloadAPI/device/olGetDeviceInfo.cpp
    R offload/unittests/OffloadAPI/device/olGetDeviceInfoSize.cpp
    R offload/unittests/OffloadAPI/platform/olGetPlatform.cpp
    R offload/unittests/OffloadAPI/platform/olGetPlatformCount.cpp
    R offload/unittests/OffloadAPI/platform/olGetPlatformInfo.cpp
    R offload/unittests/OffloadAPI/platform/olGetPlatformInfoSize.cpp
    R offload/unittests/OffloadAPI/platform/olPlatformInfo.hpp

  Log Message:
  -----------
  Revert "Reland - [Offload] Introduce offload-tblgen and initial new API implementation (#108413) (#117704)"

This reverts commit c979ec05642f292737d250c6682d85ed49bc7b6e.

This showed failures in the post-merge CI.


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

  Changed paths:
    M llvm/lib/Target/X86/X86SchedBroadwell.td
    M llvm/lib/Target/X86/X86SchedHaswell.td
    M llvm/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s
    M llvm/test/tools/llvm-mca/X86/Broadwell/resources-avx2.s
    M llvm/test/tools/llvm-mca/X86/Haswell/resources-avx1.s
    M llvm/test/tools/llvm-mca/X86/Haswell/resources-avx2.s

  Log Message:
  -----------
  [X86] Fix HSW/BDW masked store schedules

Vector masked stores don't use Port5 or Port 7.

Confirmed by augner/uops.info


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

  Changed paths:
    M llvm/lib/Target/X86/X86SchedBroadwell.td
    M llvm/lib/Target/X86/X86SchedHaswell.td
    M llvm/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s
    M llvm/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s

  Log Message:
  -----------
  [X86] Fix HSW/BDW shift/rotate by CL schedules

This is just Port06 not Port0156 - fixes reported thoughputs

Confirmed by augner/uops.info


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

  Changed paths:
    M llvm/lib/Target/X86/X86SchedBroadwell.td
    M llvm/lib/Target/X86/X86SchedHaswell.td
    M llvm/lib/Target/X86/X86SchedIceLake.td
    M llvm/lib/Target/X86/X86SchedSandyBridge.td
    M llvm/lib/Target/X86/X86SchedSkylakeClient.td
    M llvm/lib/Target/X86/X86SchedSkylakeServer.td
    M llvm/test/tools/llvm-mca/X86/Barcelona/resources-sse1.s
    M llvm/test/tools/llvm-mca/X86/Barcelona/resources-sse2.s
    M llvm/test/tools/llvm-mca/X86/Broadwell/resources-sse1.s
    M llvm/test/tools/llvm-mca/X86/Broadwell/resources-sse2.s
    M llvm/test/tools/llvm-mca/X86/Generic/resources-sse1.s
    M llvm/test/tools/llvm-mca/X86/Generic/resources-sse2.s
    M llvm/test/tools/llvm-mca/X86/Haswell/resources-sse1.s
    M llvm/test/tools/llvm-mca/X86/Haswell/resources-sse2.s
    M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-sse1.s
    M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-sse2.s
    M llvm/test/tools/llvm-mca/X86/SandyBridge/resources-sse1.s
    M llvm/test/tools/llvm-mca/X86/SandyBridge/resources-sse2.s
    M llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse1.s
    M llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse2.s
    M llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse1.s
    M llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse2.s
    M llvm/test/tools/llvm-mca/X86/barrier_output.s

  Log Message:
  -----------
  [X86] Cleanup SFENCE/MFENCE schedules

Remove unnecessary overrides.

UOp + Port usage confirmed by augner/uops.info


  Commit: e874c8fc27bbc0e340691d5b5d01c7a1bd365890
      https://github.com/llvm/llvm-project/commit/e874c8fc27bbc0e340691d5b5d01c7a1bd365890
  Author: Igor Kirillov <igor.kirillov at arm.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectOptimize.cpp
    M llvm/test/CodeGen/AArch64/selectopt.ll

  Log Message:
  -----------
  [SelectOpt] Refactor to prepare for support more select-like operations (#117582)

* Enables conversion of several select-like instructions within one
group
* Any number of auxiliary instructions depending on the same condition
can be in between select-like instructions
* After splitting the basic block, move select-like instructions into
the relevant basic blocks and optimise them
* Make it easier to add support shift-base select-like instructions and
also any mixture of zext/sext/not instructions


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

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

  Log Message:
  -----------
  AsmParser: parse zeroinitializer, poison constants (#117809)

LLParser::parseConstantValue is missing support for parsing
zeroinitializer and poison constants. Fix this.


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

  Changed paths:
    M lldb/unittests/debugserver/RNBSocketTest.cpp

  Log Message:
  -----------
  [lldb] Fix RNBSocketTest for #117691


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

  Changed paths:
    M llvm/test/Analysis/MemorySSA/loop-unswitch.ll
    M llvm/test/Analysis/MemorySSA/pr40037.ll
    M llvm/test/Analysis/MemorySSA/pr40749_2.ll
    M llvm/test/Analysis/MemorySSA/pr43641.ll
    M llvm/test/Analysis/MemorySSA/pr46574.ll
    M llvm/test/Analysis/MemorySSA/simple_loop_unswitch_nontrivial.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/2006-06-13-SingleEntryPHI.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/2006-06-27-DeadSwitchCase.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/2007-05-09-Unreachable.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/2007-05-09-tl.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/2007-07-12-ExitDomInfo.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/2007-07-13-DomInfo.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/2007-07-18-DomInfo.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/2007-08-01-LCSSA.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/2008-06-02-DomInfo.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/2010-11-18-LCSSA.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/2011-06-02-CritSwitch.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/2011-09-26-EHCrash.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/2012-04-02-IndirectBr.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/2012-05-20-Phi.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/2015-09-18-Addrspace.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/LIV-loop-condtion.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/cleanuppad.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/copy-metadata.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/crash.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/exponential-behavior.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/nontrivial-unswitch-cost.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/nontrivial-unswitch-freeze.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/nontrivial-unswitch-skip-selects-in-guards.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/nontrivial-unswitch.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/preserve-analyses.ll

  Log Message:
  -----------
  [SimpleLoopUnswitch] Use loop-mssa in more tests (NFC)

We had a lot of -verify-memoryssa tests that did not actually use
MemorySSA, because they were not using the loop-mssa adaptor.


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vector-half-conversions.ll

  Log Message:
  -----------
  [X86] canonicalizeShuffleWithOp - initial support for shuffle(cvt(x),cvt(y)) -> cvt(shuffle(x,y))

Initial support is just for UNPCKL(CVTPH2PS(X),CVTPH2PS(Y)) -> CVTPH2PS(UNPCKL(X,Y))

Making this more general for other shuffles/conversions will have to be done carefully as we have to handle changes in src/dst element width, so I just handled the CVTPH2PS regression case.

Fixes #83414


  Commit: dddeec4becabf71d4067080bcc2c09a9e67c3025
      https://github.com/llvm/llvm-project/commit/dddeec4becabf71d4067080bcc2c09a9e67c3025
  Author: Arseniy Zaostrovnykh <necto.ne at gmail.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
    M clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
    M clang/test/Analysis/copy-elision.cpp
    M clang/test/Analysis/cxx-uninitialized-object-unguarded-access.cpp
    A clang/test/Analysis/void-call-exit-modelling.c

  Log Message:
  -----------
  [analyzer] Avoid out-of-order node traversal on void return (#117863)

The motivating example: https://compiler-explorer.com/z/WjsxYfs43
```C++
#include <stdlib.h>
void inf_loop_break_callee() {
  void* data = malloc(10);
  while (1) {
    (void)data; // line 3
    break; // -> execution continues on line 3 ?!!
  }
}
```

To correct the flow steps in this example (see the fixed version in the
added test case) I changed two things in the engine:
- Make `processCallExit` create a new StmtPoint only for return
  statements. If the last non-jump statement is not a return statement,
  e.g. `(void)data;`, it is no longer inserted in the exploded graph after
  the function exit.
- Skip the purge program points. In the example above, purge
  points are still inserted after the `break;` executes. Now, when the bug
  reporter is looking for the next statement executed after the function
  execution is finished, it will ignore the purge program points, so it
  won't confusingly pick the `(void)data;` statement.

CPP-5778


  Commit: 318c69de52b61d64d5ea113dc2e9f307f7fd4d51
      https://github.com/llvm/llvm-project/commit/318c69de52b61d64d5ea113dc2e9f307f7fd4d51
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M bolt/unittests/Core/MCPlusBuilder.cpp
    M llvm/include/llvm/MC/MCRegisterInfo.h
    M llvm/lib/MCA/HardwareUnits/RegisterFile.cpp
    M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
    M llvm/test/CodeGen/AArch64/GlobalISel/regbank-inlineasm.mir
    M llvm/test/CodeGen/AArch64/aarch64-sve-asm.ll
    M llvm/test/CodeGen/AArch64/blr-bti-preserves-operands.mir
    M llvm/test/CodeGen/AArch64/emit_fneg_with_non_register_operand.mir
    M llvm/test/CodeGen/AArch64/expand-blr-rvmarker-pseudo.mir
    M llvm/test/CodeGen/AArch64/ldrpre-ldr-merge.mir
    M llvm/test/CodeGen/AArch64/machine-outliner-calls.mir
    M llvm/test/CodeGen/AArch64/misched-bundle.mir
    M llvm/test/CodeGen/AArch64/misched-detail-resource-booking-01.mir
    M llvm/test/CodeGen/AArch64/misched-detail-resource-booking-02.mir
    M llvm/test/CodeGen/AArch64/peephole-insvigpr.mir
    M llvm/test/CodeGen/AArch64/preserve.ll
    M llvm/test/CodeGen/AArch64/strpre-str-merge.mir
    M llvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-merging.mir
    M llvm/test/CodeGen/AArch64/sve-intrinsics-int-binaryComm-merging.mir
    M llvm/test/CodeGen/AArch64/sve-intrinsics-int-binaryCommWithRev-merging.mir
    A llvm/unittests/Target/AArch64/AArch64RegisterInfoTest.cpp
    M llvm/unittests/Target/AArch64/CMakeLists.txt
    M llvm/utils/TableGen/RegisterInfoEmitter.cpp

  Log Message:
  -----------
  Reland "[AArch64] Define high bits of FPR and GPR registers (take 2) (#114827)"

The issue with slow compile-time was caused by an assert in
AArch64RegisterInfo.cpp. The assert invokes 'checkAllSuperRegsMarked'
after adding all the reserved registers. This call gets very expensive
after adding the _HI registers due to the way the function searches
in the 'Exception' list, which is expected to be a small list but isn't
(the patch added 190 _HI regs).

It was possible to rewrite the code in such a way that the _HI registers
are marked as reserved after the check. This makes the problem go away
entirely and restores compile-time to what it was before (tested for
`check-runtimes`, which previously showed a ~5x slowdown).

This reverts commits:
  1434d2ab215e3ea9c5f34689d056edd3d4423a78
  2704647fb7986673b89cef1def729e3b022e2607


  Commit: 66126c350f45617c10274cc36828bb1ec7ddbae4
      https://github.com/llvm/llvm-project/commit/66126c350f45617c10274cc36828bb1ec7ddbae4
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

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

  Log Message:
  -----------
  [gn build] Port 318c69de52b6


  Commit: a807bbea6f48b368388cd796782724e3a53f58a0
      https://github.com/llvm/llvm-project/commit/a807bbea6f48b368388cd796782724e3a53f58a0
  Author: Victor Perez <victor.perez at codeplay.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/lib/Conversion/GPUToLLVMSPV/CMakeLists.txt
    M mlir/lib/Conversion/GPUToLLVMSPV/GPUToLLVMSPV.cpp
    M mlir/test/Conversion/GPUToLLVMSPV/gpu-to-llvm-spv.mlir

  Log Message:
  -----------
  [MLIR][GPUToLLVMSPV] Use `llvm.func` attributes to convert `gpu.shuffle` (#116967)

Use `llvm.func`'s `intel_reqd_sub_group_size` attribute instead of
SPIR-V environment attributes in the `gpu.shuffle` conversion pattern.
This metadata is needed to check the semantics of the operation are
supported, i.e., it has a constant width and its value is equal to the
sub-group size.

As the pass also converts `gpu.func` to `llvm.func`, adding a
discardable attribute of name `intel_reqd_sub_group_size` attribute to
the latter is enough for this pattern to work.

We no longer have a notion of "default" sub-group size, so this
attribute needs to be set in the parent function for `gpu.shuffle`
operations to be converted.

Drop dependency on the SPIR-V dialect as we no longer require creating
attributes from this dialect to lower `gpu.shuffle` instances.

---------

Signed-off-by: Victor Perez <victor.perez at codeplay.com>


  Commit: 89b31c9c32f2cd2c038fe2b12d9c66a53c779fc1
      https://github.com/llvm/llvm-project/commit/89b31c9c32f2cd2c038fe2b12d9c66a53c779fc1
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    A flang/test/Lower/OpenMP/declare-target-interface.f90

  Log Message:
  -----------
  [Flang][OpenMP] Fix a crash for declare target in an interface (#117709)

This is a point fix for the crash in #116426. Leaving the bug open to
further explore declare target issues for interfaces.


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

  Changed paths:
    R clang-tools-extra/CODE_OWNERS.TXT
    A clang-tools-extra/Maintainers.txt

  Log Message:
  -----------
  Rename CODE_OWNERS -> Maintainers (#114544)


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

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

  Log Message:
  -----------
  [AlwaysInline] Avoid unnecessary BFI fetches (#117750)

AlwaysInliner doesn't use BFI itself, it only updates it. If BFI is not
already computed, it will spend time to first compute it, and then
update it. This is not necessary: If BFI is not available in the first
place, there is no need to update it.

This is mainly relevant in debug builds for IR that has a lot of
alwaysinline functions.


  Commit: 8d6c73cbf53bd6eb410ac08836e7b128d4a99a16
      https://github.com/llvm/llvm-project/commit/8d6c73cbf53bd6eb410ac08836e7b128d4a99a16
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/test/AST/ast-print-openacc-combined-construct.cpp
    M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
    A clang/test/SemaOpenACC/combined-construct-deviceptr-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-deviceptr-clause.c
    A clang/test/SemaOpenACC/combined-construct-deviceptr-clause.cpp

  Log Message:
  -----------
  [OpenACC] enable 'deviceptr' for combined constructs.

This is another clause whose implementation is identical for combined
constructs as with compute constructs, so this adds tests and enables
it.


  Commit: 198fb5ed4ac7d096da03ea4a0a27832d18b1350f
      https://github.com/llvm/llvm-project/commit/198fb5ed4ac7d096da03ea4a0a27832d18b1350f
  Author: Samira Bazuzi <bazuzi at google.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M clang/include/clang/Analysis/FlowSensitive/ASTOps.h
    M clang/lib/Analysis/FlowSensitive/ASTOps.cpp
    M clang/unittests/Analysis/FlowSensitive/ASTOpsTest.cpp

  Log Message:
  -----------
  [clang][dataflow] Add captured parameters to ReferencedDecls for lamb… (#117771)

…da call operators.

This doesn't require that they be used in the operator's body, unlike
other ReferencedDecls. This is most obviously different from captured
local variables, which can be captured but will not appear in
ReferencedDecls unless they appear in the operator's body.

This difference simplifies the collection of the captured parameters,
but probably could be eliminated if desirable.


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

  Changed paths:
    M clang/include/clang/Basic/DiagnosticASTKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/test/Modules/compare-record.c
    M clang/test/Modules/odr_hash.cpp

  Log Message:
  -----------
  [Clang] replace 'bitfield' with 'bit-field' for consistency (#117881)

Fixes #117711


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

  Changed paths:
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libc/test/integration/startup/gpu/CMakeLists.txt
    A libc/test/integration/startup/gpu/rpc_lane_test.cpp
    M libc/utils/gpu/loader/amdgpu/CMakeLists.txt
    M libc/utils/gpu/loader/amdgpu/amdhsa-loader.cpp

  Log Message:
  -----------
  [libc] Handle differing wavefront sizes correctly in the AMDHSA loader (#117788)

Summary:
The AMDGPU backend can handle wavefront sizes of 32 and 64, with the
native hardware preferring one or the other. The user can override the
hardware with `-mwavefrontsize64` or `-mwavefrontsize32` which
previously wasn't handled. We need to know the wavefront size to know
how much memory to allocate and how to index the RPC buffer. There isn't
a good way to do this with ROCm so we just use the LLVM support for
offloading to check this from the image.


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

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

  Log Message:
  -----------
  [Clang] skip consumed analysis for consteval conditions in control-flow terminators (#117403)

Fixes #117385

---

These changes extend the work done in #116513. The changes add
additional handling to ensure correct behavior by skipping further
checks when a **CFG** contains a `consteval` condition, where no
_explicit expression_ is present, which is required to proceed with
consumed analyses.


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

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

  Log Message:
  -----------
  Reapply [memprof] Add YAML-based deserialization for MemProf profile (#117829)

This patch adds YAML-based deserialization for MemProf profile.

It's been painful to write tests for MemProf passes because we do not
have a text format for the MemProf profile.  We would write a test
case in C++, run it for a binary MemProf profile, and then finally run
a test written in LLVM IR with the binary profile.

This patch paves the way toward YAML-based MemProf profile.
Specifically, it adds new class YAMLMemProfReader derived from
MemProfReader.  For now, it only adds a function to parse StringRef
pointing to YAML data.  Subseqeunt patches will wire it to
llvm-profdata and read from a file.

The field names are based on various printYAML functions in MemProf.h.
I'm not aiming for compatibility with the format used in printYAML,
but I don't see a point in changing the field names.

This iteration works around the unavailability of
ScalarTraits<uintptr_t> on macOS.


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

  Changed paths:
    A llvm/test/Transforms/GVN/setjmp.ll

  Log Message:
  -----------
  [GVN] Add test for #116668 (NFC)


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

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

  Log Message:
  -----------
  [lld][MachO] Support `-allowable_client` (#117155)

Closes #117113.

Follow-up to #114638.


  Commit: 969b7658fe34cf7638e1385d813e765a4c61dfc7
      https://github.com/llvm/llvm-project/commit/969b7658fe34cf7638e1385d813e765a4c61dfc7
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/test/AST/ast-print-openacc-combined-construct.cpp
    M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
    M clang/test/SemaOpenACC/combined-construct-device_type-clause.c

  Log Message:
  -----------
  [OpenACC] Enable 'wait' for combined constructs

Once again a situation where the combined and compute do the exact same
thing as far as Sema/AST/etc is concerned, so this patch adds tests and
enables it.


  Commit: 24593f1814dc02c7404526674838ccfb1c61d780
      https://github.com/llvm/llvm-project/commit/24593f1814dc02c7404526674838ccfb1c61d780
  Author: Saleem Abdulrasool <compnerd at compnerd.org>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M lldb/cmake/modules/LLDBConfig.cmake

  Log Message:
  -----------
  [lldb] build: cleanup extraneous include paths (#117615)

Clean up some unnecessary include paths. The use of `LibXml2::LibXml2`
with `target_link_libraries` on `libLLDBHost` ensures that the header
search path is properly propagated.


  Commit: 8358437bbb5b06d9aebc2940475a5a4d86c091c9
      https://github.com/llvm/llvm-project/commit/8358437bbb5b06d9aebc2940475a5a4d86c091c9
  Author: Mészáros Gergely <gergely.meszaros at intel.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M clang/tools/clang-repl/ClangRepl.cpp

  Log Message:
  -----------
  [clang-repl]: Print stack-trace on crash (#117896)

Call `llvm::sys::PrintStackTraceOnErrorSignal` at the start of main to
1. Print a strack trace on crash
2. Disable the assertion failed popup in Windows Debug Builds

Other tools (for example clang-check or clang-query) already do this.

This fixes debug build bots on windows hanging (waiting for the popup to
be dismissed) and ultimately getting terminated due to timeout.


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

  Changed paths:
    M llvm/utils/TableGen/AsmMatcherEmitter.cpp

  Log Message:
  -----------
  [TableGen] Simplify generated code for validateOperandClass (#117889)

Implement the register operand handling in validateOperandClass with a
table lookup instead of a potentially huge switch.

Part of the motivation for this is improving compile time when clang-18
is used as a host compiler, since it seems to have trouble with very
large switch statements.


  Commit: 2f02b5af6ecb973d3a7faad9b0daff22646e724d
      https://github.com/llvm/llvm-project/commit/2f02b5af6ecb973d3a7faad9b0daff22646e724d
  Author: Nicolas van Kempen <nvankemp at gmail.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.cpp
    M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-starts-ends-with.cpp

  Log Message:
  -----------
  [clang-tidy][modernize-use-starts-ends-with] Fix operator rewriting false negative (#117837)

In C++20, `operator!=` can be rewritten by negating `operator==`. This
is the case for `std::string`, where `operator!=` is not provided hence
relying on this rewriting.

Cover this case by matching `binaryOperation` and adding one case to
`isNegativeComparison`.


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

  Changed paths:
    M clang/lib/Sema/SemaAPINotes.cpp
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaDeclObjC.cpp
    M clang/lib/Sema/SemaFunctionEffects.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    M clang/lib/Sema/TreeTransform.h

  Log Message:
  -----------
  [Sema] Migrate away from PointerUnion::{is,get} (NFC) (#117498)

Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:

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

I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.


  Commit: c29e895ad2bce8ca36debd8ef09d0540dabc99b6
      https://github.com/llvm/llvm-project/commit/c29e895ad2bce8ca36debd8ef09d0540dabc99b6
  Author: knickish <knickish at gmail.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M llvm/lib/Target/M68k/M68kInstrData.td
    M llvm/lib/Target/M68k/M68kInstrInfo.cpp
    M llvm/lib/Target/M68k/M68kRegisterInfo.h
    A llvm/test/CodeGen/M68k/Control/non-cmov-switch.ll

  Log Message:
  -----------
  [M68k] Handle 16 bit MOVs to and from CCR  (#114714)

Builds on @TechnoElf 's CCR MOV pr
https://github.com/llvm/llvm-project/pull/107591 and adds some tests.

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

---------

Co-authored-by: TechnoElf <technoelf at undertheprinter.com>


  Commit: 991154d0fbc951e2b999589a95dabc7deff7acd1
      https://github.com/llvm/llvm-project/commit/991154d0fbc951e2b999589a95dabc7deff7acd1
  Author: Krzysztof Pszeniczny <kpszeniczny at google.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

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

  Log Message:
  -----------
  [LTO] Use .at instead of .lookup to avoid copies. (NFC) (#117888)

`DenseMap::lookup` returns by value (because it default-creates the
returned value if the key isn't present in the map), which means that we
do a lot of copying here. Since we assert that something is present in
the returned value two lines below this call, it's safe to use `.at`
here instead.

Copying and then destroying dense maps here is responsible for 60% of
the time spent in LTO indexing in a large internal build.


  Commit: b185b8512b2c7bf92ba87ea260a7b94d71dec4ee
      https://github.com/llvm/llvm-project/commit/b185b8512b2c7bf92ba87ea260a7b94d71dec4ee
  Author: Bill Wendling <morbo at google.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaStmt.cpp
    M clang/test/Sema/builtin-counted-by-ref.c

  Log Message:
  -----------
  [Clang] Improve Sema diagnostic performance for __builtin_counted_by_ref (#116719)

Implement the sema checks with a placeholder. We then check for that
placeholder in all of the places we care to emit a diagnostic.

Fixes: #115520


  Commit: a4751804985554815899b5dc1544e27139bacdc4
      https://github.com/llvm/llvm-project/commit/a4751804985554815899b5dc1544e27139bacdc4
  Author: RolandF77 <55763885+RolandF77 at users.noreply.github.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.h
    M llvm/lib/Target/PowerPC/PPCInstrP10.td
    A llvm/test/CodeGen/PowerPC/vcmp-setbc-quad.ll
    A llvm/test/CodeGen/PowerPC/vcmp-setbc.ll

  Log Message:
  -----------
  [PowerPC] Use setbc for values from vector compare conditions (#114858)

For P10 use the setbc instruction to get int values from vector compare
summary condition results.


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

  Changed paths:
    M llvm/lib/ProfileData/MemProfReader.cpp

  Log Message:
  -----------
  [memprof] Fix warnings on MSVC

MSVC doesn't seem to count a use in static_assert as a use.


  Commit: 35a5c7129a32f7eedf2d1913447c53cee96eab13
      https://github.com/llvm/llvm-project/commit/35a5c7129a32f7eedf2d1913447c53cee96eab13
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    A clang/test/SemaOpenACC/combined-construct-wait-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-wait-clause.c
    A clang/test/SemaOpenACC/combined-construct-wait-clause.cpp

  Log Message:
  -----------
  [OpenACC] Add tests forgotten in 969b7658fe


  Commit: bbbaeb5584b5f1ab38cc86a9e8ed64ec1dc926b6
      https://github.com/llvm/llvm-project/commit/bbbaeb5584b5f1ab38cc86a9e8ed64ec1dc926b6
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/test/AST/ast-print-openacc-combined-construct.cpp
    A clang/test/SemaOpenACC/combined-construct-attach-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-attach-clause.c
    A clang/test/SemaOpenACC/combined-construct-attach-clause.cpp
    M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c

  Log Message:
  -----------
  [OpenACC] Enable 'attach' clause for combined constructs

Once again, this clause has the same implementation for compute
constructs as combined, so this adds the tests and enables it.


  Commit: 87503fa51c8d726510d48e707a7d2885a5b5936c
      https://github.com/llvm/llvm-project/commit/87503fa51c8d726510d48e707a7d2885a5b5936c
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/RegBankSelect.h
    M llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    R llvm/lib/Target/AMDGPU/AMDGPURegBankSelect.cpp
    R llvm/lib/Target/AMDGPU/AMDGPURegBankSelect.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-abs.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-add.s16.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-add.s32.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-add.v2s16.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn-exp-compr.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn-exp.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn-s-buffer-load.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.ballot.i64.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.class.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.cvt.pkrtz.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.div.fmas.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.div.scale.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.ds.append.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.ds.bpermute.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.ds.consume.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.ds.gws.init.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.ds.gws.sema.v.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.ds.ordered.add.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.ds.ordered.swap.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.ds.permute.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.ds.swizzle.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.else.32.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.else.64.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.fcmp.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.fmul.legacy.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.groupstaticsize.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.icmp.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.image.load.1d.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.image.sample.1d.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.interp.mov.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.interp.p1.f16.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.interp.p1.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.interp.p2.f16.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.interp.p2.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.kernarg.segment.ptr.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.kill.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.lds.direct.load.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.lds.param.load.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.live.mask.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.mfma.gfx90a.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.mfma.gfx940.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.mfma.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.ps.live.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.raw.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.raw.ptr.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.readfirstlane.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.readlane.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.s.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.s.buffer.load.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.s.get.waveid.in.workgroup.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.s.getpc.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.s.getreg.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.s.memrealtime.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.s.memtime.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.s.sendmsg.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.s.sendmsghalt.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.struct.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.struct.buffer.store.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.struct.ptr.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.struct.ptr.buffer.store.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.update.dpp.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.wqm.demote.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.wqm.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.wqm.vote.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.writelane.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.wwm.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgpu-ffbh-u32.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgpu-ffbl-b32.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgpu-wave-address.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-and-s1.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-and.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-anyext.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-ashr.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-assert-align.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-assert-zext.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-atomic-cmpxchg.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-atomicrmw-add.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-atomicrmw-and.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-atomicrmw-fadd.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-atomicrmw-max.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-atomicrmw-min.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-atomicrmw-or.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-atomicrmw-sub.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-atomicrmw-umax.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-atomicrmw-umin.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-atomicrmw-xchg.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-atomicrmw-xor.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-bitcast.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-bitreverse.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-block-addr.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-brcond.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-bswap.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-build-vector.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-concat-vector.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-constant.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-copy.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-ctlz-zero-undef.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-ctpop.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-cttz-zero-undef.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-default.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-dyn-stackalloc.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-extract-vector-elt.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-extract.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fabs.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fadd.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fcanonicalize.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fceil.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fcmp.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fexp2.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-flog2.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fma.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fmul.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fneg.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fpext.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fptosi.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fptoui.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fptrunc.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-frame-index.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-freeze.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fshr.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fsqrt.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fsub.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-icmp.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-icmp.s16.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-illegal-copy.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-implicit-def.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-insert-vector-elt.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-insert.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-intrinsic-trunc.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-inttoptr.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-load.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-lshr.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mad_64_32.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-merge-values.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mul.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-or.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-phi-s1.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-phi.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-ptr-add.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-ptrmask.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-ptrtoint.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-reg-sequence.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-sadde.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-sbfx.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-select.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-sext-inreg.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-sext.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-sextload.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-shl.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-sitofp.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-smax.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-smin.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-smulh.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-split-scalar-load-metadata.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-ssube.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-sub.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-trunc.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-uadde.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-uaddo.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-ubfx.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-uitofp.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-umax.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-umin.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-umulh.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-uniform-load-noclobber.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-unmerge-values.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-usube.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-usubo.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-waterfall-agpr.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-widen-scalar-loads.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-xor.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-zext.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-zextload.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect.mir

  Log Message:
  -----------
  Revert "AMDGPU/GlobalISel: Add stub custom regbankselect pass" (#113913)

This reverts commit e9c49901a43f5b16c3df416460b7e4dbdd24ce03.
Current AMDGPURegBankSelect does nothing different then RegBankSelect.
Revert to using generic RegBankSelect in preparation for adding new
regbankselect passes. New AMDGPURegBankSelect, that will use uniformity
analysis for regbank select decisions, will not subclass RegBankSelect.
Revert regression tests to use regbankselect since amdgpu-regbankselect
will be used by new pass and behavior will be different.


  Commit: 2e9469885d4572a2eedf2669190742c9e3272e6a
      https://github.com/llvm/llvm-project/commit/2e9469885d4572a2eedf2669190742c9e3272e6a
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

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

  Log Message:
  -----------
  [gn build] Port 87503fa51c8d


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

  Changed paths:
    M llvm/test/CodeGen/RISCV/double-intrinsics.ll
    M llvm/test/CodeGen/RISCV/float-intrinsics.ll
    M llvm/test/CodeGen/RISCV/half-intrinsics.ll
    M llvm/test/CodeGen/RISCV/llvm.exp10.ll

  Log Message:
  -----------
  [RISCV] Move scalar llvm.exp10 tests into half/float/double-intrinsics.ll. NFC

Improves coverage for more configurations.


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

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/double-intrinsics.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/float-intrinsics.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir

  Log Message:
  -----------
  [RISCV][GISel] Support f32/f64 llvm.exp10 intrinsics.


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

  Changed paths:
    M llvm/test/CodeGen/RISCV/double-intrinsics-strict.ll
    M llvm/test/CodeGen/RISCV/double-intrinsics.ll
    M llvm/test/CodeGen/RISCV/float-intrinsics-strict.ll
    M llvm/test/CodeGen/RISCV/float-intrinsics.ll
    M llvm/test/CodeGen/RISCV/half-intrinsics.ll

  Log Message:
  -----------
  [RISCV] Add test cases for llvm.tan/asin/acos/atan/atan2/sinh/cosh/tanh. NFC


  Commit: 92a15dd7482ff4e1fae7a07f888564e5b1d53eee
      https://github.com/llvm/llvm-project/commit/92a15dd7482ff4e1fae7a07f888564e5b1d53eee
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.td
    M mlir/lib/Target/LLVMIR/AttrKindDetail.h
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Target/LLVMIR/Import/function-attributes.ll
    M mlir/test/Target/LLVMIR/llvmir.mlir

  Log Message:
  -----------
  [mlir][LLVM] Plumb range attributes on parameters and results through (#117801)

We've had the ability to define LLVM's `range` attribute through
 #llvm.constant_range for some time, and have used this for some GPU
intrinsics. This commit allows using `llvm.range` as a parameter or
result attribute on function declarations and definitions.


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

  Changed paths:
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/lib/ProfileData/MemProfReader.cpp

  Log Message:
  -----------
  [memprof] Remove inline call stacks (#117833)

Now that MemProf format version 1 has been removed, nobody uses:

- IndexedAllocationInfo::CallStack
- IndexedMemProfRecord::CallSites

This patch removed the dead struct fields.

You might notice that IndexedMemProfRecord::{clear,merge} do not
mention CallSiteIds at all.  I think it's an oversight.  clear doesn't
matter at the moment because we call it during serialization to reduce
memory footprint.  merge is simply not as well tested as it should be.
I'll follow up with a separate patch to address these issues.


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

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

  Log Message:
  -----------
  [memprof] Use "using" directives in unit tests (NFC) (#117852)

This tests uses existing "using" directives to shorten unit tests.

- llvm::memprof::hashCallStack -> hashCallStack
- testing::Pair -> Pair
- testing::ElementsAreArray -> ElementsAre
- testing::Contains -> UnorderedElementsAre


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

  Changed paths:
    A llvm/test/CodeGen/RISCV/rvv/shrinkwrap.ll
    M llvm/test/CodeGen/RISCV/shrinkwrap.ll

  Log Message:
  -----------
  [RISCV] Add shrinkwrap test cases showing gaps in current impl

This covers multiple interactions reduced from larger workloads:
1) Rematerializing addi s0, x0, <imm> to avoid the need to spill a CSR, with
   the common user being a branch.  (i.e. branch on immediate idioms)
2) Rematerializing addi s0, a0, <imm> to avoid the need to spill a CSR, with
   the common user being a vector load or store.  (i.e. because we don't
   have (reg+imm) addressing on vector.)
3) Independent of the previous, we could still shrink wrap these by locally
   using a non-CSR, and deferring the move into csr into the non-shrink
   wrapped path.
4) Weirdly, MachineCSE is producing a different result when an edge is
   manually split.  This edge split should be irrelevant to the CSE?


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

  Changed paths:
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-function-attr.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-in-container-span-construct.cpp

  Log Message:
  -----------
  Reapply "Respect the [[clang::unsafe_buffer_usage]] attribute for field and constructor initializers (#91991)"

It was originally reverted due to an [existing bug](https://github.com/llvm/llvm-project/issues/116286). Relanding it as the bug was fixed by https://github.com/llvm/llvm-project/pull/116433.


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

  Changed paths:
    M libcxx/include/__atomic/atomic_sync.h
    M libcxx/include/latch
    M libcxx/include/semaphore

  Log Message:
  -----------
  [libc++] Refactor atomic_wait using lambdas (#115746)

Now that we've dropped support for older C++ dialects in the
synchronization library, we can use lambdas to clarify some of the code
used to implement atomic_wait.


  Commit: 8c1bd9792be1d7d19eebce57be556d5cadeb2d15
      https://github.com/llvm/llvm-project/commit/8c1bd9792be1d7d19eebce57be556d5cadeb2d15
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/test/AST/ast-print-openacc-combined-construct.cpp
    M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
    A clang/test/SemaOpenACC/combined-construct-no_create-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-no_create-clause.c
    A clang/test/SemaOpenACC/combined-construct-no_create-clause.cpp

  Log Message:
  -----------
  [OpenACC] Expose 'no_create' clause in combined constructs

Once again, not much work besides ensuring they are supposed to work the
same.


  Commit: b6ab04c69c907362dc7ab65eb43a9907c9adcdc1
      https://github.com/llvm/llvm-project/commit/b6ab04c69c907362dc7ab65eb43a9907c9adcdc1
  Author: Clément Fournier <clem.fournier at proton.me>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M mlir/include/mlir/IR/Matchers.h
    M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
    M mlir/test/Dialect/Arith/canonicalize.mlir

  Log Message:
  -----------
  [mlir][arith] Fix arith maxnumf/minnumf folder (#114595)

Fix #114594 
#### Context

[IEEE754-2019](https://ieeexplore.ieee.org/document/8766229) Sec 9.6
defines 2 minimum and 2 maximum operations. They are termed
- `maximum` and `maximumNumber`
- `minimum` and `minimumNumber`

In the arith dialect they are respectively named `maximumf` and
`maxnumf`, `minimumf` and `minnumf` so I use these names.

These operations only differ in how they handle NaN values. For
`maximumf` and `minimumf`, if any operand is NaN, then the result is
NaN, ie, NaN is propagated. For `maxnumf` and `minnumf`, if any operand
is NaN, then the other operand is returned, ie, NaN is absorbed. The
following identities hold:
```
maximumf(x, NaN) = maximumf(NaN, x) = NaN
maxnumf(x, NaN) = maxnumf(NaN, x) = x
```
(and same for min).

#### Arith folders

In the following I am talking about the folders for the arith
operations. The folders implement the following canonicalizations (`op`
is one of maximumf, maxnumf, minimumf, minnumf):
1. `op(x, x)` folds to `x` 
2. for `op(x, y)`, if `y` folds to the neutral element of the `op`, then
the `op` is folded to `x`.
    1. The neutral element of `maximumf` is -Infty
    2. The neutral element of `minimumf` is +Infty
3. The neutral element of `maxnumf` and `minnumf` is NaN as shown above.
3. for `op(x, y)`, if both `x` and `y` fold to constants `x'` and `y'`,
then the `op` is folded and the result is calculated with a
corresponding runtime function.

The folders are properly implemented for `maximumf` and `minimumf`, but
the same implementations were copied for the respective `maxnumf` and
`minnumf` functions. This means the neutral element of the second folder
above is wrong:
- `maxnumf(x, -Infty)` is folded to `x`, but that's wrong, because if
`x` is NaN then -Infty should be the result
- `minnumf(x, +Infty)` is folded to `x`, but same thing, the result
should be +Infty when `x` is NaN.

This is fixed by using `NaN` as neutral element for the `maxnumf` and
`minnumf` ops.[^1]

Again because of copy paste mistake, the third pattern above is using
`llvm::maximum` instead of `llvm::maximumnum` to calculate the result in
case both arguments fold to a constant:
- `maxnumf(NaN, x')` would have been folded to `llvm::maximum(NaN, x')`
which is `NaN`, whereas the result should be `x'`.

This folder for `minnumf` already correctly uses `llvm::minnum`, but I
fixed the one for `maxnumf` in this PR.


[^1]: this is by the way already correctly implemented in
[`arith::getIdentityValueAttr`](https://github.com/oowekyala/llvm-project/blob/a821964e0320d1e35514ced149ec10ec06d7131a/mlir/lib/Dialect/Arith/IR/ArithOps.cpp#L2493-L2498)


  Commit: 854d7301f989dd1e3c838ef4f48cb57bb7d496e0
      https://github.com/llvm/llvm-project/commit/854d7301f989dd1e3c838ef4f48cb57bb7d496e0
  Author: Vigneshwar Jayakumar <vigneshwarjayakumar at gmail.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaDecl.cpp
    A clang/test/SemaHIP/zero-sized-device-array.hip

  Log Message:
  -----------
  [Clang/AMDGPU] Zero sized arrays not allowed in HIP device code. (#113470)

Added diagnosis to throw error when zero sized arrays are used in the
HIP device code. SWDEV-449592

---------

Co-authored-by: vigneshwar jayakumar <vigneshwar.jayakumar at amd.com>


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

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/double-intrinsics.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/float-intrinsics.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir

  Log Message:
  -----------
  [RISCV][GISel] Support libcalls for f32/f64 acos/asin/atan/atan2/cosh/sinh/tanh.


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

  Changed paths:
    M libc/src/__support/RPC/rpc_client.cpp
    M libc/src/__support/RPC/rpc_client.h
    M libc/utils/gpu/loader/amdgpu/amdhsa-loader.cpp
    M libc/utils/gpu/loader/nvptx/nvptx-loader.cpp
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/test/Transforms/OpenMP/keep_rpc_client.ll
    M llvm/test/Transforms/OpenMP/remove_rpc_client.ll
    M offload/plugins-nextgen/common/src/RPC.cpp

  Log Message:
  -----------
  [libc] Export a pointer to the RPC client directly (#117913)

Summary:
We currently have an unnecessary level of indirection when initializing
the RPC client. This is a holdover from when the RPC client was not
trivially copyable and simply makes it more complicated. Here we use the
`asm` syntax to give the C++ variable a valid name so that we can just
copy to it directly.

Another advantage to this, is that if users want to piggy-back on the
same RPC interface they need only declare theirs as extern with the same
symbol name, or make it weak to optionally use it if LIBC isn't
avaialb.e


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

  Changed paths:
    M libc/shared/rpc_opcodes.h
    M libc/utils/gpu/loader/Loader.h
    M libc/utils/gpu/server/CMakeLists.txt
    R libc/utils/gpu/server/llvmlibc_rpc_server.h
    M libc/utils/gpu/server/rpc_server.cpp
    M offload/plugins-nextgen/common/CMakeLists.txt
    M offload/plugins-nextgen/common/src/RPC.cpp

  Log Message:
  -----------
  [libc] Move libc server handlers to a shared header (#117908)

Summary:
We can simply include this header from the shared directory now and do
not need to have this level of indirection. Simply stash it with the
other libc opcode handlers.

If we were able to move the printf handlers to the shared directory then
this could just be a header as well, which would HEAVILY simplify the
mess associated with building the RPC server first in the projects
build, then copying it to the runtimes build.


  Commit: 1669ac434cd4aa0ad47d42401c6d4e2afd826d30
      https://github.com/llvm/llvm-project/commit/1669ac434cd4aa0ad47d42401c6d4e2afd826d30
  Author: lialan <me at alanli.org>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

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

  Log Message:
  -----------
  [MLIR] Refactor mask compression logic when emulating `vector.maskedload` ops (#116520)

This patch simplifies and extends the logic used when compressing masks
emitted by `vector.constant_mask` to support extracting 1-D vectors from
multi-dimensional vector loads. It streamlines mask computation, making
it applicable for multi-dimensional mask generation, improving the
overall handling of masked load operations.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shufflevector-vnsrl.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll

  Log Message:
  -----------
  [RISCV] Match vcompress during shuffle lowering (#117748)

This change matches a subset of vcompress patterns during shuffle
lowering. The subset implemented requires a contiguous prefix of
demanded elements followed by undefs. This subset was chosen for two
reasons: 1) which elements to spurious demand is a non-obvious problem,
and 2) my first several attempts at implementing the general case were
buggy. I decided to go with the simple case to start with.

vcompress scales better with LMUL than a general vrgather, and at least
the SpaceMit X60, has higher throughput even at m1. It also has the
advantage of requiring smaller vector constants at one bit per element
as opposed to vrgather which is a minimum of 8 bits per element. The
downside to using vcompress is that we can't fold a vselect into it, as
there is no masked vcompress variant.

For reference, here are the relevant throughputs from camel-cdr's data
table on BP3 (X60):
  vrgather.vv v8,v16,v24    4.0  16.0  64.0  256.0
  vcompress.vm v8,v16,v24   3.0  10.0  36.0  136.
  vmerge.vvm v8,v16,v24,v0  2.0  4.0   8.0   16.0

The largest concern with the extra vmerge is that we locally increase
register pressure. If we do have masking, we also have a passthru,
without the ability to fold that into the vcompress, we need to keep it
alive a bit longer. This can hurt at e.g. m8 where we have very few
architectural registers. As compared with the vrgather.vv sequence, this
is only one additional m1 VREG - since we no longer need the index
vector. It compares slightly worse against vrgatherie16.vv which can use
index vectors smaller than other operands. Note that we could
potentially fold the vmerge if only tail elements are being preserved; I
haven't investigated this.

It is unfortunately hard given our current lowering structure to know if
we're emitting a shuffle where masking will follow. Thankfully, it
doesn't seem to show up much in practice, so I think we can probably
ignore it.

This patch only handles single source compress idioms at the moment.
This is an effort to avoid interacting with other patches on review for
changing how we canonicalize length changing shuffles.


  Commit: e3fdc3aa81c7e8196d804fbde1a3f76796dbd5dd
      https://github.com/llvm/llvm-project/commit/e3fdc3aa81c7e8196d804fbde1a3f76796dbd5dd
  Author: Felipe Magno de Almeida <felipe.m.almeida at gmail.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVInsertWriteVXRM.cpp
    M llvm/lib/Target/RISCV/RISCVProcessors.td
    A llvm/test/CodeGen/RISCV/rvv/vxrm-insert-out-of-loop.ll

  Log Message:
  -----------
  [RISCV] Allow hoisting VXRM writes out of loops speculatively (#110044)

Change the intersect for the anticipated algorithm to ignore unknown
when anticipating. This effectively allows VXRM writes speculatively
because it could do a VXRM write even when there's branches where VXRM
is unneeded.

The importance of this change is because VXRM writes causes pipeline
flushes in some micro-architectures and so it makes sense to allow more
aggressive hoisting even if it causes some degradation for the slow
path.

An example is this code:
```
typedef unsigned char uint8_t;
__attribute__ ((noipa))
void foo (uint8_t *dst,  int i_dst_stride,
           uint8_t *src1, int i_src1_stride,
           uint8_t *src2, int i_src2_stride,
           int i_width, int i_height )
{
   for( int y = 0; y < i_height; y++ )
     {
       for( int x = 0; x < i_width; x++ )
         dst[x] = ( src1[x] + src2[x] + 1 ) >> 1;
       dst  += i_dst_stride;
       src1 += i_src1_stride;
       src2 += i_src2_stride;
     }
}
```
With this patch, the code above generates a hoisting VXRM writes out of
the outer loop.


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

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

  Log Message:
  -----------
  Fix a build warning introduce by my febbf910


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

  Changed paths:
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/test/Transforms/OpenMP/keep_rpc_client.ll
    M llvm/test/Transforms/OpenMP/remove_rpc_client.ll

  Log Message:
  -----------
  [OpenMP] Fix RPC client not being optimized out after changes

Summary:
I forgot that this check deliberately looked through the indirection I
removed. Fix it to just check if the symbol has no users.


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

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

  Log Message:
  -----------
  [RISCV] Use RISCVSubtarget::is64Bit() instead of hasFeature(RISCV::Feature64Bit). NFC


  Commit: 8df63211a65693c7cc760e361adf20edd450fafa
      https://github.com/llvm/llvm-project/commit/8df63211a65693c7cc760e361adf20edd450fafa
  Author: Pranav Kant <prka at google.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M llvm/lib/Bitstream/Reader/BitstreamReader.cpp

  Log Message:
  -----------
  [BitstreamReader] Fix 32-bit overflow  (#117363)

This got exposed when processing large LTO-generated files leading to
crashes.


  Commit: 21af99ab84e434819b20452367325b187492d372
      https://github.com/llvm/llvm-project/commit/21af99ab84e434819b20452367325b187492d372
  Author: Maurice Heumann <MauriceHeumann at gmail.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86WinEHState.cpp
    A llvm/test/CodeGen/WinEH/wineh-scope-statenumbering.ll

  Log Message:
  -----------
  [WinEH] Emit state stores for SEH scopes (#116546)

At the moment Windows 32 bit SEH state stores are only emitted for
throwing calls.

Windows 32 bit SEH state stores should also be emitted before SEH scope
begin and before SEH scope end.
An invalid inline memory access would otherwise not trigger unwinding,
in combination with /EHa.

This fixes #90946


  Commit: e573c6b67eb729a625431121139100bebc61ba1f
      https://github.com/llvm/llvm-project/commit/e573c6b67eb729a625431121139100bebc61ba1f
  Author: Yusuke MINATO <minato.yusuke at fujitsu.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M flang/lib/Lower/Bridge.cpp
    M flang/test/Lower/HLFIR/goto-do-body.f90
    M flang/test/Lower/goto-do-body.f90
    M flang/test/Lower/nsw.f90

  Log Message:
  -----------
  [flang] Add nsw to DO loop parameters (#113854)

nsw is added to DO loop parameters (initial parameters, terminal
parameters, and incrementation parameters).
This can help vectorization in some cases like #110609.

See also the discussion in
https://discourse.llvm.org/t/rfc-add-nsw-flags-to-arithmetic-integer-operations-using-the-option-fno-wrapv/77584/20.


  Commit: 9bdf683ba6cd9ad07667513d264a2bc02d969186
      https://github.com/llvm/llvm-project/commit/9bdf683ba6cd9ad07667513d264a2bc02d969186
  Author: abhishek-kaushik22 <abhishek.kaushik at intel.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    A llvm/test/CodeGen/X86/extract-vselect-setcc.ll

  Log Message:
  -----------
  [X86] Enforce strict pre-legalization to combine in scalarizeExtEltFP (#117681)

Use a `DCI` object to actually check the DAG combine level instead of
using the type `i1` because this assumption fails on AVX512 where we
have types like `v8i1` after legalization.

Closes #117684


  Commit: 65339e4d74923711c1bf6babfd59fd46f74647ba
      https://github.com/llvm/llvm-project/commit/65339e4d74923711c1bf6babfd59fd46f74647ba
  Author: Stella Laurenzo <stellaraccident at gmail.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M mlir/CMakeLists.txt
    M mlir/cmake/modules/MLIRDetectPythonEnv.cmake

  Log Message:
  -----------
  [mlir] Add option to disable MLIR Python dev package configuration. (#117934)

Adds a CMake option MLIR_DISABLE_CONFIGURE_PYTHON_DEV_PACKAGES which
gates doing package discovery and configuration for Python dev packages
by MLIR (this was made opt-out to preserve compatibility with
find_package(MLIR) based uses which do not set the standard options).

The default Python setup that MLIR does has been a problem for
super-projects that include LLVM for a long time because it forces a
very specific package discovery mechanism that is not uniform in all
uses.

When reviewing #117922, I noted that this would effectively be a break
the world event for downstreams, forcing them to adapt their nanobind
dep to the exact way that MLIR does it. Adding the option to just
wholesale skip the built-in configuration heuristics at least gives us a
mechanism to tell downstreams to migrate to, giving them complete
control and not requiring packaging workarounds. This seemed a better
option than (once again) creating a situation where downstreams could
not integrate the dep change without doing tricky infra upgrades, and it
removes the burden from the author of that patch from needing to think
about how this affects super-projects that include MLIR (i.e. they can
just be told to do it themselves as needed vs being in a wedged state
and unable to upgrade).


  Commit: d2b482b0efd1d523852c9add8ed6b2035ce1acd9
      https://github.com/llvm/llvm-project/commit/d2b482b0efd1d523852c9add8ed6b2035ce1acd9
  Author: Omar Hossam <moar.ahmed at gmail.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/sys/syscall.h.def
    M libc/newhdrgen/yaml/sys/mman.yaml
    M libc/spec/linux.td
    M libc/src/sys/mman/CMakeLists.txt
    M libc/src/sys/mman/linux/CMakeLists.txt
    A libc/src/sys/mman/linux/process_mrelease.cpp
    A libc/src/sys/mman/process_mrelease.h
    M libc/test/src/sys/mman/linux/CMakeLists.txt
    A libc/test/src/sys/mman/linux/process_mrelease_test.cpp

  Log Message:
  -----------
  [libc] (reland #117503) Implement process_mrelease (#117851)

This PR implements process_mrelease.
A previous PR was merged #117503, but failed on merge due to an issue in
the tests. Namely the failing tests were comparing against return type
as opposed to errno. This is fixed in this PR.


  Commit: 63c5a422f07da9925a4700f54016ab8623567718
      https://github.com/llvm/llvm-project/commit/63c5a422f07da9925a4700f54016ab8623567718
  Author: A. Jiang <de34 at live.cn>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/DeclCXX.h
    M clang/lib/AST/DeclCXX.cpp
    M clang/test/AST/ByteCode/cxx23.cpp
    M clang/test/SemaCXX/literal-type.cpp

  Log Message:
  -----------
  [Clang] Fix constexpr-ness on implicitly deleted destructors (#116359)

In C++20, a defaulted but implicitly deleted destructor is constexpr if
and only if the class has no virtual base class. This hasn't been
changed in C++23 by P2448R2.

Constexpr-ness on a deleted destructor affects almost nothing. The
`__is_literal` intrinsic is related, while the corresponding
`std::is_literal_type(_v)` utility has been removed in C++20. A recently
added example in `test/AST/ByteCode/cxx23.cpp` will become valid, and
the example is already accepted by GCC.

Clang currently behaves correctly in C++23 mode, because the
constexpr-ness on defaulted destructor is relaxed by P2448R2. But we
should make similar relaxation for an implicitly deleted destructor.

Fixes #85550.


  Commit: c8cd497c9889b051671c7fe2eb6e4b3bbe6606f9
      https://github.com/llvm/llvm-project/commit/c8cd497c9889b051671c7fe2eb6e4b3bbe6606f9
  Author: Haohai Wen <haohai.wen at intel.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M clang/docs/UsersManual.rst
    M clang/include/clang/Driver/Options.td
    M clang/test/Driver/cl-options.c

  Log Message:
  -----------
  [Driver] Support fprofile-sample-use= for CL (#117282)

Sampling PGO has already been supported on Windows. This patch adds
/fprofile-sample-use= /fprofile-sample-use: /fno-profile-sample-use and
supports -fprofile-sample-use= for CL.


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

  Changed paths:
    M libc/src/sys/mman/linux/process_mrelease.cpp
    M libc/test/src/sys/mman/linux/CMakeLists.txt
    M libc/test/src/sys/mman/linux/process_mrelease_test.cpp

  Log Message:
  -----------
  [libc] skip test and return ENOSYS when processm_release unavailable (#117951)


  Commit: 4a3f46de5022418452947bb630cdb5b9658e82ea
      https://github.com/llvm/llvm-project/commit/4a3f46de5022418452947bb630cdb5b9658e82ea
  Author: LiqinWeng <liqin.weng at spacemit.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M llvm/lib/Analysis/VectorUtils.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    A llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-call-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reduction.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-call-intrinsics.ll

  Log Message:
  -----------
  [LV][EVL] Support call instruction with EVL-vectorization (#110412)


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

  Changed paths:
    M offload/CMakeLists.txt
    M offload/plugins-nextgen/common/CMakeLists.txt
    M runtimes/cmake/Modules/FindLibcCommonUtils.cmake

  Log Message:
  -----------
  [Offload] Use libc 'hand-in-hand' module to find RPC header (#117928)

Summary:
We should now use the official™ way to include the files from
`libc/shared`. This required some code to make sure that it's not
included twice if multiple people use it as well as a sanity check on
the directory.


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

  Changed paths:
    A llvm/utils/merge-json.py
    M runtimes/CMakeLists.txt

  Log Message:
  -----------
  [Runtimes] Merge 'compile_commands.json' files from runtimes build (#116303)

Summary:
When building a project in a runtime mode, the compilation database is a
separate CMake invocation. So its `compile_commands.json` file will be
placed elsewhere in the `runtimes/runtime-bins` directory. This is
somewhat annoying for ongoing development when a runtimes build is
necessary. This patch adds some CMake magic to merge the two files.


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

  Changed paths:
    M libc/config/linux/riscv/entrypoints.txt

  Log Message:
  -----------
  [libc] disable process_mrelease for riscv (#117956)

`process_mrelease` upsets the RV32 build bot. Disable it for now.


  Commit: 1f422dc399e2b62d0c8fc64849af915d89c28d67
      https://github.com/llvm/llvm-project/commit/1f422dc399e2b62d0c8fc64849af915d89c28d67
  Author: sfzhu93 <42506672+sfzhu93 at users.noreply.github.com>
  Date:   2024-11-27 (Wed, 27 Nov 2024)

  Changed paths:
    M mlir/include/mlir/Tools/mlir-opt/MlirOptMain.h
    M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp

  Log Message:
  -----------
  [MLIR][mlir-opt] add support for disabling diagnostics (#117669)

This PR adds a command line argument `--mlir-disable-diagnostic` for
disabling diagnostic information for mlir-opt.
When debugging with mlir-opt, some developers would like to disable the
diagnostic information and focus specifically on the dumped IR. For
example, https://github.com/triton-lang/triton/pull/5250


  Commit: db273c6c242f51792ed4298a24bd2c344214ce38
      https://github.com/llvm/llvm-project/commit/db273c6c242f51792ed4298a24bd2c344214ce38
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M mlir/test/lib/Dialect/Test/TestAttrDefs.td
    M mlir/test/mlir-tblgen/attr-or-type-format-roundtrip.mlir
    M mlir/tools/mlir-tblgen/EnumsGen.cpp

  Log Message:
  -----------
  [MLIR][ODS] Add support for wrapping enums with std::optional in Type/Attr definitions (#117719)


  Commit: c8b15157d70c57489b9aba939065c01c3f697ddb
      https://github.com/llvm/llvm-project/commit/c8b15157d70c57489b9aba939065c01c3f697ddb
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp

  Log Message:
  -----------
  [mlir-opt] Fix -Wcovered-switch-default in MlirOptMain.cpp (NFC)

/llvm-project/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:262:7:
error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
      default:
      ^
1 error generated.


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

  Changed paths:
    M mlir/docs/DialectConversion.md
    M mlir/include/mlir/Transforms/DialectConversion.h

  Log Message:
  -----------
  [mlir][Transforms][NFC] Dialect conversion: Improve docs for materializations (#117847)

The terms "legal type" and "illegal type" are ambiguous when talking
about materializations. E.g., for target materializations we do not
necessarily convert from illegal to legal types. We convert from the
most recently mapped value to the type that was produced by converting
the original type.

---------

Co-authored-by: Markus Böck <markus.boeck02 at gmail.com>


  Commit: 81f544d4659a96772c7e2ffed1bbe557993f4b34
      https://github.com/llvm/llvm-project/commit/81f544d4659a96772c7e2ffed1bbe557993f4b34
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    A flang/include/flang/Common/OpenMP-utils.h
    M flang/include/flang/Optimizer/OpenMP/Passes.td
    M flang/lib/Common/CMakeLists.txt
    A flang/lib/Common/OpenMP-utils.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Optimizer/OpenMP/CMakeLists.txt
    A flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
    M flang/lib/Optimizer/Passes/Pipelines.cpp
    A flang/test/Lower/OpenMP/generic-loop-rewriting.f90
    A flang/test/Transforms/generic-loop-rewriting-todo.mlir
    A flang/test/Transforms/generic-loop-rewriting.mlir

  Log Message:
  -----------
  [flang][OpenMP] Rewrite `omp.loop` to semantically equivalent ops (#115443)

Introduces a new conversion pass that rewrites `omp.loop` ops to their
semantically equivalent op nests bases on the surrounding/binding
context of the `loop` op. Not all forms of `omp.loop` are supported yet.
See `isLoopConversionSupported` for more info on which forms are
supported.


  Commit: 2918a47f421b3d41eb54dbd8751c6e8df2adbe23
      https://github.com/llvm/llvm-project/commit/2918a47f421b3d41eb54dbd8751c6e8df2adbe23
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
    M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/test/Dialect/OpenMP/ops.mlir

  Log Message:
  -----------
  [mlir][OpenMP] Annotate `private` vars with `map_idx` when needed (#116770)

This PR extends the MLIR representation for `omp.target` ops by adding a
`map_idx` to `private` vars. This annotation stores the index of the map
info operand corresponding to the private var. If the variable does not
have a map operand, the `map_idx` attribute is either not present at all
or its value is `-1`.

This makes matching the private variable to its map info op easier (see
https://github.com/llvm/llvm-project/pull/116576 for usage).


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

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

  Log Message:
  -----------
  [ORC] Fail early in ExecutionSession::registerJITDispatchHandlers.

Check that we're not reusing any handler tag addresses before installing any
handlers. This ensures that either all of the handlers are installed*, or none
of them are, simplifying error recovery.

* Ignoring handlers whose tags couldn't be resolved at all: these were never
installed.


  Commit: fb3765959f2fcb97fbb2a247b619150926f0e0b6
      https://github.com/llvm/llvm-project/commit/fb3765959f2fcb97fbb2a247b619150926f0e0b6
  Author: Carlos Alberto Enciso <Carlos.Enciso at sony.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
    M llvm/test/tools/llvm-debuginfo-analyzer/DWARF/05-dwarf-incorrect-lexical-scope-variable.test
    M llvm/unittests/DebugInfo/LogicalView/CMakeLists.txt
    A llvm/unittests/DebugInfo/LogicalView/DWARFGeneratedTest.cpp

  Log Message:
  -----------
  [llvm-debuginfo-analyzer] Common handling of unsigned attribute values. (#116027)

- In the DWARF reader, for those attributes that can have an unsigned
value, allow for the following cases:
  * Is an implicit constant
  * Is an optional value
- The testing is done by creating a file with generated DWARF, using
`DwarfGenerator` (generate DWARF debug info for unit tests).


  Commit: 1c7695846559c2b191463aec46beb26c4a5c2bae
      https://github.com/llvm/llvm-project/commit/1c7695846559c2b191463aec46beb26c4a5c2bae
  Author: Durgadoss R <durgadossr at nvidia.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp

  Log Message:
  -----------
  [NVPTX] Add unreachable for TMA Inst Printer (#117850)

This patch adds the llvm_reachable() for TMA
reduction opcode printer method, outside the
switch.

We had this inside the default-case leading to
the warning below (and hence was removed):
error: default label in switch which covers all enumeration values
         [-Werror,-Wcovered-switch-default]

Signed-off-by: Durgadoss R <durgadossr at nvidia.com>


  Commit: f3cf24fcc46ab1b9612d7dcb55ec5f18ea2dc62f
      https://github.com/llvm/llvm-project/commit/f3cf24fcc46ab1b9612d7dcb55ec5f18ea2dc62f
  Author: s-watanabe314 <watanabe.shu-06 at fujitsu.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M flang/lib/Optimizer/Passes/Pipelines.cpp
    M flang/lib/Optimizer/Transforms/FunctionAttr.cpp
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Fir/arrayset.fir
    M flang/test/Fir/arrexp.fir
    M flang/test/Fir/basic-program.fir
    M flang/test/Fir/box-offset-codegen.fir
    M flang/test/Fir/box.fir
    M flang/test/Fir/boxproc.fir
    M flang/test/Fir/commute.fir
    M flang/test/Fir/coordinateof.fir
    M flang/test/Fir/embox.fir
    M flang/test/Fir/field-index.fir
    M flang/test/Fir/ignore-missing-type-descriptor.fir
    M flang/test/Fir/polymorphic.fir
    M flang/test/Fir/struct-passing-x86-64-byval.fir
    M flang/test/Fir/target-rewrite-complex-10-x86.fir
    M flang/test/Fir/target.fir
    M flang/test/Integration/OpenMP/copyprivate.f90
    M flang/test/Integration/debug-local-var-2.f90
    M flang/test/Transforms/constant-argument-globalisation.fir
    A flang/test/Transforms/function-attrs.fir

  Log Message:
  -----------
  [flang] Apply nocapture attribute to dummy arguments (#116182)

Apply llvm.nocapture attribute to dummy arguments that do not have the
target, asynchronous, volatile, or pointer attributes in a procedure
that is not a bind(c). This was discussed in


https://discourse.llvm.org/t/applying-the-nocapture-attribute-to-reference-passed-arguments-in-fortran-subroutines/81401


  Commit: d36a4c07156de01b05ea41d5876c671de64e99c6
      https://github.com/llvm/llvm-project/commit/d36a4c07156de01b05ea41d5876c671de64e99c6
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVProcessors.td
    M llvm/test/CodeGen/RISCV/convert-highly-predictable-select-to-branch.ll

  Log Message:
  -----------
  [RISCV] Rename some Feature* to Tune* (#117966)

These features should be tune features.


  Commit: 9ea5be639d31560faec993b4aebb3e10c7d4c8e2
      https://github.com/llvm/llvm-project/commit/9ea5be639d31560faec993b4aebb3e10c7d4c8e2
  Author: Elvis Wang <elvis.wang at sifive.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/select-costs.ll

  Log Message:
  -----------
  Recommit "[LV][VPlan] Remove any-of reduction from precomputeCost. NFC (#117109)" (#117289)

Update the test cases contains `any-of` printings from the
precomputeCost().

Origin message: 

The any-of reduction contains phi and select instructions.

The select instruction might be optimized and removed in the vplan which
may cause VF difference between legacy and VPlan-based model. But if the
select instruction be removed, planContainsAdditionalSimplifications()
will catch it and disable the assertion.

Therefore, we can just remove the ayn-of reduction calculation in the
precomputeCost().



Recommit "[LV][VPlan] Remove any-of reduction from precomputeCost. NFC
(#117109)"


  Commit: c4645ffedacad18e4cd1dd372288aa55178b1c44
      https://github.com/llvm/llvm-project/commit/c4645ffedacad18e4cd1dd372288aa55178b1c44
  Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M clang/test/Driver/print-supported-extensions-riscv.c
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    A llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/test/CodeGen/RISCV/attributes.ll
    A llvm/test/MC/RISCV/xqcicsr-invalid.s
    A llvm/test/MC/RISCV/xqcicsr-valid.s
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Add Qualcomm uC Xqcicsr (CSR) extension (#117169)

The Qualcomm uC Xqcicsr extension adds 2 instructions that can read and
write CSRs.

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

This patch adds assembler only support.


  Commit: 93f7398bdba9d1547df21156db4d5393f0ab5ec8
      https://github.com/llvm/llvm-project/commit/93f7398bdba9d1547df21156db4d5393f0ab5ec8
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVSubtarget.cpp

  Log Message:
  -----------
  [RISCV] Add TuneDisableLatencySchedHeuristic

This tune feature will disable latency scheduling heuristic.

This can reduce the number of spills/reloads but will cause some
regressions on some cores.

CPU may add this tune feature if they find it's profitable.

Reviewers: lukel97, michaelmaitland, asb, preames, mshockwave, topperc

Reviewed By: michaelmaitland, mshockwave, topperc

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


  Commit: c1dff7152592f1beee9059ee8e2cb3cc68baea4d
      https://github.com/llvm/llvm-project/commit/c1dff7152592f1beee9059ee8e2cb3cc68baea4d
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M lldb/include/lldb/Host/Socket.h
    M lldb/include/lldb/Host/common/TCPSocket.h
    M lldb/include/lldb/Host/common/UDPSocket.h
    M lldb/include/lldb/Host/linux/AbstractSocket.h
    M lldb/include/lldb/Host/posix/DomainSocket.h
    M lldb/source/Host/common/Socket.cpp
    M lldb/source/Host/common/TCPSocket.cpp
    M lldb/source/Host/common/UDPSocket.cpp
    M lldb/source/Host/linux/AbstractSocket.cpp
    M lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp
    M lldb/source/Host/posix/DomainSocket.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
    M lldb/tools/lldb-server/lldb-platform.cpp
    M lldb/unittests/Host/MainLoopTest.cpp
    M lldb/unittests/Host/SocketTest.cpp
    M lldb/unittests/TestingSupport/Host/SocketTestUtilities.cpp
    M lldb/unittests/debugserver/RNBSocketTest.cpp
    M lldb/unittests/tools/lldb-server/tests/TestClient.cpp

  Log Message:
  -----------
  [lldb] Remove child_process_inherit from the socket classes (#117699)

It's never set to true. Also, using inheritable FDs in a multithreaded
process pretty much guarantees descriptor leaks. It's better to
explicitly pass a specific FD to a specific subprocess, which we already
mostly can do using the ProcessLaunchInfo FileActions.


  Commit: f6694534ac86cb6949b241c11ddc7fd8ee44f027
      https://github.com/llvm/llvm-project/commit/f6694534ac86cb6949b241c11ddc7fd8ee44f027
  Author: Haohai Wen <haohai.wen at intel.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/test/Driver/cl-options.c

  Log Message:
  -----------
  [Driver] Remove non MSVC CL flags /fprofile-sample-use (#117970)

Those flags are introduced in #117282. They are not supported by MSVC.


  Commit: 69d66fafec968b17f84e30bc09faffb3dc8e5f15
      https://github.com/llvm/llvm-project/commit/69d66fafec968b17f84e30bc09faffb3dc8e5f15
  Author: Haohai Wen <haohai.wen at intel.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M clang/docs/UsersManual.rst

  Log Message:
  -----------
  [clang] Fix description for fprofile-sample-use= on Windows (#117973)

We only support -fprofile-sample-use= for clang-cl.


  Commit: 3ffee0086c1e31094e544c878f9d5cc413d36b46
      https://github.com/llvm/llvm-project/commit/3ffee0086c1e31094e544c878f9d5cc413d36b46
  Author: Carlos Alberto Enciso <Carlos.Enciso at sony.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M llvm/unittests/DebugInfo/LogicalView/CMakeLists.txt
    M llvm/unittests/DebugInfo/LogicalView/DWARFGeneratedTest.cpp

  Log Message:
  -----------
  [llvm-debuginfo-analyzer] Fix compile/link errors on specific builders. (#117971)

Link errors on builders:
- llvm-nvptx-nvidia-ubuntu
- llvm-nvptx64-nvidia-ubuntu

Add explicitly references to DebugInfoDWARF and Object.

Compile errors on builders:
- ppc64le-lld-multistage-test
- clang-ppc64le-linux-multistage
- clang-ppc64le-rhel

error: comparison of integers of different signs:

Add to the constants used in the 'EXPECT_EQ' the 'u' postfix.


  Commit: 60db321081be2324bec7e18eb76421cc566625fd
      https://github.com/llvm/llvm-project/commit/60db321081be2324bec7e18eb76421cc566625fd
  Author: Zhaoxuan Jiang <jiangzhaoxuan94 at gmail.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64LowerHomogeneousPrologEpilog.cpp
    M llvm/test/CodeGen/AArch64/arm64-homogeneous-prolog-epilog-frame-tail.ll
    M llvm/test/CodeGen/AArch64/arm64-homogeneous-prolog-epilog.ll

  Log Message:
  -----------
  [AArch64] Do not mark homogeneous prolog/epilog functions optnone (#117959)

The verifier complains that synthesized IR functions have minsize and
optnone attributes which are incompatible. This patch removes optnone
attribute and updates affected tests as needed.


  Commit: 7173a7d7f9d3035e39508746efa46c2ec5c80119
      https://github.com/llvm/llvm-project/commit/7173a7d7f9d3035e39508746efa46c2ec5c80119
  Author: Durgadoss R <durgadossr at nvidia.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td

  Log Message:
  -----------
  [NVPTX][NFC] Use NAME macro for TMA intrinsic defs (#117907)

This patch updates the TMA intrinsic definitions to use the "NAME"
macro (inside the multiclass) instead of an empty string.

Signed-off-by: Durgadoss R <durgadossr at nvidia.com>


  Commit: 332719561000dcac94384234ace1fa959362ad8e
      https://github.com/llvm/llvm-project/commit/332719561000dcac94384234ace1fa959362ad8e
  Author: Markus Böck <markus.boeck02 at gmail.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.td
    M mlir/lib/Dialect/LLVMIR/IR/LLVMTypeSyntax.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp

  Log Message:
  -----------
  [mlir][LLVM][NFC] Implement `print/parse` for `LLVMStructType` (#117930)

The printing and parsing logic for struct types was still using ad-hoc
functions instead of the more conventional `print` and `parse` methods
whose declarations are automatically generated by TableGen.

This PR effectively renames these functions and uses them directly as
implementations for `print` and `parse` of `LLVMStructType`.

This additionally fixes linking errors when users or auto generated code
may call `print` and `parse` directly.

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


  Commit: 76e6c8d3fc3dc097a3bd96e8959f73a809493976
      https://github.com/llvm/llvm-project/commit/76e6c8d3fc3dc097a3bd96e8959f73a809493976
  Author: CHANDRA GHALE <chandra.nitdgp at gmail.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.h
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    A clang/test/OpenMP/taskloop_strictmodifier_codegen.cpp
    M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def

  Log Message:
  -----------
  Codegen changes for strict modifier with grainsize/num_tasks of taskloop construct (#117196)

Initial parsing/sema for 'strict' modifier with 'num_tasks' and
‘grainsize’ clause is present in these commits
[grainsize_parsing](https://github.com/llvm/llvm-project/commit/ab9eac762c35068e77f57795e660d06f578c9614)
and
[num_tasks_parsing](https://github.com/llvm/llvm-project/commit/56c166017055595a9f26933e85bfd89e30c528d0#diff-4184486638e85284c3a2c961a81e7752231022daf97e411007c13a6732b50db9R6545)
. However, this implementation appears incomplete as it lacks code
generation support. A runtime patch was introduced in this runtime
commit
[runtime_patch](https://github.com/llvm/llvm-project/commit/540007b42701b5ac9adba076824bfd648a265413#diff-5e95f9319910d6965d09c301359dbe6b23f3eef5ce4d262ef2c2d2137875b5c4R374)
, which adds a new API, _kmpc_taskloop_5, to accommodate the strict
modifier. 
In this patch I have added codegen support. When the strict modifier is
present alongside the grainsize or num_tasks clauses of taskloop
construct, the code now emits a call to _kmpc_taskloop_5, which includes
an additional parameter of type i32 with the value 1 to indicate the
strict modifier. If the strict modifier is not present, it falls back to
the existing _kmpc_taskloop API call.

---------

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


  Commit: 89b08c8ee7b5184f8cfb0d356f2762173fb87d42
      https://github.com/llvm/llvm-project/commit/89b08c8ee7b5184f8cfb0d356f2762173fb87d42
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M llvm/utils/TableGen/AsmMatcherEmitter.cpp

  Log Message:
  -----------
  [TableGen] Simplify generated code for isSubclass (#117351)

Implement isSubclass with direct lookup into some tables instead of
nested switches.

Part of the motivation for this is improving compile time when clang-18
is used as a host compiler, since it seems to have trouble with very
large switch statements.


  Commit: 71648a4ef93867ce47afa512f6cf808be3cd0a2e
      https://github.com/llvm/llvm-project/commit/71648a4ef93867ce47afa512f6cf808be3cd0a2e
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h

  Log Message:
  -----------
  Make MCDCRecord::getNumConditions() `const&`

Some users were trying to get a reference to the return value.


  Commit: 0604d13790b20f6b385507bb63c62aa87162da9b
      https://github.com/llvm/llvm-project/commit/0604d13790b20f6b385507bb63c62aa87162da9b
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    A clang/test/SemaCXX/attr-no-specializations.cpp

  Log Message:
  -----------
  [Clang] Add [[clang::no_specializations]] (#101469)

This can be used to inform users when a template should not be
specialized. For example, this is the case for the standard type traits
(except for `common_type` and `common_reference`, which have more
complicated rules).


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

  Changed paths:
    M llvm/test/CodeGen/AArch64/selectopt-cast.ll

  Log Message:
  -----------
  [AArch64] Add extra add/cast tests for select-optimize.

Extra tests for https://github.com/llvm/llvm-project/pull/115489
with different operand order. Also fixes the target triple.


  Commit: 2c242b98c608021e6768f0369498f5b8b5144d34
      https://github.com/llvm/llvm-project/commit/2c242b98c608021e6768f0369498f5b8b5144d34
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M clang/test/Sema/warn-lifetime-analysis-capture-by.cpp

  Log Message:
  -----------
  [clang] Add a lifetime_capture_by testcase for temporary capturing object. (#117733)

Add a test case to indicate this is an expected behavior.


  Commit: 88c2af80fac423fc338027c007e1499333f05ddb
      https://github.com/llvm/llvm-project/commit/88c2af80fac423fc338027c007e1499333f05ddb
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/TargetInfo.h
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/RISCV.cpp
    M clang/lib/Basic/Targets/RISCV.h
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/CodeGen/ABIInfo.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/lib/TargetParser/AArch64TargetParser.cpp

  Log Message:
  -----------
  [NFC][clang][FMV][TargetInfo] Refactor API for FMV feature priority. (#116257)

Currently we have code with target hooks in CodeGenModule shared between
X86 and AArch64 for sorting MultiVersionResolverOptions. Those are used
when generating IFunc resolvers for FMV. The RISCV target has different
criteria for sorting, therefore it repeats sorting after calling
CodeGenFunction::EmitMultiVersionResolver.

I am moving the FMV priority logic in TargetInfo, so that it can be
implemented by the TargetParser which then makes it possible to query it
from llvm. Here is an example why this is handy:
https://github.com/llvm/llvm-project/pull/87939


  Commit: 3b8426d340ab730ee3303257ea204ee083b1273a
      https://github.com/llvm/llvm-project/commit/3b8426d340ab730ee3303257ea204ee083b1273a
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M .ci/generate_test_report.py

  Log Message:
  -----------
  [ci] Fix unit tests for test report generator

Last time I fixed a bug here I forgot to update them.


  Commit: 0c0f765cab4b16eb0342d514584cdf64cabc433a
      https://github.com/llvm/llvm-project/commit/0c0f765cab4b16eb0342d514584cdf64cabc433a
  Author: Oliver Stannard <oliver.stannard at arm.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
    M llvm/lib/Target/ARM/Thumb1FrameLowering.cpp
    M llvm/test/CodeGen/Thumb/frame-chain.ll
    A llvm/test/CodeGen/Thumb/returnaddress.ll

  Log Message:
  -----------
  [ARM] Fix llvm.returnaddress for Thumb1 with R11 frame-pointer (#117735)

When the llvm.returnaddress intrinsic is used, the LR is marked as
live-in to the function, so it must be preserved through the prologue.
This is normally fine, but there is one case for Thumb1 where we use LR
as a temporary in the prologue to set up a frame chain using r11 as the
frame pointer. There are no other registers guaranteed to be free to do
this, so we have to re-load LR from the stack after pushing the callee
saved registers.


  Commit: 79eb406a67fe08458548289da72cda18248a9313
      https://github.com/llvm/llvm-project/commit/79eb406a67fe08458548289da72cda18248a9313
  Author: Frank Schlimbach <frank.schlimbach at intel.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    A mlir/include/mlir/Conversion/MeshToMPI/MeshToMPI.h
    M mlir/include/mlir/Conversion/Passes.h
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/include/mlir/Dialect/MPI/IR/MPIOps.td
    M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td
    M mlir/lib/Conversion/CMakeLists.txt
    A mlir/lib/Conversion/MeshToMPI/CMakeLists.txt
    A mlir/lib/Conversion/MeshToMPI/MeshToMPI.cpp
    M mlir/lib/Dialect/MPI/IR/MPIOps.cpp
    M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
    M mlir/lib/Dialect/Mesh/Transforms/Spmdization.cpp
    A mlir/test/Conversion/MeshToMPI/convert-mesh-to-mpi.mlir
    M mlir/test/Dialect/Mesh/ops.mlir
    M mlir/test/Dialect/Mesh/spmdization.mlir

  Log Message:
  -----------
  [mlir][mesh, MPI] Mesh2mpi (#104566)

Pass for lowering `Mesh` to `MPI`.
Initial commit lowers `UpdateHaloOp` only.


  Commit: 04a2d50efd668b752718f90811a7c628bfa761d7
      https://github.com/llvm/llvm-project/commit/04a2d50efd668b752718f90811a7c628bfa761d7
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
    A llvm/test/CodeGen/PowerPC/frameindex-negative-offset.ll

  Log Message:
  -----------
  [PPC] Use getSignedConstant() for frame index offset

The offset is signed. Fixes assertion failure reported at:
https://github.com/llvm/llvm-project/pull/117558#issuecomment-2504413074


  Commit: 61653f8e39666ea974561fd9ddccd7d473852fad
      https://github.com/llvm/llvm-project/commit/61653f8e39666ea974561fd9ddccd7d473852fad
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M llvm/lib/CodeGen/InitUndef.cpp
    M llvm/test/CodeGen/AArch64/init-undef.mir

  Log Message:
  -----------
  Reland "[InitUndef] handleSubReg should skip artificial subregs. (#116248)"

This patch can now reland after 318c69de52b6 relanded #114827.

This reverts commit 1683f84d289348ba6879635c4161979204f75230.


  Commit: 243c9791872a694ca341cc51c18d96fbc189a06b
      https://github.com/llvm/llvm-project/commit/243c9791872a694ca341cc51c18d96fbc189a06b
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    A llvm/test/CodeGen/AArch64/register-coalesce-update-subranges-remat.mir

  Log Message:
  -----------
  Reland "[RegisterCoalescer] Fix up subreg lanemasks after rematerializing. (#116191)"

This patch can now reland after 318c69de52b6 relanded #114827.

This reverts commit 14a58a1390a72ba6c66606e58e86425dcb902763.


  Commit: 0f131704386db648e6b9388172bb93824823e277
      https://github.com/llvm/llvm-project/commit/0f131704386db648e6b9388172bb93824823e277
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    A llvm/test/CodeGen/SPIRV/llvm-intrinsics/scmp.ll
    A llvm/test/CodeGen/SPIRV/llvm-intrinsics/ucmp.ll

  Log Message:
  -----------
  [SPIR-V] Implement intrinsics llvm.scmp.* and llvm.ucmp.* (#117341)

This PR add translation of intrinsics `llvm.scmp.*` and `llvm.ucmp.*`.


  Commit: 831469fb552ba03d15fb717eeb526a71bfac8b6d
      https://github.com/llvm/llvm-project/commit/831469fb552ba03d15fb717eeb526a71bfac8b6d
  Author: Marc Auberer <marc.auberer at chillibits.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M .github/new-issues-labeler.yml

  Log Message:
  -----------
  Automatically add false-positive/false-negative labels (#117811)

Fixes #117762


  Commit: 82821254f532c1dbdfd5d985ef7130511efaaa83
      https://github.com/llvm/llvm-project/commit/82821254f532c1dbdfd5d985ef7130511efaaa83
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-predselect.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-types.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
    M llvm/test/Transforms/LoopVectorize/ARM/prefer-tail-loop-folding.ll
    M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-loop-hint.ll
    M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-prefer-flag.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/scalable-tailfold.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/short-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.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-known-no-overflow.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/SystemZ/force-target-instruction-cost.ll
    M llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
    M llvm/test/Transforms/LoopVectorize/SystemZ/predicated-first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/X86/consecutive-ptr-uniforms.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
    M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/X86/optsize.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr81872.ll
    M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
    M llvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
    M llvm/test/Transforms/LoopVectorize/X86/vect.omp.force.small-tc.ll
    M llvm/test/Transforms/LoopVectorize/X86/vectorize-interleaved-accesses-gap.ll
    M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-accesses-masked-group.ll
    M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-store-accesses-with-gaps.ll
    M llvm/test/Transforms/LoopVectorize/dead_instructions.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/icmp-uniforms.ll
    M llvm/test/Transforms/LoopVectorize/loop-form.ll
    M llvm/test/Transforms/LoopVectorize/memdep-fold-tail.ll
    M llvm/test/Transforms/LoopVectorize/optsize.ll
    M llvm/test/Transforms/LoopVectorize/pr45679-fold-tail-by-masking.ll
    M llvm/test/Transforms/LoopVectorize/pr46525-expander-insertpoint.ll
    M llvm/test/Transforms/LoopVectorize/pr51614-fold-tail-by-masking.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
    M llvm/test/Transforms/LoopVectorize/reduction-predselect.ll
    M llvm/test/Transforms/LoopVectorize/select-reduction.ll
    M llvm/test/Transforms/LoopVectorize/strict-fadd-interleave-only.ll
    M llvm/test/Transforms/LoopVectorize/tail-folding-alloca-in-loop.ll
    M llvm/test/Transforms/LoopVectorize/tail-folding-switch.ll
    M llvm/test/Transforms/LoopVectorize/tail-folding-vectorization-factor-1.ll
    M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll

  Log Message:
  -----------
  [LV] Use IVUpdateMayOverflow to set HasNUW. (#111758)

If IVUpdateMayOverflow is false, we proved that the induction increment
cannot overflow in the vector loop. This allows setting NUW in some
cases when folding the tail.

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


  Commit: 871e3dc8d8717bbcf5e3ad44331a21c3417c2639
      https://github.com/llvm/llvm-project/commit/871e3dc8d8717bbcf5e3ad44331a21c3417c2639
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M lldb/tools/lldb-server/lldb-gdbserver.cpp

  Log Message:
  -----------
  [lldb] Fixup #117699 for windows builds


  Commit: 992b00020fae2d8b0f150a45885768551a867a10
      https://github.com/llvm/llvm-project/commit/992b00020fae2d8b0f150a45885768551a867a10
  Author: Callum Fare <callum at codeplay.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M offload/CMakeLists.txt
    M offload/cmake/OpenMPTesting.cmake
    A offload/liboffload/API/APIDefs.td
    A offload/liboffload/API/CMakeLists.txt
    A offload/liboffload/API/Common.td
    A offload/liboffload/API/Device.td
    A offload/liboffload/API/OffloadAPI.td
    A offload/liboffload/API/Platform.td
    A offload/liboffload/API/README.md
    A offload/liboffload/CMakeLists.txt
    A offload/liboffload/README.md
    A offload/liboffload/exports
    A offload/liboffload/include/OffloadImpl.hpp
    A offload/liboffload/include/generated/OffloadAPI.h
    A offload/liboffload/include/generated/OffloadEntryPoints.inc
    A offload/liboffload/include/generated/OffloadFuncs.inc
    A offload/liboffload/include/generated/OffloadImplFuncDecls.inc
    A offload/liboffload/include/generated/OffloadPrint.hpp
    A offload/liboffload/src/Helpers.hpp
    A offload/liboffload/src/OffloadImpl.cpp
    A offload/liboffload/src/OffloadLib.cpp
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/test/lit.cfg
    M offload/test/lit.site.cfg.in
    A offload/test/tools/offload-tblgen/default_returns.td
    A offload/test/tools/offload-tblgen/entry_points.td
    A offload/test/tools/offload-tblgen/functions_basic.td
    A offload/test/tools/offload-tblgen/functions_code_loc.td
    A offload/test/tools/offload-tblgen/functions_ranged_param.td
    A offload/test/tools/offload-tblgen/print_enum.td
    A offload/test/tools/offload-tblgen/print_function.td
    A offload/test/tools/offload-tblgen/type_tagged_enum.td
    A offload/tools/offload-tblgen/APIGen.cpp
    A offload/tools/offload-tblgen/CMakeLists.txt
    A offload/tools/offload-tblgen/EntryPointGen.cpp
    A offload/tools/offload-tblgen/FuncsGen.cpp
    A offload/tools/offload-tblgen/GenCommon.hpp
    A offload/tools/offload-tblgen/Generators.hpp
    A offload/tools/offload-tblgen/PrintGen.cpp
    A offload/tools/offload-tblgen/RecordTypes.hpp
    A offload/tools/offload-tblgen/offload-tblgen.cpp
    M offload/unittests/CMakeLists.txt
    A offload/unittests/OffloadAPI/CMakeLists.txt
    A offload/unittests/OffloadAPI/common/Environment.cpp
    A offload/unittests/OffloadAPI/common/Environment.hpp
    A offload/unittests/OffloadAPI/common/Fixtures.hpp
    A offload/unittests/OffloadAPI/device/olDeviceInfo.hpp
    A offload/unittests/OffloadAPI/device/olGetDevice.cpp
    A offload/unittests/OffloadAPI/device/olGetDeviceCount.cpp
    A offload/unittests/OffloadAPI/device/olGetDeviceInfo.cpp
    A offload/unittests/OffloadAPI/device/olGetDeviceInfoSize.cpp
    A offload/unittests/OffloadAPI/platform/olGetPlatform.cpp
    A offload/unittests/OffloadAPI/platform/olGetPlatformCount.cpp
    A offload/unittests/OffloadAPI/platform/olGetPlatformInfo.cpp
    A offload/unittests/OffloadAPI/platform/olGetPlatformInfoSize.cpp
    A offload/unittests/OffloadAPI/platform/olPlatformInfo.hpp

  Log Message:
  -----------
  Reland #2 - [Offload] Introduce offload-tblgen and initial new API implementation (#108413. #117704) (#117894)

Relands #117704, which relanded changes from #108413 - this was reverted
due to build issues. The new offload library did not build with
`LIBOMPTARGET_OMPT_SUPPORT` enabled, which was not picked up by
pre-merge testing.

The last commit contains the fix; everything else is otherwise identical
to the approved PR.
___

### New API

Previous discussions at the LLVM/Offload meeting have brought up the
need for a new API for exposing the functionality of the plugins. This
change introduces a very small subset of a new API, which is primarily
for testing the offload tooling and demonstrating how a new API can fit
into the existing code base without being too disruptive. Exact designs
for these entry points and future additions can be worked out over time.

The new API does however introduce the bare minimum functionality to
implement device discovery for Unified Runtime and SYCL. This means that
the `urinfo` and `sycl-ls` tools can be used on top of Offload. A
(rough) implementation of a Unified Runtime adapter (aka plugin) for
Offload is available
[here](https://github.com/callumfare/unified-runtime/tree/offload_adapter).
Our intention is to maintain this and use it to implement and test
Offload API changes with SYCL.

### Demoing the new API

```sh
# From the runtime build directory
$ ninja LibomptUnitTests
$ OFFLOAD_TRACE=1 ./offload/unittests/OffloadAPI/offload.unittests 
```


### Open questions and future work
* Only some of the available device info is exposed, and not all the
possible device queries needed for SYCL are implemented by the plugins.
A sensible next step would be to refactor and extend the existing device
info queries in the plugins. The existing info queries are all strings,
but the new API introduces the ability to return any arbitrary type.
* It may be sensible at some point for the plugins to implement the new
API directly, and the higher level code on top of it could be made
generic, but this is more of a long-term possibility.


  Commit: 98204a2e5bb754b0260175e42614c5463807beb5
      https://github.com/llvm/llvm-project/commit/98204a2e5bb754b0260175e42614c5463807beb5
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    A llvm/test/Bitcode/Inputs/invalid-initializer.bc
    M llvm/test/Bitcode/invalid.test

  Log Message:
  -----------
  [Bitcode] Verify types for aggregate initializers

Unfortunately all the nice error messages get lost because we
don't forward errors from lazy value materialization.

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


  Commit: b869f1bd4fc96fd1d2038720bd1ca84788d71370
      https://github.com/llvm/llvm-project/commit/b869f1bd4fc96fd1d2038720bd1ca84788d71370
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M clang/lib/Basic/Targets/X86.cpp

  Log Message:
  -----------
  [clang] Remove unused lambda capture (NFC)

/llvm-project/clang/lib/Basic/Targets/X86.cpp:1368:23:
error: lambda capture 'this' is not used [-Werror,-Wunused-lambda-capture]
  auto getPriority = [this](StringRef Feature) -> unsigned {
                      ^~~~
1 error generated.


  Commit: 159e6012beb5cfd9864b4e2a910086d6f1230b03
      https://github.com/llvm/llvm-project/commit/159e6012beb5cfd9864b4e2a910086d6f1230b03
  Author: 执着 <118413413+dty2 at users.noreply.github.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/Stop.h
    M flang/include/flang/Runtime/stop.h
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Stop.cpp
    M flang/runtime/stop.cpp
    A flang/test/Lower/Intrinsics/backtrace.f90

  Log Message:
  -----------
  [flang]Add new intrinsic function backtrace and complete the TODO of abort (#117603)

Hey guys, I found that Flang's built-in ABORT function is incomplete
when I was using it. Compared with gfortran's ABORT (which can both
abort and print out a backtrace), flang's ABORT implementation lacks the
function of printing out a backtrace. This feature is essential for
debugging and understanding the call stack at the failure point.

To solve this problem, I completed the "// TODO:" of the abort function,
and then implemented an additional built-in function BACKTRACE for
flang. After a brief reading of the relevant source code, I used
backtrace and backtrace_symbols in "execinfo.h" to quickly implement
this. But since I used the above two functions directly, my
implementation is slightly different from gfortran's implementation (in
the output, the function call stack before main is additionally output,
and the function line number is missing). In addition, since I used the
above two functions, I did not need to add -g to embed debug information
into the ELF file, but needed -rdynamic to ensure that the symbols are
added to the dynamic symbol table (so that the function name will be
printed out).

Here is a comparison of the output between gfortran 's backtrace and my
implementation:
gfortran's implemention output:
```
#0  0x557eb71f4184 in testfun2_
        at /home/hunter/plct/fortran/test.f90:5
#1  0x557eb71f4165 in testfun1_
        at /home/hunter/plct/fortran/test.f90:13
#2  0x557eb71f4192 in test_backtrace
        at /home/hunter/plct/fortran/test.f90:17
#3  0x557eb71f41ce in main
        at /home/hunter/plct/fortran/test.f90:18
```
my impelmention output:
```
Backtrace:
#0 ./test(_FortranABacktrace+0x32) [0x574f07efcf92]
#1 ./test(testfun2_+0x14) [0x574f07efc7b4]
#2 ./test(testfun1_+0xd) [0x574f07efc7cd]
#3 ./test(_QQmain+0x9) [0x574f07efc7e9]
#4 ./test(main+0x12) [0x574f07efc802]
#5 /usr/lib/libc.so.6(+0x25e08) [0x76954694fe08]
#6 /usr/lib/libc.so.6(__libc_start_main+0x8c) [0x76954694fecc]
#7 ./test(_start+0x25) [0x574f07efc6c5]
```
test program is:
```
function testfun2() result(err)
  implicit none
  integer :: err
  err = 1
  call backtrace
end function testfun2

subroutine testfun1()
  implicit none
  integer :: err
  integer :: testfun2

  err = testfun2()
end subroutine testfun1

program test_backtrace
  call testfun1()
end program test_backtrace
```
I am well aware of the importance of line numbers, so I am now working
on implementing line numbers (by parsing DWARF information) and
supporting cross-platform (Windows) support.


  Commit: 1858a4ebf0ebe9f1f3be6204af204e420e33bb6a
      https://github.com/llvm/llvm-project/commit/1858a4ebf0ebe9f1f3be6204af204e420e33bb6a
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/Stop.h
    M flang/include/flang/Runtime/stop.h
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Stop.cpp
    M flang/runtime/stop.cpp
    R flang/test/Lower/Intrinsics/backtrace.f90

  Log Message:
  -----------
  Revert "[flang]Add new intrinsic function backtrace and complete the TODO of abort" (#117990)

Reverts llvm/llvm-project#117603 due to failed buildbot
https://lab.llvm.org/buildbot/#/builders/152/builds/710

The important bit of the log was
```
FAILED: CMakeFiles/FortranRuntime.dir/stop.cpp.o 
ccache /usr/bin/g++ -DFLANG_LITTLE_ENDIAN=1 -DGTEST_HAS_RTTI=0 -DRT_USE_LIBCUDACXX=1 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/buildbot/worker/as-builder-7/ramdisk/flang-runtime-cuda-gcc/llvm-project/flang/runtime/../include -I/home/buildbot/worker/as-builder-7/ramdisk/flang-runtime-cuda-gcc/build -I/home/buildbot/worker/third-party/nv/cccl/libcudacxx/include -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -Wimplicit-fallthrough -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -fno-lto -O3 -DNDEBUG   -U_GLIBCXX_ASSERTIONS -U_LIBCPP_ENABLE_ASSERTIONS -UNDEBUG -std=c++17  -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -MD -MT CMakeFiles/FortranRuntime.dir/stop.cpp.o -MF CMakeFiles/FortranRuntime.dir/stop.cpp.o.d -o CMakeFiles/FortranRuntime.dir/stop.cpp.o -c /home/buildbot/worker/as-builder-7/ramdisk/flang-runtime-cuda-gcc/llvm-project/flang/runtime/stop.cpp
/home/buildbot/worker/as-builder-7/ramdisk/flang-runtime-cuda-gcc/llvm-project/flang/runtime/stop.cpp:19:10: fatal error: llvm/Config/config.h: No such file or directory
   19 | #include "llvm/Config/config.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
```

CC @dty2


  Commit: 6f55d7d22c1ebf2b8425c5864b335762bc3d5363
      https://github.com/llvm/llvm-project/commit/6f55d7d22c1ebf2b8425c5864b335762bc3d5363
  Author: Christian Sigg <csigg at google.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

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

  Log Message:
  -----------
  [mlir][bazel] Port https://github.com/llvm/llvm-project/commit/79eb406a67fe08458548289da72cda18248a9313


  Commit: cf47898453c83c977f92155c03e9cf205bfb2b19
      https://github.com/llvm/llvm-project/commit/cf47898453c83c977f92155c03e9cf205bfb2b19
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:

  Log Message:
  -----------
  [clang] Remove unused lambda capture. (#117988)

Fixes regression in sanitizer buildbots caused by #116257.


  Commit: b7749efb749541716b6785c48fc8d6c2a4453ffb
      https://github.com/llvm/llvm-project/commit/b7749efb749541716b6785c48fc8d6c2a4453ffb
  Author: Frank Schlimbach <frank.schlimbach at intel.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M mlir/lib/Dialect/MPI/IR/CMakeLists.txt
    M mlir/test/Conversion/MeshToMPI/convert-mesh-to-mpi.mlir

  Log Message:
  -----------
  adding MLIRMemRefDialect (#117986)

fixing post-CI failures #104566


  Commit: 32ef417603e1b747c2be946f8193fdb7c31d957e
      https://github.com/llvm/llvm-project/commit/32ef417603e1b747c2be946f8193fdb7c31d957e
  Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M llvm/cmake/modules/AddLLVM.cmake
    M mlir/include/mlir/Dialect/Linalg/IR/CMakeLists.txt

  Log Message:
  -----------
  Fix CMake dependencies on mlir-linalg-ods-yaml-gen (#113565)

Fix a number of dependencies issue to build mlir-linalg-ods-yaml-gen
host binary which make a cross-build using the Make generator fail.
Namely:

- do not use binary path for the custom target created when
  LLVM_USE_HOST_TOOLS is true;
- use target name instead of name of variable holding the target name
  for add_custom_target and set_target_properties in setup_host_tool();
- force setting of executable and target cache variable which are only
  used as global variables;
- remove dependency on target defined in different directory in
  add_linalg_ods_yaml_gen() since add_custom_target DEPENDS can only be
  used on "files and outputs of custom commands created with
  add_custom_command() command calls in the same directory";
- remove unneeded dependency on ${MLIR_LINALG_ODS_YAML_GEN_EXE}, the
  target dependency will ensure the binary will be built.

Note that we keep using ${MLIR_LINALG_ODS_YAML_GEN_EXE} in the COMMAND
rather than use ${MLIR_LINALG_ODS_YAML_GEN_TARGET} because when
LLVM_NATIVE_TOOL_DIR is used the latter is an empty string.

Testing-wise, all three codepaths in get_host_tool_path() were tested
with both GNU Make and Ninja generators:
- cross-compiling with LLVM_NATIVE_TOOL_DIR checks the if path;
- cross-compiling without LLVM_NATIVE_TOOL_DIR checks the elseif path;
- native build without LLVM_NATIVE_TOOL_DIR checks the else path.


  Commit: 6e720df1ae23c715aefc36476ab46284a96e9371
      https://github.com/llvm/llvm-project/commit/6e720df1ae23c715aefc36476ab46284a96e9371
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M clang/include/clang/Basic/AttrDocs.td
    M clang/lib/Sema/CheckExprLifetime.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/Sema/warn-lifetime-analysis-capture-by.cpp

  Log Message:
  -----------
  [clang] Improve the lifetime_capture_by diagnostic on the constructor. (#117792)

With this change, the lifetime_capture_by code path will not handle the
constructor decl to avoid bogus diagnostics (see the testcase).

Instead, we reuse the lifetimebound code as the
lifetime_capture_by(this) has the same semantic as lifetimebound in
constructor. The downside is that the lifetimebound diagnostic is reused
for the capture case (I think it is not a big issue).


Fixes #117680


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

  Changed paths:
    M llvm/lib/Target/X86/X86SchedBroadwell.td
    M llvm/lib/Target/X86/X86SchedHaswell.td
    M llvm/test/tools/llvm-mca/X86/Broadwell/resources-sse2.s
    M llvm/test/tools/llvm-mca/X86/Haswell/resources-sse2.s

  Log Message:
  -----------
  [X86] Remove HSW/BDW incorrect MOVQ2DQ override

MOVQ2DQ is treated the same as other vector moves on Port015 (matches SandyBridge, not Skylake or later).

Confirmed by augner/uops.info


  Commit: 5208bc3694473f9378fc0d98eeee63e5ad5c5f04
      https://github.com/llvm/llvm-project/commit/5208bc3694473f9378fc0d98eeee63e5ad5c5f04
  Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M offload/CMakeLists.txt
    M offload/cmake/OpenMPTesting.cmake
    R offload/liboffload/API/APIDefs.td
    R offload/liboffload/API/CMakeLists.txt
    R offload/liboffload/API/Common.td
    R offload/liboffload/API/Device.td
    R offload/liboffload/API/OffloadAPI.td
    R offload/liboffload/API/Platform.td
    R offload/liboffload/API/README.md
    R offload/liboffload/CMakeLists.txt
    R offload/liboffload/README.md
    R offload/liboffload/exports
    R offload/liboffload/include/OffloadImpl.hpp
    R offload/liboffload/include/generated/OffloadAPI.h
    R offload/liboffload/include/generated/OffloadEntryPoints.inc
    R offload/liboffload/include/generated/OffloadFuncs.inc
    R offload/liboffload/include/generated/OffloadImplFuncDecls.inc
    R offload/liboffload/include/generated/OffloadPrint.hpp
    R offload/liboffload/src/Helpers.hpp
    R offload/liboffload/src/OffloadImpl.cpp
    R offload/liboffload/src/OffloadLib.cpp
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/test/lit.cfg
    M offload/test/lit.site.cfg.in
    R offload/test/tools/offload-tblgen/default_returns.td
    R offload/test/tools/offload-tblgen/entry_points.td
    R offload/test/tools/offload-tblgen/functions_basic.td
    R offload/test/tools/offload-tblgen/functions_code_loc.td
    R offload/test/tools/offload-tblgen/functions_ranged_param.td
    R offload/test/tools/offload-tblgen/print_enum.td
    R offload/test/tools/offload-tblgen/print_function.td
    R offload/test/tools/offload-tblgen/type_tagged_enum.td
    R offload/tools/offload-tblgen/APIGen.cpp
    R offload/tools/offload-tblgen/CMakeLists.txt
    R offload/tools/offload-tblgen/EntryPointGen.cpp
    R offload/tools/offload-tblgen/FuncsGen.cpp
    R offload/tools/offload-tblgen/GenCommon.hpp
    R offload/tools/offload-tblgen/Generators.hpp
    R offload/tools/offload-tblgen/PrintGen.cpp
    R offload/tools/offload-tblgen/RecordTypes.hpp
    R offload/tools/offload-tblgen/offload-tblgen.cpp
    M offload/unittests/CMakeLists.txt
    R offload/unittests/OffloadAPI/CMakeLists.txt
    R offload/unittests/OffloadAPI/common/Environment.cpp
    R offload/unittests/OffloadAPI/common/Environment.hpp
    R offload/unittests/OffloadAPI/common/Fixtures.hpp
    R offload/unittests/OffloadAPI/device/olDeviceInfo.hpp
    R offload/unittests/OffloadAPI/device/olGetDevice.cpp
    R offload/unittests/OffloadAPI/device/olGetDeviceCount.cpp
    R offload/unittests/OffloadAPI/device/olGetDeviceInfo.cpp
    R offload/unittests/OffloadAPI/device/olGetDeviceInfoSize.cpp
    R offload/unittests/OffloadAPI/platform/olGetPlatform.cpp
    R offload/unittests/OffloadAPI/platform/olGetPlatformCount.cpp
    R offload/unittests/OffloadAPI/platform/olGetPlatformInfo.cpp
    R offload/unittests/OffloadAPI/platform/olGetPlatformInfoSize.cpp
    R offload/unittests/OffloadAPI/platform/olPlatformInfo.hpp

  Log Message:
  -----------
  Revert "Reland #2 - [Offload] Introduce offload-tblgen and initial new API implementation (#108413. #117704)" (#117995)

Reverts llvm/llvm-project#117894

Buildbot failures in OpenMP/Offload bots.
https://lab.llvm.org/buildbot/#/builders/30/builds/11193


  Commit: 392bd3404b98c2be74e4e94d2019dffaa85919eb
      https://github.com/llvm/llvm-project/commit/392bd3404b98c2be74e4e94d2019dffaa85919eb
  Author: Nuno Lopes <nuno.lopes at tecnico.ulisboa.pt>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp

  Log Message:
  -----------
  [WebAssembly] use poison instead of undef as placeholder for missing args [NFC]


  Commit: 12ccb628da231f3ab751c8e7b759e9920d38510b
      https://github.com/llvm/llvm-project/commit/12ccb628da231f3ab751c8e7b759e9920d38510b
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

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

  Log Message:
  -----------
  [clang] Add a common definition of isPointerLikeType for lifetime analysis (#117315)

Also checks for annotation for template specializations which sometimes
may not have the annotation attached.


  Commit: e4ee970c4b286b472a4c0b0cb43da85f77e97d79
      https://github.com/llvm/llvm-project/commit/e4ee970c4b286b472a4c0b0cb43da85f77e97d79
  Author: SpencerAbson <Spencer.Abson at arm.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M clang/include/clang/Basic/TargetBuiltins.h
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/Basic/arm_sve_sme_incl.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sme2_fp8_cvt.c
    A clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_cvt.c
    M clang/utils/TableGen/SveEmitter.cpp
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    A llvm/test/CodeGen/AArch64/sme2-fp8-intrinsics-cvt.ll

  Log Message:
  -----------
  [AArch64] Implement intrinsics for F1CVTL/F2CVTL and BF1CVTL/BF2CVTL (#116959)

This patch implements the following intrinsics:

8-bit floating-point convert to deinterleaved half-precision or
BFloat16.
``` c
  // Variant is also available for: _bf16[_mf8]_x2
  svfloat16x2_t svcvtl1_f16[_mf8]_x2_fpm(svmfloat8_t zn, fpm_t fpm) __arm_streaming;
  svfloat16x2_t svcvtl2_f16[_mf8]_x2_fpm(svmfloat8_t zn, fpm_t fpm) __arm_streaming;
```

Defined in https://github.com/ARM-software/acle/pull/323

Co-authored-by: Caroline Concatto caroline.concatto at arm.com
Co-authored-by: Marian Lukac marian.lukac at arm.com


  Commit: c952f0ee5436318733c1ab21a8a7402f7f0a4caa
      https://github.com/llvm/llvm-project/commit/c952f0ee5436318733c1ab21a8a7402f7f0a4caa
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M flang/lib/Semantics/resolve-directives.cpp
    A flang/test/Semantics/OpenMP/critical_within_default.f90

  Log Message:
  -----------
  [Flang][OpenMP] Do not default privatize symbols that are not variables (#117886)

Fixes an issue where the compiler is trying to default privatize
construct names.

Fixes #112572


  Commit: 53326ee0cf45fce3f80e2e98638dd27edb20c516
      https://github.com/llvm/llvm-project/commit/53326ee0cf45fce3f80e2e98638dd27edb20c516
  Author: Nathan Gauër <brioche at google.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/test/CodeGen/SPIRV/branching/OpSwitchBranches.ll
    M llvm/test/CodeGen/SPIRV/branching/OpSwitchUnreachable.ll
    M llvm/test/CodeGen/SPIRV/branching/Two_OpSwitch_same_register.ll
    M llvm/test/CodeGen/SPIRV/branching/if-merging.ll
    M llvm/test/CodeGen/SPIRV/branching/if-non-merging.ll
    M llvm/test/CodeGen/SPIRV/instructions/ret-type.ll
    M llvm/test/CodeGen/SPIRV/structurizer/basic-if.ll
    M llvm/test/CodeGen/SPIRV/structurizer/basic-loop.ll
    M llvm/test/CodeGen/SPIRV/structurizer/basic-phi.ll
    M llvm/test/CodeGen/SPIRV/structurizer/cf.cond-op.ll
    M llvm/test/CodeGen/SPIRV/structurizer/cf.for.continue.ll
    M llvm/test/CodeGen/SPIRV/structurizer/cf.for.nested.ll
    M llvm/test/CodeGen/SPIRV/structurizer/cf.for.plain.ll
    M llvm/test/CodeGen/SPIRV/structurizer/cf.for.short-circuited-cond.ll
    M llvm/test/CodeGen/SPIRV/structurizer/cf.if.for.ll
    M llvm/test/CodeGen/SPIRV/structurizer/cf.if.nested.ll
    M llvm/test/CodeGen/SPIRV/structurizer/cf.return.early.ll
    M llvm/test/CodeGen/SPIRV/structurizer/cf.switch.ifstmt.simple2.ll
    M llvm/test/CodeGen/SPIRV/structurizer/cf.while.continue.ll
    M llvm/test/CodeGen/SPIRV/structurizer/cf.while.nested.ll
    M llvm/test/CodeGen/SPIRV/structurizer/cf.while.plain.ll
    M llvm/test/CodeGen/SPIRV/structurizer/cf.while.short-circuited-cond.ll
    M llvm/test/CodeGen/SPIRV/structurizer/condition-linear.ll
    M llvm/test/CodeGen/SPIRV/structurizer/do-continue.ll
    M llvm/test/CodeGen/SPIRV/structurizer/do-nested.ll
    M llvm/test/CodeGen/SPIRV/structurizer/do-plain.ll
    M llvm/test/CodeGen/SPIRV/structurizer/logical-or.ll
    M llvm/test/CodeGen/SPIRV/structurizer/loop-continue-split.ll
    M llvm/test/CodeGen/SPIRV/structurizer/merge-exit-simple-while-identity.ll
    M llvm/test/CodeGen/SPIRV/structurizer/return-early.ll
    M llvm/unittests/Target/SPIRV/CMakeLists.txt
    A llvm/unittests/Target/SPIRV/SPIRVSortBlocksTests.cpp

  Log Message:
  -----------
  [SPIR-V] Fix block sorting with irreducible CFG (#116996)

Block sorting was assuming reducible CFG. Meaning we always had a best
node to continue with. Irreducible CFG makes breaks this assumption, so
the algorithm looped indefinitely because no node was a valid candidate.

Fixes #116692

---------

Signed-off-by: Nathan Gauër <brioche at google.com>


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

  Changed paths:
    A llvm/test/Analysis/CostModel/X86/shuffle-splat-codesize.ll
    A llvm/test/Analysis/CostModel/X86/shuffle-splat-latency.ll
    A llvm/test/Analysis/CostModel/X86/shuffle-splat-sizelatency.ll
    A llvm/test/Analysis/CostModel/X86/shuffle-splat.ll

  Log Message:
  -----------
  [CostModel][X86] Add shuffle 'splat' tests for broadcasts of non-zero element index.

As noticed on #115201 - its possible for SK_Broadcast to occur for non-zero element index which we don't currently handle.


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

  Changed paths:
    A llvm/test/CodeGen/X86/gfni-lzcnt.ll
    A llvm/test/CodeGen/X86/gfni-tzcnt.ll

  Log Message:
  -----------
  [X86] Add GFNI test coverage for vXi8 LZCNT/TZCNT


  Commit: 07a8ebed56cfa223d1587903e4de0d5788b5f777
      https://github.com/llvm/llvm-project/commit/07a8ebed56cfa223d1587903e4de0d5788b5f777
  Author: serge-sans-paille <sguelton at mozilla.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/test/SemaCXX/warn-memaccess.cpp

  Log Message:
  -----------
  [clang] Move warning about memset/memcpy to NonTriviallyCopyable type… (#117387)

…s to its own flag

Namely -Wnontrivial-memcall, implied by -Wnontrivial-memaccess

This is a followup to #111434


  Commit: c5cd1e958c2cea9fe5a6a9087c3481537d598e24
      https://github.com/llvm/llvm-project/commit/c5cd1e958c2cea9fe5a6a9087c3481537d598e24
  Author: Peng Liu <winner245 at hotmail.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

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

  Log Message:
  -----------
  [libc++] Add exception guard for vector<bool>::__init_with_sentinel (#115491)

As a drive-by, also improve the test coverage for throwing exceptions
in vector<bool> constructors.


  Commit: 3923e0451a4b02c4fe7c394e0f0ec90708ebca7a
      https://github.com/llvm/llvm-project/commit/3923e0451a4b02c4fe7c394e0f0ec90708ebca7a
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

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

  Log Message:
  -----------
  [AMDGPU] Preserve all analyses if nothing changed (#117994)


  Commit: 6cbc37383f4ad32474a59976df3da0ee53f68fed
      https://github.com/llvm/llvm-project/commit/6cbc37383f4ad32474a59976df3da0ee53f68fed
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M libcxx/docs/ReleaseNotes/20.rst
    M libcxx/lib/abi/CHANGELOG.TXT
    M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
    M libcxx/src/CMakeLists.txt
    R libcxx/src/legacy_pointer_safety.cpp

  Log Message:
  -----------
  [libc++] Remove the pointer safety functions from the dylib (#117390)

The pointer safety functions were never implemented by anyone in a
non-trivial way, which lead us to removing them entirely from the
headers when they were removed in C++23. This also means that just about
nobody ever called these functions, especially not in production code.
Because of that, we expect there to be no references in the wild to the
functions in the dylib. Because of that, this patch removes the symbols
from the dylib.


  Commit: c4fbb6500a557fec592af8b9c398169591cdcc5d
      https://github.com/llvm/llvm-project/commit/c4fbb6500a557fec592af8b9c398169591cdcc5d
  Author: Carlos Alberto Enciso <Carlos.Enciso at sony.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
    A llvm/test/tools/llvm-debuginfo-analyzer/DWARF/DW_AT_GNU_template_name.test
    A llvm/test/tools/llvm-debuginfo-analyzer/DWARF/Inputs/DW_AT_GNU_template_name.ll

  Log Message:
  -----------
  [llvm-debuginfo-analyzer] Add support for DW_AT_GNU_template_name. (#115724)

For the given C++ code:
```
  template <typename T> class Foo { T Member; };

  template <template <typename T> class TemplateType>
  class Bar {
    TemplateType<int> Int;
  };

  template <template <template <typename> class> class TemplateTemplateType>
  class Baz {
    TemplateTemplateType<Foo> Foo;
  };

  typedef Baz<Bar> Example;
  Example TT;
```
The '--attribute=encoded' option, will produce the logical view:
```
  {Class} 'Foo<int>'
    {Encoded} <int>
  {Class} 'Bar<Foo>'
    {Encoded} <>                 <-- Missing the template argument info (Foo)
  {Class} 'Baz<Bar>'
    {Encoded} <>                 <-- Missing the template argument info (Bar)
```
When the template argument is another template it is not included in the
{Encoded} field. The correct output should be:
```
  {Class} 'Foo<int>'
    {Encoded} <int>
  {Class} 'Bar<Foo>'
    {Encoded} <Foo>
  {Class} 'Baz<Bar>'
    {Encoded} <Bar>
```


  Commit: b5ed375f9d63c1f37bb490f32898e6dc711c8a15
      https://github.com/llvm/llvm-project/commit/b5ed375f9d63c1f37bb490f32898e6dc711c8a15
  Author: Peter Waller <peter.waller at arm.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M bolt/lib/Rewrite/RewriteInstance.cpp
    A bolt/test/AArch64/check-init-not-moved.s

  Log Message:
  -----------
  [BOLT] Skip _init; avoiding GOT breakage for static binaries (#117751)

_init is used during startup of binaires. Unfortunately, its
address can be shared (at least on AArch64 glibc static binaries) with a
data
reference that lives in the GOT. The GOT rewriting is currently unable
to distinguish between data addresses and function addresses. This leads
to the data address being incorrectly rewritten, causing a crash on
startup of the binary:

  Unexpected reloc type in static binary.

To avoid this, don't consider _init for being moved, by skipping it.

~We could add further conditions to narrow the skipped case for known
crashes, but as a straw man I thought it'd be best to keep the condition
as simple as possible and see if there any objections to this.~
(Edit: this broke the test
bolt/test/runtime/X86/retpoline-synthetic.test,
because _init was skipped from the retpoline pass and it has an indirect
call in it, so I include a check for static binaries now, which avoids
the test failure,
but perhaps this could/should be narrowed further?)

For now, skip _init for static binaries on any architecture; we could
add further conditions to narrow the skipped case for known crashes, but
as a straw man I thought it'd be best to keep the condition as simple as
possible and see if there any objections to this.

Updates #100096.


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

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

  Log Message:
  -----------
  [X86] Move getGFNICtrlMask before CTLZ/CTTZ lowering. NFC.

Pulled out of #118012


  Commit: 2a6e5896a572c3be47ffe78afed8ba6ef278d336
      https://github.com/llvm/llvm-project/commit/2a6e5896a572c3be47ffe78afed8ba6ef278d336
  Author: Rafael Eckstein <44746868+Casperento at users.noreply.github.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/MergeFunctions.h
    M llvm/lib/Transforms/IPO/MergeFunctions.cpp
    M llvm/unittests/Transforms/Utils/CMakeLists.txt
    A llvm/unittests/Transforms/Utils/MergeFunctionsTest.cpp
    M llvm/utils/gn/secondary/llvm/unittests/Transforms/Utils/BUILD.gn

  Log Message:
  -----------
  [MergeFunctions] Add support to run the pass over a set of function pointers (#111045)

This modification will enable the usage of `MergeFunctions` as a
standalone library. Currently, `MergeFunctions` can only be applied to
an entire module. By adopting this change, developers will gain the
flexibility to reuse the `MergeFunctions` code within their own
projects, choosing which functions to merge; hence, promoting code
reusability. Notice that this modification will not break backward
compatibility, because `MergeFunctions` will still work as a pass after
the modification.


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

  Changed paths:
    M llvm/unittests/Transforms/IPO/CMakeLists.txt
    A llvm/unittests/Transforms/IPO/MergeFunctionsTest.cpp
    M llvm/unittests/Transforms/Utils/CMakeLists.txt
    R llvm/unittests/Transforms/Utils/MergeFunctionsTest.cpp

  Log Message:
  -----------
  [UnitTests] Move MergeFunction test from Utils to IPO

So we depend on the correct library.


  Commit: 45b567be8d0d430c786c41f826d192fadf863bb8
      https://github.com/llvm/llvm-project/commit/45b567be8d0d430c786c41f826d192fadf863bb8
  Author: Nathan Gauër <brioche at google.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    M llvm/test/CodeGen/SPIRV/structurizer/cf.switch.ifstmt.simple2.ll
    M llvm/unittests/Target/SPIRV/CMakeLists.txt
    A llvm/unittests/Target/SPIRV/SPIRVPartialOrderingVisitorTests.cpp

  Log Message:
  -----------
  [SPIR-V] Add partial order tests, assert reducible (#117887)

Add testing for the visitor and added a note explaining irreducible CFG
are not supported.
Related to #116692

---------

Signed-off-by: Nathan Gauër <brioche at google.com>


  Commit: 66d350a01738c0c64a28b943af5e995a5fbc348d
      https://github.com/llvm/llvm-project/commit/66d350a01738c0c64a28b943af5e995a5fbc348d
  Author: Maryam Moghadas <maryammo at ca.ibm.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    A llvm/test/CodeGen/PowerPC/ssubo-32.ll

  Log Message:
  -----------
  [PowerPC][NFC] Pre-commit test case to prepare for patch to custom lower ssubo


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

  Changed paths:
    A llvm/test/Transforms/InstSimplify/icmp-monotonic.ll

  Log Message:
  -----------
  [InstSimplify] Add tests for monotonic icmps (NFC)


  Commit: 12cefcc7ecd2615069206b35b0ea81b9e78bb1ea
      https://github.com/llvm/llvm-project/commit/12cefcc7ecd2615069206b35b0ea81b9e78bb1ea
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
    A llvm/test/Transforms/LowerMatrixIntrinsics/dot-product-int-also-fusable-multiply.ll

  Log Message:
  -----------
  [Matrix] Skip already fused instructions before trying to fuse multiply.

lowerDotProduct called above may already lower a matrix multiply and
mark it as procssed by adding it to FusedInsts. Don't try to process it
again in LowerMatrixMultiplyFused by checking if FusedInsts.

Without this change, we trigger an assertion when trying to erase the
same original matrix multiply twice.


  Commit: 26fd693b979f17c83cbd5a3313fdea950ce3d356
      https://github.com/llvm/llvm-project/commit/26fd693b979f17c83cbd5a3313fdea950ce3d356
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    A llvm/test/CodeGen/AMDGPU/coalescer-undef-subreg-use-invalid-lanemask.mir

  Log Message:
  -----------
  RegisterCoalescer: Fix creating full / empty subrange on undef subreg use (#117936)


  Commit: aa5cdcea3950b26a6b755201706bb1961e65eaa5
      https://github.com/llvm/llvm-project/commit/aa5cdcea3950b26a6b755201706bb1961e65eaa5
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

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

  Log Message:
  -----------
  LAA: improve code in a couple of routines (NFC) (#108092)


  Commit: 4e8eabd93e2c60a9dc2f6afde506012fbca77f81
      https://github.com/llvm/llvm-project/commit/4e8eabd93e2c60a9dc2f6afde506012fbca77f81
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M llvm/test/Transforms/DeadStoreElimination/offsetted-overlapping-stores.ll
    M llvm/test/Transforms/DeadStoreElimination/stores-of-existing-values.ll

  Log Message:
  -----------
  DSE: pre-commit tests for scalable vectors (#110669)

As AliasAnalysis now has support for scalable sizes, add tests to
DeadStoreElimination covering the scalable vectors case, in preparation
to extend it.


  Commit: b207a17ea07df4cbcae5509dee3e8e1d09a485df
      https://github.com/llvm/llvm-project/commit/b207a17ea07df4cbcae5509dee3e8e1d09a485df
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    R llvm/utils/merge-json.py
    M runtimes/CMakeLists.txt

  Log Message:
  -----------
  Revert "[Runtimes] Merge 'compile_commands.json' files from runtimes build (#116303)"

This reverts commit 054f914741421ca9dd1eaa58ea74a20f8695bae6, which was
found to break the runtimes build.


  Commit: 261a4026e8a367eda229879838709b92abaf445c
      https://github.com/llvm/llvm-project/commit/261a4026e8a367eda229879838709b92abaf445c
  Author: Michael Klemm <michael.klemm at amd.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Optimizer/OpenMP/LowerWorkshare.cpp
    M flang/test/Integration/OpenMP/copyprivate.f90
    M flang/test/Lower/OpenMP/copyprivate.f90
    M flang/test/Lower/OpenMP/copyprivate2.f90
    M flang/test/Transforms/OpenMP/lower-workshare-alloca.mlir

  Log Message:
  -----------
  [Flang][OpenMP] Use internal linkage for OpenMP code-gen'ed helper functions (#117911)

When compiling WORKSHARE construct in different compilation units, a
linker error happened, when two equal WORKSHARE constructs with a copy
operation have been compiled:

```
/usr/bin/ld: module2.o: in function `_workshare_copy_f64':
FIRModule:(.text+0x0): multiple definition of `_workshare_copy_f64'; module1.o:FIRModule:(.text+0x0): first defined here
```

Reason is that the generate copy function has the wrong linkage:

```
0000000000000000 T _workshare_copy_f64
```

while it should be

```
0000000000000000 t _workshare_copy_f64
```


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

  Changed paths:
    M clang/lib/Headers/avx512vpopcntdqintrin.h
    M clang/lib/Headers/avx512vpopcntdqvlintrin.h
    M clang/test/CodeGen/X86/avx512vpopcntdq-builtins.c
    M clang/test/CodeGen/X86/avx512vpopcntdqvl-builtins.c
    M clang/test/CodeGen/X86/builtin_test_helpers.h

  Log Message:
  -----------
  [clang][x86] Add initial constexpr support for VPOPCNTDQ intrinsics (#118017)

#117473 added constexpr support to __builtin_elementwise_popcount - which the VPOPCNTDQ intrinsics just wrap.

Still working on how to make __builtin_ia32_select* intrinsic wrappers constexpr


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

  Changed paths:
    A llvm/test/CodeGen/X86/pr114360.ll

  Log Message:
  -----------
  [X86] Add reduced test case for #114360


  Commit: 448ac7d3418a31d35b462440c8bf644287efac8a
      https://github.com/llvm/llvm-project/commit/448ac7d3418a31d35b462440c8bf644287efac8a
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h

  Log Message:
  -----------
  [lldb][Mach-O] Handle shared cache binaries correctly (#117832)

The Mach-O load commands have an LC_SYMTAB / struct symtab_command which
represents the offset of the symbol table (nlist records) and string
table for this binary. In a mach-o binary on disk, these are file
offsets. If a mach-o binary is loaded in memory with all segments
consecutive, the `symoff` and `stroff` are the offsets from the TEXT
segment (aka the mach-o header) virtual address to the virtual address
of the start of these tables.

However, if a Mach-O binary is a part of the shared cache, then the
segments will be separated -- they will have different slide values. And
it is possible for the LINKEDIT segment to be greater than 4GB away from
the TEXT segment in the virtual address space, so these 32-bit offsets
cannot express the offset from TEXT segment to these tables.

Create separate uint64_t variables to track the offset to the symbol
table and string table, instead of reusing the 32-bit ones in the
symtab_command structure.

rdar://140432279


  Commit: a4c8ef0f401d86040594cc6f01bcdad9392e8ee2
      https://github.com/llvm/llvm-project/commit/a4c8ef0f401d86040594cc6f01bcdad9392e8ee2
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M compiler-rt/lib/builtins/CMakeLists.txt

  Log Message:
  -----------
  [compiler-rt] Fix detecting _Float16 support for secondary targets (#117813)

It turns out we were not passing -m32 to the check_c_source_compiles()
invocation since CMAKE_REQUIRE_FLAGS needs to be string separated list
and
we were passing a ;-separated CMake list which appears to be parsed by
CMake as 'ignore all arguments beyond the first'.
Fix this by transforming the list to a command line first.

With this change, Clang 17 no longer claims to support _Float16 for
i386.


  Commit: dab4121a55225fd00f3db1cb232cf563ea573ef2
      https://github.com/llvm/llvm-project/commit/dab4121a55225fd00f3db1cb232cf563ea573ef2
  Author: Maryam Moghadas <maryammo at ca.ibm.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.h
    M llvm/test/CodeGen/PowerPC/saddo-ssubo.ll
    M llvm/test/CodeGen/PowerPC/ssubo-32.ll

  Log Message:
  -----------
  [PowerPC] Add custom lowering for ssubo (#111748) (#115875)

This patch is to improve the codegen for ssubo node for i32 by custom lowering.


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
    M llvm/test/CodeGen/X86/pr114360.ll

  Log Message:
  -----------
  [X86] shrinkAndImmediate - bail on failed constant fold

Workaround for issue #114360 where shrinkAndImmediate folds away the AND after the ZEXT has already been folded away to SUBREG_TO_REG losing the implicit zext guarantee.

There's the possibility that other instructions can result in a similar regression, but this is a stopgap until I can investigate whether shrinkAndImmediate needs to be replaced entirely.

Fixes #114360


  Commit: 056153f36eca184f81969f5cd5c8cd967c935f96
      https://github.com/llvm/llvm-project/commit/056153f36eca184f81969f5cd5c8cd967c935f96
  Author: Peng Liu <winner245 at hotmail.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M libcxx/docs/ReleaseNotes/20.rst
    M libcxx/include/__vector/vector.h
    M libcxx/test/benchmarks/ContainerBenchmarks.h
    M libcxx/test/benchmarks/GenerateInput.h
    M libcxx/test/benchmarks/vector_operations.bench.cpp

  Log Message:
  -----------
  Optimize vector::assign for InputIterator-only pair inputs (#113852)

This PR optimizes the input iterator overload of `assign(_InputIterator,
_InputIterator)` in `std::vector<_Tp, _Allocator>` by directly assigning
to already initialized memory, rather than first destroying existing
elements and then constructing new ones. By eliminating unnecessary
destruction and construction, the proposed algorithm enhances the
performance by up to 2x for trivial element types (e.g.,
`std::vector<int>`), up to 2.6x for non-trivial element types like
`std::vector<std::string>`, and up to 3.4x for more complex non-trivial
types (e.g., `std::vector<std::vector<int>>`).

###  Google Benchmarks

Benchmark tests (`libcxx/test/benchmarks/vector_operations.bench.cpp`)
were conducted for the `assign()` implementations before and after this
patch. The tests focused on trivial element types like
`std::vector<int>`, and non-trivial element types such as
`std::vector<std::string>` and `std::vector<std::vector<int>>`.



#### Before
```
-------------------------------------------------------------------------------------------------
Benchmark                                                       Time             CPU   Iterations
-------------------------------------------------------------------------------------------------
BM_AssignInputIterIter/vector_int/1024/1024                  1157 ns         1169 ns       608188
BM_AssignInputIterIter<32>/vector_string/1024/1024          14559 ns        14710 ns        47277
BM_AssignInputIterIter<32>/vector_vector_int/1024/1024      26846 ns        27129 ns        25925
```


#### After
```
-------------------------------------------------------------------------------------------------
Benchmark                                                       Time             CPU   Iterations
-------------------------------------------------------------------------------------------------
BM_AssignInputIterIter/vector_int/1024/1024                   561 ns          566 ns      1242251
BM_AssignInputIterIter<32>/vector_string/1024/1024           5604 ns         5664 ns       128365
BM_AssignInputIterIter<32>/vector_vector_int/1024/1024       7927 ns         8012 ns        88579
```


  Commit: 81c88135e402d3dfee7387acef86b173132cfb64
      https://github.com/llvm/llvm-project/commit/81c88135e402d3dfee7387acef86b173132cfb64
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M libcxx/include/locale

  Log Message:
  -----------
  [libc++] Use the __strtoNUM functions from __locale instead of the old API (#118029)

The commit where I switched from using the old locale base API to the
new functions defined inside the __locale namespace forgot to update
references to the strtoNUM functions. This patch fixes that.


  Commit: 59716479fc2f78ccabb2fc47b23cdc636d4ce122
      https://github.com/llvm/llvm-project/commit/59716479fc2f78ccabb2fc47b23cdc636d4ce122
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    A libcxx/docs/CodingGuidelines.rst
    M libcxx/docs/Contributing.rst
    M libcxx/docs/DesignDocs/ExtendedCXX03Support.rst
    R libcxx/docs/DesignDocs/NodiscardPolicy.rst
    M libcxx/docs/index.rst

  Log Message:
  -----------
  [libc++] Add coding guidelines to the docs (#117051)

We have a buch of coding guidelines which are either documented as
design docs, which aren't really applicable or not at all. This moves
coding guidelines we have currently in the design docs into a separate
file and adds a bunch of guidelines which we have but aren't documented
anywhere.


  Commit: d648eed5899c4be10f1f7866eebef2bc171e673f
      https://github.com/llvm/llvm-project/commit/d648eed5899c4be10f1f7866eebef2bc171e673f
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M libcxx/include/string

  Log Message:
  -----------
  [libc++] Simplify the implementation of reserve() and shrink_to_fit() (#113453)

Since we changed the implementation of `reserve(size_type)` to only ever
extend,
it doesn't make a ton of sense anymore to have `__shrink_or_extend`,
since the code
paths of `reserve` and `shrink_to_fit` are now almost completely
separate.

This patch splits up `__shrink_or_extend` so that the individual parts
are in `reserve`
and `shrink_to_fit` depending on where they are needed.


  Commit: d9c269577e6e68e1336461f266b20780f4d78dba
      https://github.com/llvm/llvm-project/commit/d9c269577e6e68e1336461f266b20780f4d78dba
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

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

  Log Message:
  -----------
  [VPlan] Remove manual constant fold in VPWidenIntOrFpInductionRecipe. NFC (#118028)

This manual constant folding was added in 2017 in
https://reviews.llvm.org/D29956, but since then it looks like IRBuilder
has learnt to fold it away itself.
I'm not sure at what point this happened, I just verified this by
stepping through the call to CreateVectorSplat in the debugger.


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

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

  Log Message:
  -----------
  [AArch64] Minor cleanup and speedup for getVectorInstrCostHelper

If UserToExtractIdx is empty then we can skip checking the users.


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

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

  Log Message:
  -----------
  [mlir][Transforms] Dialect conversion: Fix bug in `UnresolvedMaterializationRewrite` rollback (#105949)

When an unresolved materialization (`unrealized_conversion_cast` op) is
rolled back, the mapping should be rolled back as well, regardless of
whether it is a source, target or argument materialization. Otherwise,
we accumulate pointers to erased IR in the `mapping`. This is harmless
in most cases, but can cause issues when a new operation is allocated at
the same memory location and the pointer is "reused".

It is not possible to write a test case for this because I cannot
trigger the pointer reuse programmatically.


  Commit: c2171d748685be8c7ce2366deefe01aaae1c61a0
      https://github.com/llvm/llvm-project/commit/c2171d748685be8c7ce2366deefe01aaae1c61a0
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/unittests/DebugInfo/LogicalView/BUILD.gn

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


  Commit: 7c5300e73445310ba40515bc01c2da59d4c58d50
      https://github.com/llvm/llvm-project/commit/7c5300e73445310ba40515bc01c2da59d4c58d50
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/unittests/Target/SPIRV/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 45b567be8d0d


  Commit: 958ab3a4a53357ddf27b7ccae8bdbae5878d3cca
      https://github.com/llvm/llvm-project/commit/958ab3a4a53357ddf27b7ccae8bdbae5878d3cca
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/unittests/Target/SPIRV/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 53326ee0cf45


  Commit: bfa6c9a959e15e4548e411144fc7eda7d6b7e4dc
      https://github.com/llvm/llvm-project/commit/bfa6c9a959e15e4548e411144fc7eda7d6b7e4dc
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

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

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


  Commit: eb42e94d9793d5426de64266ef637b3267ed0b40
      https://github.com/llvm/llvm-project/commit/eb42e94d9793d5426de64266ef637b3267ed0b40
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/unittests/Transforms/IPO/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/Transforms/Utils/BUILD.gn

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


  Commit: c5ab28a42db95e287bf7f4623e8f5703b2f200d9
      https://github.com/llvm/llvm-project/commit/c5ab28a42db95e287bf7f4623e8f5703b2f200d9
  Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/SIOptimizeVGPRLiveRange.cpp
    A llvm/lib/Target/AMDGPU/SIOptimizeVGPRLiveRange.h
    M llvm/test/CodeGen/AMDGPU/opt-vgpr-live-range-verifier-error.mir
    M llvm/test/CodeGen/AMDGPU/si-opt-vgpr-liverange-bug-deadlanes.mir
    M llvm/test/CodeGen/AMDGPU/si-optimize-vgpr-live-range-dbg-instr.mir

  Log Message:
  -----------
  [AMDGPU][NewPM] Port SIOptimizeVGPRLiveRange pass to NPM. (#117686)


  Commit: dab9fa2d7f3b3092d4ab0c815868ec68a968a31a
      https://github.com/llvm/llvm-project/commit/dab9fa2d7f3b3092d4ab0c815868ec68a968a31a
  Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/Flang.h
    M flang/lib/Optimizer/CodeGen/Target.cpp
    A flang/test/Driver/mabi-loongarch.f90
    A flang/test/Fir/struct-passing-loongarch64-byreg.fir
    A flang/test/Fir/struct-passing-return-loongarch64-bystack.fir
    A flang/test/Fir/struct-return-loongarch64-byreg.fir

  Log Message:
  -----------
  [Flang] LoongArch64 support for BIND(C) derived types in mabi=lp64d. (#117108)

This patch:
- Supports both the passing and returning of BIND(C) type parameters.
- Adds `mabi` check for LoongArch64. Currently, flang only supports
`mabi=` option
set to `lp64d` in LoongArch64, other ABIs will report an error and may
be supported
  in the future.

Reference ABI:

https://github.com/loongson/la-abi-specs/blob/release/lapcs.adoc#subroutine-calling-sequence


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    A llvm/test/Analysis/CostModel/AArch64/extract_float_streaming.ll

  Log Message:
  -----------
  [AArch64] Guard against getRegisterBitWidth returning zero in vector instr cost. (#117749)

If the getRegisterBitWidth is zero (such as in sme streaming functions),
then we could hit a crash from using % RegWidth.


  Commit: b2d3cb1e7502a5ddb7d6688dce5cf51573f6189c
      https://github.com/llvm/llvm-project/commit/b2d3cb1e7502a5ddb7d6688dce5cf51573f6189c
  Author: LiqinWeng <liqin.weng at spacemit.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

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

  Log Message:
  -----------
  [TTI][RISCV] Remove deduplicate type-based VP costing of VPReduction.NFC (#117708)

Refered to: #115983


  Commit: d83148f9b9debde1358f0686594da208ce33182e
      https://github.com/llvm/llvm-project/commit/d83148f9b9debde1358f0686594da208ce33182e
  Author: Abhishek Varma <avarma094 at gmail.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
    M mlir/test/Dialect/Affine/canonicalize.mlir

  Log Message:
  -----------
  [MLIR][Affine] Update ::fold() to have constant basis attr for affine.delinearize_index/linearize_index (#117572)

-- This commit updates `::fold()` to have constant(CST)
   attribute for affine.delinearize_index/linearize_index op's basis
   wherever applicable.
-- Essentially the code checks if the mixed basis OpFoldResult
   set contains any constant SSA value and converts it to a constant
   integer instead.

Signed-off-by: Abhishek Varma <abhvarma at amd.com>


  Commit: 8fcbba82d6c8038c4a0c5859275523414107b198
      https://github.com/llvm/llvm-project/commit/8fcbba82d6c8038c4a0c5859275523414107b198
  Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M clang/test/Driver/print-supported-extensions-riscv.c
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/test/CodeGen/RISCV/attributes.ll
    A llvm/test/MC/RISCV/xqcisls-invalid.s
    A llvm/test/MC/RISCV/xqcisls-valid.s
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Add Qualcomm uC Xqcisls (Scaled Load Store) extension (#117987)

This extension adds 8 load/store instructions with a scaled index
addressing mode.

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

This patch adds assembler only support.


  Commit: d02c1676d75a6bab1252b48da9a955fc7dc1251f
      https://github.com/llvm/llvm-project/commit/d02c1676d75a6bab1252b48da9a955fc7dc1251f
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h
    M llvm/include/llvm/Object/ELF.h
    M llvm/include/llvm/Support/Error.h
    M llvm/lib/ExecutionEngine/JITLink/COFF_x86_64.cpp
    M llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/Core.cpp
    M llvm/lib/ExecutionEngine/Orc/DebugObjectManagerPlugin.cpp
    M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/lib/Object/Archive.cpp
    M llvm/lib/Object/GOFFObjectFile.cpp
    M llvm/lib/Object/MachOObjectFile.cpp
    M llvm/lib/Object/MachOUniversal.cpp
    M llvm/lib/Object/Minidump.cpp
    M llvm/lib/Object/TapiUniversal.cpp
    M llvm/lib/Object/WasmObjectFile.cpp
    M llvm/lib/Object/XCOFFObjectFile.cpp
    M llvm/lib/Support/DataExtractor.cpp

  Log Message:
  -----------
  [Support][Error] Add ErrorAsOutParameter constructor that takes an Error by ref.

ErrorAsOutParameter's Error* constructor supports cases where an Error might not
be passed in (because in the calling context it's known that this call won't
fail). Most clients always have an Error present however, and for them an Error&
overload is more convenient.


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

  Changed paths:
    M libc/test/src/sys/mman/linux/process_mrelease_test.cpp

  Log Message:
  -----------
  [libc] always clean up child process to avoid hanging ninja (#118049)


  Commit: 01a15dca09e56dce850ab6fb3ecddfb3f8c6c172
      https://github.com/llvm/llvm-project/commit/01a15dca09e56dce850ab6fb3ecddfb3f8c6c172
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/CMakeLists.txt
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/lib/Target/RISCV/RISCVTargetMachine.h
    A llvm/lib/Target/RISCV/RISCVVectorMaskDAGMutation.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access-zve32x.ll
    M llvm/test/CodeGen/RISCV/rvv/fmaximum-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fminimum-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/sshl_sat_vec.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfeq.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfge.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfgt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfle.ll
    M llvm/test/CodeGen/RISCV/rvv/vmflt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfne.ll
    M llvm/test/CodeGen/RISCV/rvv/vmseq.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsge.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgeu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgtu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsle.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsleu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmslt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsltu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsne.ll

  Log Message:
  -----------
  [RISCV] Set a barrier between mask producer and user of V0 (#114012)

Here we add a scheduling mutation in pre-ra scheduling, which will
add an artificial dependency edge between mask producer and its
previous nearest instruction that uses V0 register.

This prevents the overlap of live intervals of mask registers and
as a consequence we can reduce some spills/moves.

>From the test changes, we can see some improvements and also some
regressions (more vtype toggles).

Partially fixes #113489.


  Commit: 9b163d2ee78383fe9a89e1f2e9c8c635a557cdf4
      https://github.com/llvm/llvm-project/commit/9b163d2ee78383fe9a89e1f2e9c8c635a557cdf4
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

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

  Log Message:
  -----------
  [gn build] Port 01a15dca09e5


  Commit: 9b5b3edd64e56af02295c0365269177443d4a64d
      https://github.com/llvm/llvm-project/commit/9b5b3edd64e56af02295c0365269177443d4a64d
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Tooling/Inclusions/IncludeStyle.h

  Log Message:
  -----------
  [clang-format][doc] Fix formatting, etc.


  Commit: 18760ce0fd811140fe6cb9a01b766d73bb50bf4d
      https://github.com/llvm/llvm-project/commit/18760ce0fd811140fe6cb9a01b766d73bb50bf4d
  Author: AlexErofeev <framalex at nxt.ru>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/StmtPrinter.cpp
    A clang/test/AST/ast-print-packindexingexpr.cpp

  Log Message:
  -----------
  [Clang][AST] Fix PackIndexingExpr AST printout (#117947)

Fixes #116486 
Also added a test


  Commit: 2df0d2962725a26a1d8c438888f7e70946943589
      https://github.com/llvm/llvm-project/commit/2df0d2962725a26a1d8c438888f7e70946943589
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M mlir/lib/Dialect/Affine/IR/AffineOps.cpp

  Log Message:
  -----------
  [mlir] Fix -Wsign-compare in AffineOps.cpp (NFC)

/llvm-project/mlir/lib/Dialect/Affine/IR/AffineOps.cpp:4590:25:
error: comparison of integers of different signs: 'int64_t' (aka 'long') and 'size_t' (aka 'unsigned long') [-Werror,-Wsign-compare]
  if (dynamicBasisIndex == dynamicBasis.size())
      ~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~
1 error generated.


  Commit: 96dd39c575be64896995e08881b9bc27688ce5d1
      https://github.com/llvm/llvm-project/commit/96dd39c575be64896995e08881b9bc27688ce5d1
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M compiler-rt/lib/xray/weak_symbols.txt
    M compiler-rt/lib/xray/xray_flags.cpp
    M compiler-rt/lib/xray/xray_flags.h
    A compiler-rt/test/xray/TestCases/Posix/default-options.cpp
    M llvm/docs/XRay.rst

  Log Message:
  -----------
  [XRay] Add `__xray_default_options` to specify build-time defined options (#117921)

Similar to `__asan_default_options`, users can specify default options
upon building the instrumented binaries by providing their own
definition of `__xray_default_options` which returns the option strings.

This is useful in cases where setting the `XRAY_OPTIONS` environment
variable might be difficult. Plus, it's a convenient way to populate
XRay options when you always want the instrumentation to be enabled.


  Commit: 3b43276575fc939b4f6e8089277fac083c770990
      https://github.com/llvm/llvm-project/commit/3b43276575fc939b4f6e8089277fac083c770990
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/RedirectionManager.h

  Log Message:
  -----------
  [ORC] Remove some SymbolStringPtr copies.


  Commit: e034c4ef7b52635bb9cc78b6d3f97a4af5002f92
      https://github.com/llvm/llvm-project/commit/e034c4ef7b52635bb9cc78b6d3f97a4af5002f92
  Author: vabridgers <58314289+vabridgers at users.noreply.github.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/docs/analyzer/checkers.rst
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp
    M clang/test/Analysis/analyzer-enabled-checkers.c
    M clang/test/Analysis/chroot.c
    M clang/test/Analysis/show-checker-list.c
    M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c

  Log Message:
  -----------
  [analyzer] Modernize, improve and promote chroot checker (#117791)

This change modernizes, improves and promotes the chroot checker from
alpha to the Unix family of checkers. This checker covers the POS05
recommendations for use of chroot.

The improvements included modeling of a success or failure from chroot
and not falsely reporting a warning along an error path. This was made
possible through modernizing the checker to be flow sensitive.

---------

Co-authored-by: einvbri <vince.a.bridgers at ericsson.com>
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>


  Commit: 91285e26bf67179a6804c931203c93f07c08183d
      https://github.com/llvm/llvm-project/commit/91285e26bf67179a6804c931203c93f07c08183d
  Author: Clement Courbet <courbet at google.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M clang-tools-extra/clang-reorder-fields/ReorderFieldsAction.cpp
    A clang-tools-extra/test/clang-reorder-fields/FieldAnnotationsInMacros.cpp

  Log Message:
  -----------
  [clang-reorder-fields] Handle macros fields declarations. (#118005)

Right now fields with macro declarations break the tool:

```

struct Foo {
  Mutex mu;
  int x GUARDED_BY(mu);
  int y;
};
```

reordered by mu,y,x yields:

```
struct Foo {
  Mutex mu;
  int y GUARDED_BY(mu);
  int x;
};
```


  Commit: d7791f51cecbaaa81a65e4a16d781fbf338f9272
      https://github.com/llvm/llvm-project/commit/d7791f51cecbaaa81a65e4a16d781fbf338f9272
  Author: Carlos Alberto Enciso <Carlos.Enciso at sony.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/unittests/DebugInfo/LogicalView/CMakeLists.txt

  Log Message:
  -----------
  [llvm-debuginfo-analyzer] Remove superfluous link components. (#118052)

As 'LLVM_TARGETS_TO_BUILD' control which targets are enabled, the lines:

  AllTargetsDescs
  AllTargetsDisassemblers
  AllTargetsInfos

are redundant.


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

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/test/Dialect/Linalg/vectorization-scalable.mlir

  Log Message:
  -----------
  [mlir][linalg] Relax scalable vectorization restrictions (#117991)

Currently, the Linalg vectorizer disallows non-trailing parallel
dimensions to be scalable, e.g., `vector_sizes [[8], 1]` (*), for cases
like:

```mlir
%0 = linalg.fill ins(%arg0 : f32) outs(%A : tensor<?x?xf32>) -> tensor<?x?xf32>
```

This restriction exists to avoid generating "scalable" arrays of
aggregates, which LLVM does not support (multi-dim vectors are lowered
into arrays of aggregates at the LLVM level).

This patch relaxes that restriction when the trailing parallel vector
dimension is `1`, e.g., for `vector_sizes [[8], 1]`. Such cases are safe
since trailing unit dimensions can be collapsed. This relaxation is
necessary to support scalable vectorization for tensor.pack, where inner
tile sizes are `[8]` (scalable) and `1` (scalar).

(*) Transform Dialect notation


  Commit: a943922c0de52efb78e84e08dbc5d74f428b2377
      https://github.com/llvm/llvm-project/commit/a943922c0de52efb78e84e08dbc5d74f428b2377
  Author: bernhardu <bernhardu at mailbox.org>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

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

  Log Message:
  -----------
  [win/asan] GetInstructionSize: Remove duplicate instruction `FF 25 ...`. (#116894)

It appears already some lines above with this comment:
  "Cannot overwrite control-instruction. Return 0 to indicate failure.".

Replacing just the comment in the first appearance.

Found after creating the test in #113085.


  Commit: 9b2ec87f5bce57cc900cf52a99f805d999716053
      https://github.com/llvm/llvm-project/commit/9b2ec87f5bce57cc900cf52a99f805d999716053
  Author: Balazs Benics <benicsbalazs at gmail.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
    M clang/test/Analysis/ctor-trivial-copy.cpp
    M clang/test/Analysis/explain-svals.cpp
    M clang/test/Analysis/iterator-modeling.cpp
    M clang/test/Analysis/stl-algorithm-modeling-aggressive-std-find-modeling.cpp
    M clang/test/Analysis/stl-algorithm-modeling.cpp
    M clang/test/Analysis/template-param-objects.cpp

  Log Message:
  -----------
  [analyzer] Avoid creating LazyCompoundVal when possible (#116840)

In #115916 I allowed copying empty structs.
Later in #115917 I changed how objects are copied, and basically when we
would want to copy a struct (an LCV) of a single symbol (likely coming
from an opaque fncall or invalidation), just directly bind that symbol
instead of creating an LCV referring to the symbol. This was an
optimization to skip a layer of indirection.

Now, it turns out I should have apply the same logic in #115916. I
should not have just blindly created an LCV by calling
`createLazyBinding()`, but rather check if I can apply the shortcut
described in #115917 and only create the LCV if the shortcut doesn't
apply.

In this patch I check if there is a single default binding that the copy
would refer to and if so, just return that symbol instead of creating an
LCV.

There shouldn't be any observable changes besides that we should have
fewer LCVs. This change may surface bugs in checkers that were
associating some metadata with entities in a wrong way. Notably,
STLAlgorithmModeling and DebugIteratorModeling checkers would likely
stop working after this change.
I didn't investigate them deeply because they were broken even prior to
this patch. Let me know if I should migrate these checkers to be just as
bugged as they were prior to this patch - thus make the tests pass.


  Commit: 352f8688d0ca250c9e8774321f6c3bcd4298cc09
      https://github.com/llvm/llvm-project/commit/352f8688d0ca250c9e8774321f6c3bcd4298cc09
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

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

  Log Message:
  -----------
  [clang] Fix incorrect inferred lifetime_capture_by attr on STL (#118013)

We incorrectly annotate the iterator parameter for `insert` method
(`void insert(const_iterator, const value_type& value)`), because
iterator is also a gsl-pointer type.

This patch fixes it.


  Commit: 27e01ee5aafb79a8aeca5fc9eb41e7f1243a7a46
      https://github.com/llvm/llvm-project/commit/27e01ee5aafb79a8aeca5fc9eb41e7f1243a7a46
  Author: Dmitry Sidorov <dmitry.sidorov at intel.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.td

  Log Message:
  -----------
  [SPIR-V][NFC] Fix number of operands for cooperative matrix instructions (#118014)

This PR fixes number of operands of SPIR-V wrapper builtins for
cooperative matrix instructions.

Signed-off-by: Sidorov, Dmitry <dmitry.sidorov at intel.com>


  Commit: 26baa00908b2eb8b2925800af6bc64fbe53cac48
      https://github.com/llvm/llvm-project/commit/26baa00908b2eb8b2925800af6bc64fbe53cac48
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/CheckExprLifetime.cpp
    M clang/test/AST/ByteCode/records.cpp
    A clang/test/SemaCXX/cxx20-warn-dangling-paren-list-agg-init.cpp
    M clang/test/SemaCXX/paren-list-agg-init.cpp

  Log Message:
  -----------
  [clang] Diagnose dangling references for parenthesized aggregate initialization. (#117690)

Unlike brace initialization, the parenthesized aggregate initialization
in C++20 does not extend the lifetime of a temporary object bound to a
reference in an aggreate. This can lead to dangling references:

```
struct A { const int& r; };
 A a1(1); // well-formed, but results in a dangling reference.
 ``` 

With this patch, clang will diagnose this common dangling issues.

Fixes #101957


  Commit: e9be21786c972de93206599d4e06b79c2ca8f772
      https://github.com/llvm/llvm-project/commit/e9be21786c972de93206599d4e06b79c2ca8f772
  Author: Daniel Kiss <daniel.kiss at arm.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/cmake/modules/GetHostTriple.cmake

  Log Message:
  -----------
  [CMake] Handle clang in MSVC mode in GetHostTriple (#116701)

When configuring CMake with Clang in MSVC mode, Clang can either be
invoked with the MSVC style driver (clang-cl) or the GNU style driver
(clang). When using the MSVC style driver, CMake sets the CMake variable
MSVC (which indicates the kind of command line interface), but when
using the GNU style driver, this variable isn't set, while Clang still
operates in MSVC mode.

Even though CMake doesn't set the variable MSVC, it still does set
CMAKE_C_COMPILER_ARCHITECTURE_ID, which it does set for MSVC and Clang
in MSVC mode, but not for Clang in MinGW mode.

For this configuration, use the MSVC style,
CMAKE_C_COMPILER_ARCHITECTURE_ID based GetHostTriple implementation.


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

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [LangRef] update a couple of struct/vector creation examples to use poison


  Commit: a174aa1e416c4e27945f5a8c646b119126dc8441
      https://github.com/llvm/llvm-project/commit/a174aa1e416c4e27945f5a8c646b119126dc8441
  Author: Anutosh Bhat <andersonbhat491 at gmail.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M clang/lib/Interpreter/CMakeLists.txt
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/lib/Interpreter/Wasm.cpp

  Log Message:
  -----------
  [clang-repl] Fix generation of wasm binaries while running clang-repl in browser (#117978)

Co-authored-by: Vassil Vassilev <v.g.vassilev at gmail.com>


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

  Changed paths:
    M llvm/test/CodeGen/X86/pr114360.ll

  Log Message:
  -----------
  [X86] Adjust triple on test case for #114360

An attempt to fix a buildbot failure on clang-x64-windows-msvc


  Commit: 26ffca08439f23e8db43beeb021c4cae32716822
      https://github.com/llvm/llvm-project/commit/26ffca08439f23e8db43beeb021c4cae32716822
  Author: lonely eagle <2020382038 at qq.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
    M mlir/test/Dialect/Affine/ops.mlir

  Log Message:
  -----------
  [mlir][gpu]add AffineScope to gpu.func op. (#118010)

This PR in order to solve the following problem.
https://github.com/llvm/llvm-project/pull/117721.
To efficiently implement the thread-to-data mapping relationship, I
introduced AffineScope in gpu.func(Data or thread layout).


  Commit: 9c97aa5abb6aa4ce4055095a89ae7d72e1b61803
      https://github.com/llvm/llvm-project/commit/9c97aa5abb6aa4ce4055095a89ae7d72e1b61803
  Author: Richard Dzenis <richard at dzenis.dev>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/lib/ObjCopy/MachO/MachOLayoutBuilder.cpp
    A llvm/test/tools/llvm-objcopy/MachO/dysymtab-zero-indirectsym.test

  Log Message:
  -----------
  [llvm-objcopy] Always update indirectsymoff in MachO (#117726)

Let's say we've run llvm-strip over some MachO. The resulting MachO
became smaller and there are no indirect symbols anymore.

Then according to previous code we would not update indirectsymoff
field. This would lead to `MachOWriter::totalSize()` report size that is
larger than the new MachO. As a result we would get MachO that has zero
bytes past contents of the very last load command.

Codesign has a strict check that size of MachO file must be equal to

    lastLoadCommand.offset + lastLoadCommand.size

If this is not satisfied codesign reports the following error

    main executable failed strict validation

Fixes #117723


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

  Changed paths:
    M llvm/test/CodeGen/X86/pr114360.ll

  Log Message:
  -----------
  [X86] Add missing REQUIRES to test case for #114360


  Commit: 0d1d1b363d9588c192152cec4f256f3edfea7e48
      https://github.com/llvm/llvm-project/commit/0d1d1b363d9588c192152cec4f256f3edfea7e48
  Author: itrofimow <i.trofimow at yandex.ru>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/include/llvm/DebugInfo/Symbolize/Symbolize.h
    M llvm/lib/DebugInfo/Symbolize/Symbolize.cpp

  Log Message:
  -----------
  [DebugInfo] Clean up LLVMSymbolizer::DemangleName API: const string& -> StringRef (#118056)


  Commit: b68340c83529bd8d13d1c4441777baa31863d1cf
      https://github.com/llvm/llvm-project/commit/b68340c83529bd8d13d1c4441777baa31863d1cf
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    A llvm/include/llvm/CodeGen/SpillPlacement.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/CodeGen/RegAllocGreedy.cpp
    M llvm/lib/CodeGen/RegAllocGreedy.h
    M llvm/lib/CodeGen/SpillPlacement.cpp
    R llvm/lib/CodeGen/SpillPlacement.h
    M llvm/lib/Passes/PassBuilder.cpp

  Log Message:
  -----------
  [CodeGen][NewPM] Port SpillPlacement analysis to NPM (#116618)


  Commit: 8dd0da5bd1c427a7ba2091b918c59b3ee7a8b79f
      https://github.com/llvm/llvm-project/commit/8dd0da5bd1c427a7ba2091b918c59b3ee7a8b79f
  Author: David Green <david.green at arm.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp

  Log Message:
  -----------
  [AArch64] Silence warning with different types in ternary. NFC

This just casts the Register to an unsigned, to fit in with the other types
returned from the function.


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

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/test/Dialect/Vector/invalid.mlir

  Log Message:
  -----------
  [mlir][vector] Disable `from_elements` for scalable vectors (#117868)

Disables `vector.from_elements` for scalable vectors. Given that the
length of scalable vectors is unknown at compile time, the semantics of
this Op are unclear in this context.


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

  Changed paths:
    M llvm/test/CodeGen/X86/mmx-cvt.ll

  Log Message:
  -----------
  [X86] Add test for new _mm_movpi64_epi64 lowering

With the MMX retirement, _mm_movpi64_epi64 now lowers to shuffle((__m64)(double)x,(__m64)0) pattern - which demonstrates a unnecessary FPU->GPU->FPU transfer


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

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

  Log Message:
  -----------
  [X86] vector-shuffle-masked.ll - update extract_subvector shuffle tests to take poison arg instead of undef


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

  Changed paths:
    M llvm/test/CodeGen/X86/widen_shuffle-1.ll

  Log Message:
  -----------
  [X86] widen_shuffle-1.ll - update shuffle tests to take poison arg instead of undef


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

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  [llvm][docs] Link to correct maintainers file for clang-tools-extra

5eeb3fef61bf5542c3fdcb71622fc4e826527789 moved it from CODE_OWNERS.txt.


  Commit: 59f57be94f38758616b1339b293b43af845571af
      https://github.com/llvm/llvm-project/commit/59f57be94f38758616b1339b293b43af845571af
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M libcxx/include/string

  Log Message:
  -----------
  Revert "[libc++] Simplify the implementation of reserve() and shrink_to_fit() (#113453)"

This reverts commit d648eed5899c4be10f1f7866eebef2bc171e673f. Breaks
anything that relies on sized deallocation, e.g. asan and tcmalloc.


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

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

  Log Message:
  -----------
  [X86] Fold (v2i64 (scalar_to_vector (i64 (bitcast (double))))) -> (bitcast (v2f64 scalar_to_vector))

This can occur more frequently after the MMX retirement if anyone is still using MMX intrinsics that now wrap to SSE


  Commit: baaf1115ca007f95fd08c52dc8bec54d310f5b27
      https://github.com/llvm/llvm-project/commit/baaf1115ca007f95fd08c52dc8bec54d310f5b27
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/include/llvm/ADT/BitmaskEnum.h
    M llvm/unittests/ADT/BitmaskEnumTest.cpp

  Log Message:
  -----------
  [BitmaskEnum] Add support for shift operators. (#118007)

For enums that describe a bitmask where successive bits within that mask
describe some enum value (as described in the same enum), it is useful
to support operator<< and operator>> as well.

For example:
```
  enum class E : unsigned {
    // 2 bits per option
    OptionA = 0,
    OptionB = 1,
    OptionC = 2,
    OptionD = 3,
    OptionMask = 3,

    // Given 3 values in the bitmask X, Y and Z, each is 2 bits in size
    // and represents a choice of OptionA..OptionD.
    ShiftX = 0,
    ShiftY = 2,
    ShiftZ = 4,
  };

  // The mask can be encoded with:
  E mask;
  mask |= getOptionFor(X) << E::ShiftX;
  mask |= getOptionFor(Y) << E::ShiftY;
  mask |= getOptionFor(Z) << E::ShiftZ;

  // And to extract a value:
  E OptionForX =  (mask >> E::ShiftX) & E::OptionMask;
  E OptionForY =  (mask >> E::ShiftY) & E::OptionMask;
  E OptionForZ =  (mask >> E::ShiftZ) & E::OptionMask;
```


  Commit: 9300274a12d758368c036812d903b73d70d64ea4
      https://github.com/llvm/llvm-project/commit/9300274a12d758368c036812d903b73d70d64ea4
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    M llvm/test/MC/RISCV/xqcicsr-invalid.s
    M llvm/test/MC/RISCV/xqcicsr-valid.s
    M llvm/test/MC/RISCV/xqcisls-invalid.s
    M llvm/test/MC/RISCV/xqcisls-valid.s

  Log Message:
  -----------
  [RISCV][NFCI] Fix Xqci Line Endings

Changes the new files for `Xqci`, including `Xqcicsr` and `Xqcisls`, to
use Unix line endings rather than Windows line endings.


  Commit: bbea1dee28f4bd7cfa897a79e38c5331fca5d796
      https://github.com/llvm/llvm-project/commit/bbea1dee28f4bd7cfa897a79e38c5331fca5d796
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/test/CodeGen/X86/avx512cfmulsh-instrinsics.ll

  Log Message:
  -----------
  [X86][FP16] Fix masking problem of VF[,C]MADDCSH intrinsics (#118071)

Fixes: #98306


  Commit: 6f4b4f41ca41d7d0b44a32d9968aef7667c68184
      https://github.com/llvm/llvm-project/commit/6f4b4f41ca41d7d0b44a32d9968aef7667c68184
  Author: David Green <david.green at arm.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/test/Analysis/CostModel/AArch64/sve-gather.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-scatter.ll
    R llvm/test/Transforms/LoopVectorize/AArch64/scatter-cost.ll

  Log Message:
  -----------
  [AArch64] Remove LoopVectorizer/AArch64/scatter-cost.ll test. NFC

This test checks the costs, not vectorization, so is better placed in the
existing gather/scatter cost modelling tests. An extra neoverse-v2 check line
has been added for both gathers and scatters.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/ashr-node-with-poison.ll

  Log Message:
  -----------
  [SLP] Add a check for poison value in AShrChecker

Need to check if the value in AShrChecker is a poison before casting it
to instruction to avoid compiler crash

Fixes #118030


  Commit: 2b3266c1701f315d7e89c81977800001563afacb
      https://github.com/llvm/llvm-project/commit/2b3266c1701f315d7e89c81977800001563afacb
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    A llvm/test/CodeGen/AArch64/zeroing-forms-abs-neg.ll

  Log Message:
  -----------
  [AArch64] Generate zeroing forms of certain SVE2.2 instructions (1/11) (#116259)

SVE2.2 introduces instructions with predicated forms with zeroing of the
inactive lanes. This allows in some cases to save a `movprfx` or a `mov`
instruction when emitting code for `_x` or `_z` variants of intrinsics.

This patch adds support for emitting the zeroing forms of `ABS`, `NEG`,
`FABS`, and `FNEG` instructions.


  Commit: e973f7ae52e753ebe53f5414ddf1c4d29e49deb5
      https://github.com/llvm/llvm-project/commit/e973f7ae52e753ebe53f5414ddf1c4d29e49deb5
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

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

  Log Message:
  -----------
  [RISCV][Xqcicsr] Instructions have Side Effects (#118089)

Xqcicsr was added in #117169. I missed that `hasSideEffects` was set to
0, rather than 1 (which all other CSR-modifying instructions have).

This has no effect on the current assembly-only support, but I think is
worth fixing before I forget. I accidentally fixed the closing comment
in 9300274a12d758368c036812d903b73d70d64ea4.


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

  Changed paths:
    M llvm/cmake/modules/GetHostTriple.cmake

  Log Message:
  -----------
  [CMake] Fix mismatched endif warning

Caused by https://github.com/llvm/llvm-project/pull/116701.

Seems like a lot of arguments to repeat, so just use a plain endif().


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

  Changed paths:
    M llvm/test/CodeGen/X86/vector-shuffle-128-v16.ll
    M llvm/test/CodeGen/X86/vector-shuffle-128-v2.ll
    M llvm/test/CodeGen/X86/vector-shuffle-128-v4.ll
    M llvm/test/CodeGen/X86/vector-shuffle-128-v8.ll
    M llvm/test/CodeGen/X86/vector-shuffle-256-v16.ll
    M llvm/test/CodeGen/X86/vector-shuffle-256-v32.ll
    M llvm/test/CodeGen/X86/vector-shuffle-256-v4.ll
    M llvm/test/CodeGen/X86/vector-shuffle-256-v8.ll
    M llvm/test/CodeGen/X86/vector-shuffle-512-v16.ll
    M llvm/test/CodeGen/X86/vector-shuffle-512-v32.ll
    M llvm/test/CodeGen/X86/vector-shuffle-512-v64.ll
    M llvm/test/CodeGen/X86/vector-shuffle-512-v8.ll

  Log Message:
  -----------
  [X86] update shuffle lowering tests to take poison arg instead of undef


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

  Changed paths:
    M llvm/test/CodeGen/X86/vector-shift-ashr-128.ll
    M llvm/test/CodeGen/X86/vector-shift-ashr-256.ll
    M llvm/test/CodeGen/X86/vector-shift-ashr-512.ll
    M llvm/test/CodeGen/X86/vector-shift-ashr-sub128.ll
    M llvm/test/CodeGen/X86/vector-shift-by-select-loop.ll
    M llvm/test/CodeGen/X86/vector-shift-lshr-128.ll
    M llvm/test/CodeGen/X86/vector-shift-lshr-256.ll
    M llvm/test/CodeGen/X86/vector-shift-lshr-512.ll
    M llvm/test/CodeGen/X86/vector-shift-lshr-sub128.ll
    M llvm/test/CodeGen/X86/vector-shift-shl-128.ll
    M llvm/test/CodeGen/X86/vector-shift-shl-256.ll
    M llvm/test/CodeGen/X86/vector-shift-shl-512.ll
    M llvm/test/CodeGen/X86/vector-shift-shl-sub128.ll

  Log Message:
  -----------
  [X86] update vector shift lowering tests to take poison arg instead of undef


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

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/include/mlir/IR/CommonTypeConstraints.td
    M mlir/test/Dialect/Vector/invalid.mlir

  Log Message:
  -----------
  [mlir][vector] Disable CompressStoreOp/ExpandLoadOp for scalable vectors (#117538)

These operations were introduced as counterparts to the following LLVM
intrinsics:

  * `@llvm.masked.expandload.*`,
  * `@llvm.masked.compressstore.*`.

Currently, there is minimal test coverage for scalable vector use cases
involving these Ops (both LLVM and MLIR). Additionally, the verifier is
flawed  - it incorrectly allows mixing fixed-width and scalable vectors.

To address these issues, scalable vector support for these Ops is being
disabled for now. This decision can be revisited if a clear need arises
for their use with scalable vectors in the future.


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

  Changed paths:
    A llvm/lib/Transforms/Coroutines/CoroCloner.h
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp

  Log Message:
  -----------
  [Coroutines][NFC] Refactor CoroCloner (#116885)

* Move CoroCloner to its own header. For now, the header is located in llvm/lib/Transforms/Coroutines
* Change private to protected to allow inheritance
* Create CoroSwitchCloner and move some of the switch specific code into this cloner. More code will follow in later commits.


  Commit: ef50d790c276600da609b465259a8e636e3531bc
      https://github.com/llvm/llvm-project/commit/ef50d790c276600da609b465259a8e636e3531bc
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M libcxx/utils/ci/run-buildbot-container

  Log Message:
  -----------
  [libc++] Update run-buildbot-container with up-to-date image information


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AArch64/extract-insert.ll
    M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll
    M llvm/test/CodeGen/PowerPC/scalar_vector_test_5.ll
    M llvm/test/CodeGen/X86/load-partial.ll

  Log Message:
  -----------
  [DAG] Extend extract_element(bitcast(scalar_to_vector(X))) -> trunc(srl(X,C)) (#117900)

When extracting a smaller integer from a scalar_to_vector source, we were limited to only folding/truncating the lowest bits of the scalar source.

This patch extends the fold to handle extraction of any other element, by right shifting the source before truncation.

Fixes a regression from #117884


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Subtarget.h
    M llvm/test/Analysis/CostModel/AArch64/sve-gather.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-scatter.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/induction-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-vectorization-cost-tuning.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-vf-hint.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-strict-fadd-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/type-shrinkage-zext-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/veclib-function-calls.ll

  Log Message:
  -----------
  [AArch64] Change the default vscale-for-tuning to 1. (#117174)

Most AArch64 cpus outside of Neoverse V1 (256) and A64FX (512) have an
SVE vector length of 128, and in environments like Android (where no
mcpu option is common) we would expect all cpus to match. This patch
changes the default vector length to 128 with -mcpu=generic, to match
the most common case.


  Commit: 8fb748b4a7c45b56c2e4f37c327fd88958ab3758
      https://github.com/llvm/llvm-project/commit/8fb748b4a7c45b56c2e4f37c327fd88958ab3758
  Author: Marina Taylor <marina_taylor at apple.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/InlineCost.h
    M llvm/lib/Analysis/InlineCost.cpp
    A llvm/test/Transforms/Inline/AArch64/memcpy-constant-size.ll
    A llvm/test/Transforms/PhaseOrdering/AArch64/memcpy-constant-size.ll

  Log Message:
  -----------
  [Inliner] Don't count a call penalty for foldable __memcpy_chk and similar (#117876)

When the size is an appropriate constant, __memcpy_chk will turn into a
memcpy that gets folded away by InstCombine. Therefore this patch avoids
counting these as calls for purposes of inlining costs.

This is only really relevant on platforms whose headers redirect memcpy
to __memcpy_chk (such as Darwin). On platforms that use intrinsics,
memcpy and similar functions are already exempt from call penalties.


  Commit: 77c2b005539c4b0c0e2b7edeefd5f57b95019bc9
      https://github.com/llvm/llvm-project/commit/77c2b005539c4b0c0e2b7edeefd5f57b95019bc9
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    A .ci/metrics/Dockerfile
    A .ci/metrics/metrics.py
    A .ci/metrics/requirements.lock.txt
    A .ci/metrics/requirements.txt

  Log Message:
  -----------
  [CI] Upstream metrics script and container definition (#117461)

This patch includes the script that pulls information from Github and
pushes it to Grafana. This is currently running in the cluster and
pushes information to
https://llvm.grafana.net/public-dashboards/6a1c1969b6794e0a8ee5d494c72ce2cd.
This script is designed to accept other jobs relatively easily and can
be easily modified to look at other metrics.


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    A clang/test/SemaTemplate/template-args-deduction-aggregates.cpp

  Log Message:
  -----------
  [Clang] fix crash due to incorrect argument position in merging deduced template arguments (#118041)

Fixes #113659


  Commit: 9ebab700cde7e47bd7b6c3386529262369e8fa2c
      https://github.com/llvm/llvm-project/commit/9ebab700cde7e47bd7b6c3386529262369e8fa2c
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    A .github/workflows/build-metrics-container.yml

  Log Message:
  -----------
  [Github] Add new workflow to build metrics container (#117462)

This patch adds a new Github Actions workflow to build the metrics
container and push it to the Github Container Registry.


  Commit: 820403c4e04db1f4adc8528bec33d393a5be3856
      https://github.com/llvm/llvm-project/commit/820403c4e04db1f4adc8528bec33d393a5be3856
  Author: Balazs Benics <benicsbalazs at gmail.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
    M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
    M clang/test/Analysis/initializer.cpp

  Log Message:
  -----------
  [analyzer] Never create Regions wrapping reference TypedValueRegions (NFCI) (#118096)

Like in the test case:
```c++
struct String {
  String(const String &) {}
};

struct MatchComponent {
  unsigned numbers[2];
  String prerelease;
  MatchComponent(MatchComponent const &) = default;
};

MatchComponent get();
void consume(MatchComponent const &);

MatchComponent parseMatchComponent() {
  MatchComponent component = get();
  component.numbers[0] = 10;
  component.numbers[1] = 20;
  return component; // We should have no stack addr escape warning here.
}

void top() {
  consume(parseMatchComponent());
}
```

When calling `consume(parseMatchComponent())` the
`parseMatchComponent()` would return a copy of a temporary of
`component`. That copy would invoke the
`MatchComponent::MatchComponent(const MatchComponent &)` ctor.

That ctor would have a (reference typed) ParamVarRegion, holding the
location (lvalue) of the object we are about to copy (&component). So
far so good, but just before evaluating the binding operation for
initializing the `numbers` field of the temporary, we evaluate the
ArrayInitLoopExpr representing the by-value elementwise copy of the
array `component.numbers`. This is represented by a LazyCompoundVal,
because we (usually) don't just copy large arrays and bind many
individual direct bindings. Rather, we take a snapshot by using a LCV.

However, notice that the LCV representing this copy would look like
this:
  lazyCompoundVal{ParamVarRegion{"reference param of cctor"}.numbers}

Notice that it refers to the numbers field of a reference. It would be
much better to desugar the reference to the actual object, thus it
should be: `lazyCompoundVal{component.numbers}`

Actually, when binding the result of the ArrayInitLoopExpr to the
`temp_object.numbers` in the compiler-generated member initializer of
the cctor, we should have two individual direct bindings because this is
a "small array":
```
  binding &Element{temp_object.numbers, 0} <- loadFrom(&Element{component.numbers, 0})
  binding &Element{temp_object.numbers, 1} <- loadFrom(&Element{component.numbers, 1})
```
Where `loadFrom(...)` would be:
```
  loadFrom(&Element{component.numbers, 0}): 10 U32b
  loadFrom(&Element{component.numbers, 1}): 20 U32b
```
So the store should look like this, after PostInitializer of
`temp_object.numbers`:
```
  temp_object at offset  0: 10 U32b
  temp_object at offset 32: 20 U32b
```

The lesson is that it's okay to have TypedValueRegions of references as
long as we don't form subregions of those. If we ever want to refer to a
subregion of a "reference" we actually meant to "desugar" the reference
and slice a subregion of the pointee of the reference instead.

Once this canonicalization is in place, we can also drop the special
handling of references in `ProcessInitializer`, because now reference
TypedValueRegions are eagerly desugared into their referee region when
forming a subregion of it.

There should be no practical differences, but there are of course bugs
that this patch may surface.


  Commit: b5132b7d044a5bc83eba9b09bd158cd77a511403
      https://github.com/llvm/llvm-project/commit/b5132b7d044a5bc83eba9b09bd158cd77a511403
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVDuplicatesTracker.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
    M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fp_const.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fp_two_calls.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_subgroups/cl_intel_sub_groups.ll
    M llvm/test/CodeGen/SPIRV/instructions/ret-type.ll
    A llvm/test/CodeGen/SPIRV/pointers/builtin-ret-reg-type.ll
    A llvm/test/CodeGen/SPIRV/pointers/gep-types-1.ll
    A llvm/test/CodeGen/SPIRV/pointers/gep-types-2.ll
    A llvm/test/CodeGen/SPIRV/pointers/phi-chain-types.ll
    M llvm/test/CodeGen/SPIRV/pointers/phi-valid-operand-types.ll
    A llvm/test/CodeGen/SPIRV/pointers/type-deduce-via-store-load-args-rev.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpGenericCastToPtr.ll
    M llvm/test/CodeGen/SPIRV/transcoding/spirv-event-null.ll
    A llvm/test/CodeGen/SPIRV/validate/sycl-hier-par-basic.ll

  Log Message:
  -----------
  [SPIR-V] Improve type inference: fix types of return values in call lowering (#116609)

Goals of the PR are:
* to ensure that correct types are applied to virtual registers which
were used as return values in call lowering. A reproducer is attached as
a new test case, before the PR it fails because spirv-val considers
output invalid due to wrong result/operand types in OpPhi's;
* improve type inference by speeding up postprocessing of types: by
limiting iterations by checking what remains to process, and processing
each instruction just once for any number of operands with uncomplete
types;
* improve type inference by more accurate work with uncomplete types
(pass uncomplete property to dependent operands, ensure consistency of
uncomplete-types data structure);
* change processing order and add traversing of PHI nodes when type
inference apply instructions results to specify/update/cast operands
type (fixes an issue with OpPhi's result type mismatch with operand
types).


  Commit: 2de2e7aa6f82ac283bc17945ca9750c01016a331
      https://github.com/llvm/llvm-project/commit/2de2e7aa6f82ac283bc17945ca9750c01016a331
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M .github/workflows/build-metrics-container.yml

  Log Message:
  -----------
  [Github] Fix build metrics container push (#118130)

This patch fixes a couple typos that were preventing the build metrics
container job from pushing the container to GHCR.


  Commit: cbf495fd12ba08c3a8e10dbcd482df1bf80736ed
      https://github.com/llvm/llvm-project/commit/cbf495fd12ba08c3a8e10dbcd482df1bf80736ed
  Author: Reno Dakota <paparodeo at proton.me>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M clang/lib/Driver/Driver.cpp
    M clang/test/Driver/unsupported-option.c

  Log Message:
  -----------
  [Clang][Driver] report unsupported option error when link + compile in same process (#116476)

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

This change updates clang to report unsupported option errors regardless
of the command line argument order.

When clang is invoked with a source file and without `-c` it will both
compile and link. When an unsupported option is also part of the command
line clang should generated an error. However, if the source file name
comes before an object file, eg: `-lc`, the error is ignored.

```
$ clang --target=x86_64 -lc hello.c -mhtm
clang: error: unsupported option '-mhtm' for target 'x86_64'
$ echo $?
1
```

but if `-lc` comes after `hello.c` the error is dropped

```
$ clang --target=x86_64 hello.c -mhtm -lc
$ echo $?
0
```

after this change clang will report the error regardless of the command
line argument order.


  Commit: 0ad6be1927f89cef09aa5d0fb244873f687997c9
      https://github.com/llvm/llvm-project/commit/0ad6be1927f89cef09aa5d0fb244873f687997c9
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2024-11-29 (Fri, 29 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/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/lib/Target/X86/X86TargetTransformInfo.h
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/SystemZ/vec-elt-insertion.ll

  Log Message:
  -----------
  [SLPVectorizer, TargetTransformInfo, SystemZ]  Improve SLP getGatherCost(). (#112491)

As vector element loads are free on SystemZ, this patch improves the cost
computation in getGatherCost() to reflect this.

getScalarizationOverhead() gets an optional parameter which can hold the actual
Values so that they in turn can be passed (by BasicTTIImpl) to
getVectorInstrCost().

SystemZTTIImpl::getVectorInstrCost() will now recognize a LoadInst and
typically return a 0 cost for it, with some exceptions.


  Commit: 6bfb6d4092a284e1fcd135625c0e713d019f0572
      https://github.com/llvm/llvm-project/commit/6bfb6d4092a284e1fcd135625c0e713d019f0572
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/include/llvm/ADT/SmallPtrSet.h

  Log Message:
  -----------
  [SmallPtrSet] Optimize contains (NFC) (#118092)

Instead of going through find_imp(), implement a specialized
contains_imp() that directly returns a boolean instead of a pointer that
needs to be compared to EndPointer().

This gives a compile-time improvement of around 0.2-0.3%.


  Commit: 05ff6e7948df3c152982814ea2367c7b83138cea
      https://github.com/llvm/llvm-project/commit/05ff6e7948df3c152982814ea2367c7b83138cea
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M lld/ELF/InputSection.cpp
    M lld/ELF/InputSection.h
    M lld/ELF/Symbols.cpp
    M lld/test/ELF/invalid-eh-frame3.s
    M lld/test/ELF/invalid-eh-frame6.s
    M lld/test/ELF/tls.s
    M lld/test/ELF/undef-multi.s
    M lld/test/ELF/undef.s

  Log Message:
  -----------
  [ELF] Use lower case offset in getObjMsg

to improve consistency with other diagnostics. While here, migrate to
use ELFSyncStream to drop toStr/getCtx uses and avoid string overhead.


  Commit: ae9b91acc76e03a3c38e2f92b59308c508901817
      https://github.com/llvm/llvm-project/commit/ae9b91acc76e03a3c38e2f92b59308c508901817
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

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

  Log Message:
  -----------
  [libc++] Fix malformed CSV entry for C++26 LWG issue


  Commit: 2dc0de753b6df83e35f3d98e0e6a26c95e3399c0
      https://github.com/llvm/llvm-project/commit/2dc0de753b6df83e35f3d98e0e6a26c95e3399c0
  Author: Brian Cain <bcain at quicinc.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

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

  Log Message:
  -----------
  [clang] recognize hexagon-*-ld.lld variants (#117338)

If we create a cross toolchain with a ${triple}-ld.lld symlink, clang
finds that symlink and when it uses it, it's not recognized as "lld".
Let's resolve that symlink and consider it when determining lld-ness.

For example, clang provides hexagon-link specific link arguments such as
`-mcpu=hexagonv65` and `-march=hexagon` when
hexagon-unknown-linux-musl-ld.lld is found. lld rejects this with the
following error:

hexagon-unknown-linux-musl-ld.lld: error: unknown emulation:
cpu=hexagonv65


  Commit: 52690db47da36a739ee506d3b3a7457fb918dc1e
      https://github.com/llvm/llvm-project/commit/52690db47da36a739ee506d3b3a7457fb918dc1e
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

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

  Log Message:
  -----------
  [clang] Fix -Wdangling false negative regressions caused by 117315 (#118088)

A specialization declaration can have an attribute even if the primary
template does not, particularly when the specialization is instantiated
from an annotated using-alias declaration.

Fix #118064


  Commit: 8ac2b77a11c9db9879557ce1c26e38628e1ef45f
      https://github.com/llvm/llvm-project/commit/8ac2b77a11c9db9879557ce1c26e38628e1ef45f
  Author: vabridgers <58314289+vabridgers at users.noreply.github.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp
    M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/branch-clone.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/redundant-expression.rst
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/alpha-core-identicalexpr.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/docs/analyzer/checkers.rst
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
    R clang/lib/StaticAnalyzer/Checkers/IdenticalExprChecker.cpp
    R clang/test/Analysis/identical-expressions.cpp

  Log Message:
  -----------
  [analyzer] Remove alpha.core.IdenticalExpr Checker (#114715)

This change removes the alpha.core.IdenticalExpr static analysis checker
since it's checks are present in the clang-tidy checks
misc-redundant-expression and bugprone-branch-clone. This check was
implemented as a static analysis check using AST matching, and since
alpha and duplicated in 2 clang-tidy checks may be removed.

Co-authored-by: Vince Bridgers <vince.a.bridgers at ericsson.com>


  Commit: 666de79595dc2460b7abca0b99d79d058c10cadf
      https://github.com/llvm/llvm-project/commit/666de79595dc2460b7abca0b99d79d058c10cadf
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M lld/ELF/InputFiles.cpp
    M lld/ELF/InputFiles.h
    M lld/ELF/InputSection.cpp

  Log Message:
  -----------
  [ELF] Move some ObjFile members to ELFFileBase to simplify getSrcMsg


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

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

  Log Message:
  -----------
  [rtsan] NFC: Fix style of some interceptors not using MAYBE (#118145)

There were a few interceptors that weren't using the newer MAYBE style -
fixed them up for uniform style.


  Commit: b22cc5a650deb729f4a1f18206e14971616d07ee
      https://github.com/llvm/llvm-project/commit/b22cc5a650deb729f4a1f18206e14971616d07ee
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 8ac2b77a11c9


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

  Changed paths:
    M mlir/include/mlir/Conversion/LLVMCommon/Pattern.h
    M mlir/include/mlir/Transforms/DialectConversion.h
    M mlir/lib/Dialect/Func/Transforms/DecomposeCallGraphTypes.cpp
    M mlir/lib/Dialect/Func/Transforms/FuncConversions.cpp
    M mlir/lib/Dialect/SCF/Transforms/StructuralTypeConversions.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorDescriptor.h
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/test/Transforms/decompose-call-graph-types.mlir
    M mlir/test/Transforms/test-legalizer.mlir
    M mlir/test/lib/Dialect/Test/TestOps.td
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp

  Log Message:
  -----------
  [mlir][Transforms] Add 1:N `matchAndRewrite` overload (#116470)

This commit adds a new `matchAndRewrite` overload to `ConversionPattern`
to support 1:N replacements. This is the first of two main PRs that
merge the 1:1 and 1:N dialect conversion drivers.

The existing `matchAndRewrite` function supports only 1:1 replacements,
as can be seen from the `ArrayRef<Value>` parameter.
```c++
LogicalResult ConversionPattern::matchAndRewrite(
    Operation *op, ArrayRef<Value> operands /*adaptor values*/,
    ConversionPatternRewriter &rewriter) const;
```

This commit adds a `matchAndRewrite` overload that is called by the
dialect conversion driver. By default, this new overload dispatches to
the original 1:1 `matchAndRewrite` implementation. Existing
`ConversionPattern`s do not need to be changed as long as there are no
1:N type conversions or value replacements.
```c++
LogicalResult ConversionPattern::matchAndRewrite(
    Operation *op, ArrayRef<ValueRange> operands /*adaptor values*/,
    ConversionPatternRewriter &rewriter) const {
  // Note: getOneToOneAdaptorOperands produces a fatal error if at least one
  // ValueRange has 0 or more than 1 value.
  return matchAndRewrite(op, getOneToOneAdaptorOperands(operands), rewriter);
}
```

The `ConversionValueMapping`, which keeps track of value replacements
and materializations, still does not support 1:N replacements. We still
rely on argument materializations to convert N replacement values back
into a single value. The `ConversionValueMapping` will be generalized to
1:N mappings in the second main PR.

Before handing the adaptor values to a `ConversionPattern`, all argument
materializations are "unpacked". The `ConversionPattern` receives N
replacement values and does not see any argument materializations. This
implementation strategy allows us to use the 1:N infrastructure/API in
`ConversionPattern`s even though some functionality is still missing in
the driver. This strategy was chosen to keep the sizes of the PRs
smaller and to make it easier for downstream users to adapt to API
changes.

This commit also updates the the "decompose call graphs" transformation
and the "sparse tensor codegen" transformation to use the new 1:N
`ConversionPattern` API.

Note for LLVM conversion: If you are using a type converter with 1:N
type conversion rules or if your patterns are performing 1:N
replacements (via `replaceOpWithMultiple` or
`applySignatureConversion`), conversion pattern applications will start
failing (fatal LLVM error) with this error message: `pattern 'name' does
not support 1:N conversion`. The name of the failing pattern is shown in
the error message. These patterns must be updated to the new 1:N
`matchAndRewrite` API.


  Commit: 04ab599363eacc156e11238da9343c1d9d90db56
      https://github.com/llvm/llvm-project/commit/04ab599363eacc156e11238da9343c1d9d90db56
  Author: Qizhi Hu <836744285 at qq.com>
  Date:   2024-11-30 (Sat, 30 Nov 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/return-const-ref-from-parameter.cpp

  Log Message:
  -----------
  [clang-tidy] fix false positive in bugprone-return-const-ref-from-parameter (#117734)

Fix https://github.com/llvm/llvm-project/issues/115743


  Commit: 1f13713dbb323d678c37efd5aa98a69e8f633b26
      https://github.com/llvm/llvm-project/commit/1f13713dbb323d678c37efd5aa98a69e8f633b26
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M lld/ELF/InputFiles.cpp
    M lld/ELF/InputFiles.h
    M lld/ELF/InputSection.cpp
    M lld/ELF/InputSection.h
    M lld/ELF/Relocations.cpp
    M lld/ELF/Symbols.cpp
    M lld/ELF/Target.cpp
    M lld/include/lld/Common/ErrorHandler.h

  Log Message:
  -----------
  [ELF] Change getSrcMsg to use ELFSyncStream. NFC


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

  Changed paths:
    M flang/include/flang/Optimizer/CodeGen/FIROpPatterns.h
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir] Fix build after #116470 (#118147)

This should have been part of #116470.


  Commit: 10b98473e8f9e3886bd4a51966c755d760de14ed
      https://github.com/llvm/llvm-project/commit/10b98473e8f9e3886bd4a51966c755d760de14ed
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M lld/ELF/ICF.cpp

  Log Message:
  -----------
  [ELF] Simplify --print-icf-sections


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

  Changed paths:
    M lld/ELF/Arch/Hexagon.cpp
    M lld/ELF/Arch/PPC64.cpp
    M lld/ELF/OutputSections.cpp
    M lld/ELF/Writer.cpp
    M lld/test/ELF/linkerscript/i386-sections-max-va-overflow.s
    M lld/test/ELF/linkerscript/locationcountererr-arm-exidx.test
    M lld/test/ELF/linkerscript/sections-max-va-overflow.s

  Log Message:
  -----------
  [ELF] Change some upper-case utohexstr to lower-case to improve consistency

The convention is to use lower-case addresses.


  Commit: b9ac390cc7ec208fc738a91540b070f499b292b8
      https://github.com/llvm/llvm-project/commit/b9ac390cc7ec208fc738a91540b070f499b292b8
  Author: antangelo <contact at antangelo.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-no-op-intrinsics.ll

  Log Message:
  -----------
  [GISel] Add generic implementation for @llvm.expect.with.probability when optimizations are disabled (#117835)

Handle @llvm.expect.with.probability in GlobalISel in the same way
@llvm.expect is handled, passing the value through as-is. This can be
encountered if the intrinsic is used without optimizations, which would
otherwise transform it out.

Fixes #115411 for GlobalISel


  Commit: 691e55643daa3470ff19b02a55e3e2503d2de0c9
      https://github.com/llvm/llvm-project/commit/691e55643daa3470ff19b02a55e3e2503d2de0c9
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

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

  Log Message:
  -----------
  [Driver] BuildCompilation: remove unused BaseArg. NFC

setBaseArg, only used by -XArch_* options, are called in BuildJobs.
When processing --config and CL /clang:, BaseArg is always nullptr.

The unneeded parameter was introduced in https://reviews.llvm.org/D24933


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

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.h
    M llvm/lib/Target/ARM/ARMInstrFormats.td
    M llvm/lib/Target/ARM/ARMInstrInfo.td
    M llvm/lib/Target/ARM/ARMInstrThumb.td
    M llvm/lib/Target/ARM/ARMInstrThumb2.td
    M llvm/lib/Target/ARM/ARMInstrVFP.td
    M llvm/test/CodeGen/ARM/add-like-or.ll
    M llvm/test/CodeGen/ARM/arm-shrink-wrapping.ll
    M llvm/test/CodeGen/ARM/atomic-64bit.ll
    M llvm/test/CodeGen/ARM/atomic-ops-v8.ll
    M llvm/test/CodeGen/ARM/atomicrmw-cond-sub-clamp.ll
    M llvm/test/CodeGen/ARM/atomicrmw-uinc-udec-wrap.ll
    M llvm/test/CodeGen/ARM/atomicrmw_exclusive_monitor_ints.ll
    M llvm/test/CodeGen/ARM/bfi.ll
    M llvm/test/CodeGen/ARM/cmov_fp16.ll
    M llvm/test/CodeGen/ARM/cse-call.ll
    M llvm/test/CodeGen/ARM/cttz.ll
    M llvm/test/CodeGen/ARM/fadd-select-fneg-combine.ll
    M llvm/test/CodeGen/ARM/fcmp-xo.ll
    M llvm/test/CodeGen/ARM/fpclamptosat.ll
    M llvm/test/CodeGen/ARM/fpclamptosat_vec.ll
    M llvm/test/CodeGen/ARM/fpscr-multi-use.ll
    M llvm/test/CodeGen/ARM/fptoi-sat-store.ll
    M llvm/test/CodeGen/ARM/fptosi-sat-scalar.ll
    M llvm/test/CodeGen/ARM/fptoui-sat-scalar.ll
    M llvm/test/CodeGen/ARM/funnel-shift-rot.ll
    M llvm/test/CodeGen/ARM/funnel-shift.ll
    M llvm/test/CodeGen/ARM/ifcvt1.ll
    M llvm/test/CodeGen/ARM/minnum-maxnum-intrinsics.ll
    M llvm/test/CodeGen/ARM/neon_vabd.ll
    M llvm/test/CodeGen/ARM/overflow-intrinsic-optimizations.ll
    M llvm/test/CodeGen/ARM/sadd_sat.ll
    M llvm/test/CodeGen/ARM/sadd_sat_plus.ll
    M llvm/test/CodeGen/ARM/select.ll
    M llvm/test/CodeGen/ARM/select_const.ll
    M llvm/test/CodeGen/ARM/shift-i64.ll
    M llvm/test/CodeGen/ARM/ssub_sat.ll
    M llvm/test/CodeGen/ARM/ssub_sat_plus.ll
    M llvm/test/CodeGen/ARM/sub-cmp-peephole.ll
    M llvm/test/CodeGen/ARM/uadd_sat.ll
    M llvm/test/CodeGen/ARM/uadd_sat_plus.ll
    M llvm/test/CodeGen/ARM/umulo-128-legalisation-lowering.ll
    M llvm/test/CodeGen/ARM/umulo-64-legalisation-lowering.ll
    M llvm/test/CodeGen/ARM/usub_sat.ll
    M llvm/test/CodeGen/ARM/usub_sat_plus.ll
    M llvm/test/CodeGen/ARM/vselect_imax.ll
    M llvm/test/CodeGen/ARM/wide-compares.ll
    M llvm/test/CodeGen/Thumb/arm_q15_to_q31.ll
    M llvm/test/CodeGen/Thumb/select.ll
    M llvm/test/CodeGen/Thumb/smul_fix_sat.ll
    M llvm/test/CodeGen/Thumb/stack-guard-xo.ll
    M llvm/test/CodeGen/Thumb/umul_fix_sat.ll
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/arm_cmplx_dot_prod_f32.ll
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/exitcount.ll
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/fast-fp-loops.ll
    M llvm/test/CodeGen/Thumb2/float-ops.ll
    M llvm/test/CodeGen/Thumb2/mve-blockplacement.ll
    M llvm/test/CodeGen/Thumb2/mve-doublereduct.ll
    M llvm/test/CodeGen/Thumb2/mve-float16regloops.ll
    M llvm/test/CodeGen/Thumb2/mve-float32regloops.ll
    M llvm/test/CodeGen/Thumb2/mve-fmas.ll
    M llvm/test/CodeGen/Thumb2/mve-fpclamptosat_vec.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-gather-scatter-ptr-address.ll
    M llvm/test/CodeGen/Thumb2/mve-laneinterleaving.ll
    M llvm/test/CodeGen/Thumb2/mve-minmaxi.ll
    M llvm/test/CodeGen/Thumb2/mve-pipelineloops.ll
    M llvm/test/CodeGen/Thumb2/mve-pred-ext.ll
    M llvm/test/CodeGen/Thumb2/mve-pred-or.ll
    M llvm/test/CodeGen/Thumb2/mve-pred-vctpvpsel.ll
    M llvm/test/CodeGen/Thumb2/mve-pred-vselect.ll
    M llvm/test/CodeGen/Thumb2/mve-pred-xor.ll
    M llvm/test/CodeGen/Thumb2/mve-satmul-loops.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
    M llvm/test/CodeGen/Thumb2/mve-vmaxv-vminv-scalar.ll
    M llvm/test/CodeGen/Thumb2/mve-vqdmulh.ll
    M llvm/test/CodeGen/Thumb2/umulo-128-legalisation-lowering.ll
    M llvm/test/CodeGen/Thumb2/umulo-64-legalisation-lowering.ll

  Log Message:
  -----------
  [ARM] Stop gluing ALU nodes to branches / selects (#116970)

Following #116547 and #116676, this PR changes the type of results and
operands of some nodes to accept / return a normal type instead of Glue.

Unfortunately, changing the result type of one node requires changing
the operand types of all potential consumer nodes, which in turn
requires changing the result types of all other possible producer nodes.
So this is a bulk change.

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


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

  Changed paths:
    M llvm/include/llvm/ADT/SmallPtrSet.h
    M llvm/lib/Support/SmallPtrSet.cpp

  Log Message:
  -----------
  [SmallPtrSet] Remove SmallArray member (NFC) (#118099)

Currently SmallPtrSet stores CurArray and SmallArray, with the former
pointing to the latter in small representation. Instead, only use
CurArray and a separate IsSmall boolean.

Most of the implementation doesn't need the separate SmallArray member
-- we only need it for copy/move/swap operations, where we may switch
back from large to small representation. In those cases, we explicitly
pass down the pointer to SmallStorage.

This reduces the size of SmallPtrSet and improves compile-time.


  Commit: 04cc492ec3e2792e3fa790750ff678baa90bd436
      https://github.com/llvm/llvm-project/commit/04cc492ec3e2792e3fa790750ff678baa90bd436
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-11-30 (Sat, 30 Nov 2024)

  Changed paths:
    M libcxx/include/__configuration/availability.h

  Log Message:
  -----------
  [libc++][NFC] Remove unused macros from <__configuration/availability.h>


  Commit: 39209724e66a20080bdebc609a051dfa0eb6b49f
      https://github.com/llvm/llvm-project/commit/39209724e66a20080bdebc609a051dfa0eb6b49f
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-11-30 (Sat, 30 Nov 2024)

  Changed paths:
    M llvm/lib/Support/YAMLTraits.cpp
    M llvm/unittests/Support/YAMLIOTest.cpp

  Log Message:
  -----------
  [YAML] Fix incorrect dash output in nested sequences (#116488)

Nested sequences could be defined but the YAML output was incorrect.
`Output::newLineCheck()` was not able to emit multiple dashes `- ` and
YAML parser sometimes didn't accept its output as the result.

This fixes for emitting corresponding dashes for consecutive
`inSeqFirstElement`, but suppresses emission to the top
`inSeqFirstElement`.

This also fixes for emitting flow elements onto nested sequences.


  Commit: 1c702d38540dd8bad50f22947b71769b4d0c1202
      https://github.com/llvm/llvm-project/commit/1c702d38540dd8bad50f22947b71769b4d0c1202
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-11-30 (Sat, 30 Nov 2024)

  Changed paths:
    A llvm/test/Analysis/LoopAccessAnalysis/nssw-predicate-implied.ll

  Log Message:
  -----------
  [SCEV] Add tests where one wrap predicate implies another.


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

  Changed paths:
    M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-func.cpp

  Log Message:
  -----------
  [clang-tidy][use-internal-linkage]fix false positives for global overloaded operator new and operator delete (#117945)


  Commit: 4148aa63e2285ec7198c67d9b231b9097076ba8e
      https://github.com/llvm/llvm-project/commit/4148aa63e2285ec7198c67d9b231b9097076ba8e
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-11-30 (Sat, 30 Nov 2024)

  Changed paths:
    A llvm/utils/merge-json.py
    M runtimes/CMakeLists.txt

  Log Message:
  -----------
  [Reland][Runtimes] Merge 'compile_commands.json' files from runtimes build (#116303)

Summary:
When building a project in a runtime mode, the compilation database is a
separate CMake invocation. So its `compile_commands.json` file will be
placed elsewhere in the `runtimes/runtime-bins` directory. This is
somewhat annoying for ongoing development when a runtimes build is
necessary. This patch adds some CMake magic to merge the two files.

Fixed issue w/ standalone runtimes build by checking if the LLVM src and
CMake src are the same.


  Commit: 2e30df740ef0b9f8edb7075768540ce08678023d
      https://github.com/llvm/llvm-project/commit/2e30df740ef0b9f8edb7075768540ce08678023d
  Author: Jinsong Ji <jinsong.ji at intel.com>
  Date:   2024-11-30 (Sat, 30 Nov 2024)

  Changed paths:
    M llvm/utils/TableGen/AsmMatcherEmitter.cpp

  Log Message:
  -----------
  [TableGen] Fix validateOperandClass for non Phyical Reg (#118146)

https://github.com/llvm/llvm-project/commit/b71704436e61
Rewrote the register operands handling,
but the Table only contains physical regs, we will SEGV when there are
non physical regs.

---------

Co-authored-by: Sergei Barannikov <barannikov88 at gmail.com>


  Commit: 9a0f25158c2eff539de1efbd55de71e711135db7
      https://github.com/llvm/llvm-project/commit/9a0f25158c2eff539de1efbd55de71e711135db7
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-11-30 (Sat, 30 Nov 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectOptimize.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/CodeGen/AArch64/selectopt-cast.ll

  Log Message:
  -----------
  [SelectOpt] Support ADD and SUB with zext operands. (#115489)

Extend the support for implicit selects in the form of OR with a ZExt
operand to support ADD and SUB binops as well. They similarly can form
implicit selects which can be profitable to convert back the branches.

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


  Commit: 92ba7e397377b8005206cb01a2052a750780827e
      https://github.com/llvm/llvm-project/commit/92ba7e397377b8005206cb01a2052a750780827e
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-11-30 (Sat, 30 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/test/CodeGen/AMDGPU/bitop3.ll

  Log Message:
  -----------
  AMDGPU/GlobalISel: Do not try to form v_bitop3_b32 for SGPR results (#117940)


  Commit: 1c7e4074b1efe7c3c9110f1d116b16f50fce9c88
      https://github.com/llvm/llvm-project/commit/1c7e4074b1efe7c3c9110f1d116b16f50fce9c88
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-11-30 (Sat, 30 Nov 2024)

  Changed paths:
    M lldb/unittests/debugserver/RNBSocketTest.cpp

  Log Message:
  -----------
  [lldb] Fix  warning: 'sprintf' is deprecated in RNBSocketTest

Fixes warning: 'sprintf' is deprecated: This function is provided for
compatibility reasons only.  Due to security concerns inherent in the
design of sprintf(3), it is highly recommended that you use snprintf(3)
instead.


  Commit: 6568ceb9fa1c49383b2fa102a04fd8fd3af01491
      https://github.com/llvm/llvm-project/commit/6568ceb9fa1c49383b2fa102a04fd8fd3af01491
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    A llvm/test/Transforms/CodeGenPrepare/X86/pr118172.ll

  Log Message:
  -----------
  [CodeGenPrepare] Drop nsw flags in `optimizeLoadExt` (#118180)

Alive2: https://alive2.llvm.org/ce/z/pMcD7q
Closes https://github.com/llvm/llvm-project/issues/118172.


  Commit: 017c75bfacdfa25594f8212a427627cff7aa98f3
      https://github.com/llvm/llvm-project/commit/017c75bfacdfa25594f8212a427627cff7aa98f3
  Author: Kai Sasaki <lewuathe at gmail.com>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp

  Log Message:
  -----------
  [mlir] Fix typo in test vector transform pass descriptions (#118194)

Fix some typos in the description of vector transform passes.


  Commit: 6881c6d2a6ef2b9f1736afb124b2486d6b8bc603
      https://github.com/llvm/llvm-project/commit/6881c6d2a6ef2b9f1736afb124b2486d6b8bc603
  Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    M clang/test/Driver/print-supported-extensions-riscv.c
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/test/CodeGen/RISCV/attributes.ll
    A llvm/test/MC/RISCV/xqcia-invalid.s
    A llvm/test/MC/RISCV/xqcia-valid.s
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Add Qualcomm uC Xqcia (Arithmetic) extension (#118113)

This extension adds 11 instructions that perform integer arithmetic.

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

This patch adds assembler only support.


  Commit: 94df95de6bab20930c1a77bc785221ff2f670dba
      https://github.com/llvm/llvm-project/commit/94df95de6bab20930c1a77bc785221ff2f670dba
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-transpose-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-transpose-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-transpose-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-transpose.ll
    M llvm/test/Transforms/PhaseOrdering/X86/pr94546.ll

  Log Message:
  -----------
  [TTI][X86] getShuffleCosts - for SK_PermuteTwoSrc, if the masks are known to be "inlane" no need to scale the costs by worst-case legalization (#117999)

SK_PermuteTwoSrc legalization has to assume any of the legalised source registers could be referenced in split shuffles, but if we already know that each 128-bit lane only references elements from the same lane of the source operands, then this scaling won't occur.

Hopefully this can help with #113356 without us having to get full processShuffleMasks canonicalization finished first.


  Commit: f7ef0721d60f85e1f699f8d1b83d4402ae19b122
      https://github.com/llvm/llvm-project/commit/f7ef0721d60f85e1f699f8d1b83d4402ae19b122
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/ScalarEvolution.h
    M llvm/lib/Analysis/ScalarEvolution.cpp
    A llvm/test/Analysis/ScalarEvolution/pr117133.ll
    A llvm/test/Transforms/IndVarSimplify/pr117133.ll

  Log Message:
  -----------
  [SCEV] Do not allow refinement in the rewriting of BEValue (#117152)

See the following case:
```
; bin/opt -passes="print<scalar-evolution>" test.ll --disable-output
define i32 @widget() {
b:
  br label %b1

b1:                                              ; preds = %b5, %b
  %phi = phi i32 [ 0, %b ], [ %udiv6, %b5 ]
  %phi2 = phi i32 [ 1, %b ], [ %add, %b5 ]
  %icmp = icmp eq i32 %phi, 0
  br i1 %icmp, label %b3, label %b8

b3:                                              ; preds = %b1
  %udiv = udiv i32 10, %phi2
  %urem = urem i32 %udiv, 10
  %icmp4 = icmp eq i32 %urem, 0
  br i1 %icmp4, label %b7, label %b5

b5:                                              ; preds = %b3
  %udiv6 = udiv i32 %phi2, 0
  %add = add i32 %phi2, 1
  br label %b1

b7:                                              ; preds = %b3
  ret i32 5

b8:                                              ; preds = %b1
  ret i32 7
}
```
```
%phi2 = phi i32 [ 1, %b ], [ %add, %b5 ] -->  {1,+,1}<nuw><nsw><%b1>
%udiv6 = udiv i32 %phi2, 0 --> ({1,+,1}<nuw><nsw><%b1> /u 0)
%phi = phi i32 [ 0, %b ], [ %udiv6, %b5 ] --> ({0,+,1}<nuw><nsw><%b1> /u 0)
```
`ScalarEvolution::createAddRecFromPHI` gives a wrong SCEV result for
`%phi`:

https://github.com/llvm/llvm-project/blob/d7d6fb1804415b0f3e7f1cc9290bfb3d711cb707/llvm/lib/Analysis/ScalarEvolution.cpp#L5926-L5950
It converts `phi(0, ({1,+,1}<nuw><nsw><%b1> /u 0))` into `phi(0 / 0,
({1,+,1}<nuw><nsw><%b1> /u 0))`. Then it simplifies the expr into
`{0,+,1}<nuw><nsw><%b1> /u 0`.

As we did in
https://github.com/llvm/llvm-project/commit/acd700a24b6f767413db3d525e06d03e4245aa40,
this patch disallows udiv simplification if we cannot prove that the
denominator is a well-defined non-zero value.

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


  Commit: 22417ec6cca0ed8ccecb0c2b77011e591378fd2a
      https://github.com/llvm/llvm-project/commit/22417ec6cca0ed8ccecb0c2b77011e591378fd2a
  Author: Haohai Wen <haohai.wen at intel.com>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/codeview-column-info.c

  Log Message:
  -----------
  [Driver] Do not add gno-column-info when using sampling PGO (#117954)

Column info is important for sampling PGO to generate/load profile file.
On windows, it will be automatically added when using -gdwarf to
generate
profile file. It should also be generated when fprofile-sample-use= is
used.


  Commit: 1a3eace82a885fca01a70472b3816007dbee9d9f
      https://github.com/llvm/llvm-project/commit/1a3eace82a885fca01a70472b3816007dbee9d9f
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/test/Transforms/InstCombine/saturating-add-sub.ll

  Log Message:
  -----------
  [InstCombine] Fold `umax(X, C) + -C` into `usub.sat(X, C)` (#118195)

Alive2: https://alive2.llvm.org/ce/z/oSWe5S
Closes https://github.com/llvm/llvm-project/issues/118155


  Commit: 4a074330c6d587be51494f651f539c8055be201c
      https://github.com/llvm/llvm-project/commit/4a074330c6d587be51494f651f539c8055be201c
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-12-01 (Sun, 01 Dec 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] Intercept various file system functions (#118183)

Adds interceptors for
* chmod
* fchmod
* mkdir
* rmdir
* umask


  Commit: 82ed9c0319c9f0373bcb633a03ce6d35ebac3661
      https://github.com/llvm/llvm-project/commit/82ed9c0319c9f0373bcb633a03ce6d35ebac3661
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Context.cpp
    M clang/lib/AST/ByteCode/Context.h
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/utils/TableGen/ClangOpcodesEmitter.cpp

  Log Message:
  -----------
  [clang][bytecode][NFC] Remove APValue Result argument where unnecessary (#118199)

This is unneeded in almost all circumstances. We only return an APValue
back to clang when the evaluation is finished, and that is always done
by an EvalEmitter - which has its own implementation of the Ret
instructions.


  Commit: 31bde711c4098b3136edd1cb92dd4e0cc1d4d179
      https://github.com/llvm/llvm-project/commit/31bde711c4098b3136edd1cb92dd4e0cc1d4d179
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [clang][bytecode] Support __builtin_reduce_add (#117672)


  Commit: 77767986ed423f868805d8ee9652f6dcc85c6adc
      https://github.com/llvm/llvm-project/commit/77767986ed423f868805d8ee9652f6dcc85c6adc
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

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

  Log Message:
  -----------
  [LV] Use IsaPred in a few more places (NFC).

Simplifies the code slightly by removing explicit lambdas.


  Commit: 9becc4a3c966d46b95ddfcf856b3c433c030db1e
      https://github.com/llvm/llvm-project/commit/9becc4a3c966d46b95ddfcf856b3c433c030db1e
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    M lld/ELF/InputFiles.cpp

  Log Message:
  -----------
  [ELF] ObjFile::parse: check EM_AARCH64 for SHT_AARCH64_MEMTAG_GLOBAL_STATIC

and reorder sh_type checks to make SHT_PROGBITS/SHT_GROUP fast.


  Commit: 2a5e1da57a42fa2fc081bbc11970871a1eecb3b3
      https://github.com/llvm/llvm-project/commit/2a5e1da57a42fa2fc081bbc11970871a1eecb3b3
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.h
    M llvm/lib/Target/ARM/ARMInstrFormats.td
    M llvm/lib/Target/ARM/ARMInstrInfo.td
    M llvm/lib/Target/ARM/ARMInstrThumb.td
    M llvm/lib/Target/ARM/ARMInstrThumb2.td
    M llvm/lib/Target/ARM/ARMInstrVFP.td
    M llvm/test/CodeGen/ARM/add-like-or.ll
    M llvm/test/CodeGen/ARM/arm-shrink-wrapping.ll
    M llvm/test/CodeGen/ARM/atomic-64bit.ll
    M llvm/test/CodeGen/ARM/atomic-ops-v8.ll
    M llvm/test/CodeGen/ARM/atomicrmw-cond-sub-clamp.ll
    M llvm/test/CodeGen/ARM/atomicrmw-uinc-udec-wrap.ll
    M llvm/test/CodeGen/ARM/atomicrmw_exclusive_monitor_ints.ll
    M llvm/test/CodeGen/ARM/bfi.ll
    M llvm/test/CodeGen/ARM/cmov_fp16.ll
    M llvm/test/CodeGen/ARM/cse-call.ll
    M llvm/test/CodeGen/ARM/cttz.ll
    M llvm/test/CodeGen/ARM/fadd-select-fneg-combine.ll
    M llvm/test/CodeGen/ARM/fcmp-xo.ll
    M llvm/test/CodeGen/ARM/fpclamptosat.ll
    M llvm/test/CodeGen/ARM/fpclamptosat_vec.ll
    M llvm/test/CodeGen/ARM/fpscr-multi-use.ll
    M llvm/test/CodeGen/ARM/fptoi-sat-store.ll
    M llvm/test/CodeGen/ARM/fptosi-sat-scalar.ll
    M llvm/test/CodeGen/ARM/fptoui-sat-scalar.ll
    M llvm/test/CodeGen/ARM/funnel-shift-rot.ll
    M llvm/test/CodeGen/ARM/funnel-shift.ll
    M llvm/test/CodeGen/ARM/ifcvt1.ll
    M llvm/test/CodeGen/ARM/minnum-maxnum-intrinsics.ll
    M llvm/test/CodeGen/ARM/neon_vabd.ll
    M llvm/test/CodeGen/ARM/overflow-intrinsic-optimizations.ll
    M llvm/test/CodeGen/ARM/sadd_sat.ll
    M llvm/test/CodeGen/ARM/sadd_sat_plus.ll
    M llvm/test/CodeGen/ARM/select.ll
    M llvm/test/CodeGen/ARM/select_const.ll
    M llvm/test/CodeGen/ARM/shift-i64.ll
    M llvm/test/CodeGen/ARM/ssub_sat.ll
    M llvm/test/CodeGen/ARM/ssub_sat_plus.ll
    M llvm/test/CodeGen/ARM/sub-cmp-peephole.ll
    M llvm/test/CodeGen/ARM/uadd_sat.ll
    M llvm/test/CodeGen/ARM/uadd_sat_plus.ll
    M llvm/test/CodeGen/ARM/umulo-128-legalisation-lowering.ll
    M llvm/test/CodeGen/ARM/umulo-64-legalisation-lowering.ll
    M llvm/test/CodeGen/ARM/usub_sat.ll
    M llvm/test/CodeGen/ARM/usub_sat_plus.ll
    M llvm/test/CodeGen/ARM/vselect_imax.ll
    M llvm/test/CodeGen/ARM/wide-compares.ll
    M llvm/test/CodeGen/Thumb/arm_q15_to_q31.ll
    M llvm/test/CodeGen/Thumb/select.ll
    M llvm/test/CodeGen/Thumb/smul_fix_sat.ll
    M llvm/test/CodeGen/Thumb/stack-guard-xo.ll
    M llvm/test/CodeGen/Thumb/umul_fix_sat.ll
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/arm_cmplx_dot_prod_f32.ll
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/exitcount.ll
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/fast-fp-loops.ll
    M llvm/test/CodeGen/Thumb2/float-ops.ll
    M llvm/test/CodeGen/Thumb2/mve-blockplacement.ll
    M llvm/test/CodeGen/Thumb2/mve-doublereduct.ll
    M llvm/test/CodeGen/Thumb2/mve-float16regloops.ll
    M llvm/test/CodeGen/Thumb2/mve-float32regloops.ll
    M llvm/test/CodeGen/Thumb2/mve-fmas.ll
    M llvm/test/CodeGen/Thumb2/mve-fpclamptosat_vec.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-gather-scatter-ptr-address.ll
    M llvm/test/CodeGen/Thumb2/mve-laneinterleaving.ll
    M llvm/test/CodeGen/Thumb2/mve-minmaxi.ll
    M llvm/test/CodeGen/Thumb2/mve-pipelineloops.ll
    M llvm/test/CodeGen/Thumb2/mve-pred-ext.ll
    M llvm/test/CodeGen/Thumb2/mve-pred-or.ll
    M llvm/test/CodeGen/Thumb2/mve-pred-vctpvpsel.ll
    M llvm/test/CodeGen/Thumb2/mve-pred-vselect.ll
    M llvm/test/CodeGen/Thumb2/mve-pred-xor.ll
    M llvm/test/CodeGen/Thumb2/mve-satmul-loops.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
    M llvm/test/CodeGen/Thumb2/mve-vmaxv-vminv-scalar.ll
    M llvm/test/CodeGen/Thumb2/mve-vqdmulh.ll
    M llvm/test/CodeGen/Thumb2/umulo-128-legalisation-lowering.ll
    M llvm/test/CodeGen/Thumb2/umulo-64-legalisation-lowering.ll

  Log Message:
  -----------
  Revert "[ARM] Stop gluing ALU nodes to branches / selects" (#118232)

Reverts llvm/llvm-project#116970.

This change broke Wine compiled for armv7, causing segfaults when
starting Wine. See llvm/llvm-project#116970 for more detailed discussion
about the issue.


  Commit: 603d41ab7b4078a00a5d3b899d3b9d14eea2d8ff
      https://github.com/llvm/llvm-project/commit/603d41ab7b4078a00a5d3b899d3b9d14eea2d8ff
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    M lld/ELF/InputSection.cpp

  Log Message:
  -----------
  [ELF] decompress: remove mutex

decompress() is in the parallel code path splitIntoPieces
and we should avoid mutex.


  Commit: a09df64f406be162b0bd096dbe2466603b7a4f29
      https://github.com/llvm/llvm-project/commit/a09df64f406be162b0bd096dbe2466603b7a4f29
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    M lld/ELF/InputFiles.cpp

  Log Message:
  -----------
  [ELF] postParse: remove some branches in the fast path


  Commit: 73f087b3318a8f887cd867f27608f693fee6dc7b
      https://github.com/llvm/llvm-project/commit/73f087b3318a8f887cd867f27608f693fee6dc7b
  Author: antangelo <contact at antangelo.com>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    R llvm/test/CodeGen/Generic/builtin-expect-with-probability.ll
    M llvm/test/CodeGen/X86/fast-isel-expect.ll

  Log Message:
  -----------
  [NFC][SelectionDAG] Replace generic @llvm.expect.with.probability codegen test with X86 test (#117848)

Adds test case for X86 to check that the output of
@llvm.expect.with.probability's generic lowering is reasonable. This
replaces a generic test which only asserts that llc does not crash.


  Commit: 574f64ca61d252dbcf98621e056ab02b93d928bc
      https://github.com/llvm/llvm-project/commit/574f64ca61d252dbcf98621e056ab02b93d928bc
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Support/TimeProfiler.h

  Log Message:
  -----------
  [TimeProfiler] Remove unneeded check


  Commit: 92a4b443260ccf9237b873850a9b511fdcffd79a
      https://github.com/llvm/llvm-project/commit/92a4b443260ccf9237b873850a9b511fdcffd79a
  Author: Abdul Raheem <abdulraheembeigh at gmail.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td

  Log Message:
  -----------
  [MLIR][NFC] Fixed a typo of member variable static_basis (#117678)

-- Fixed a typo of member variable static_basis of
AffineDelinearizeIndexOp operation in AffineOps.td

Signed-off: Abdul Raheem Beigh <abdulraheembeigh at gmail.com>


  Commit: a4c3683b665c6ac875b4821f5c6a881fdf5fef70
      https://github.com/llvm/llvm-project/commit/a4c3683b665c6ac875b4821f5c6a881fdf5fef70
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Interfaces/DestinationStyleOpInterface.td

  Log Message:
  -----------
  [mlir][NFC] Fix typo. (#118163)

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


  Commit: 427fb5cc5ac34414c4682c90d3db0c63c5a1b227
      https://github.com/llvm/llvm-project/commit/427fb5cc5ac34414c4682c90d3db0c63c5a1b227
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/Core.cpp
    M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp

  Log Message:
  -----------
  [ORC] Track all dependencies on symbols that aren't Ready yet.

AsynchronousSymbolQuery tracks the symbols that it depends on in order to (1)
detach the query in the event of a failure, and (2) report those dependencies
to clients of the ExecutionSession::lookup method (via the RegisterDependencies
argument). Previously we tracked only dependencies on symbols that didn't meet
the required state (the only symbols that the query needs to be attached to),
but this is insufficient to report all necessary dependencies to lookup clients.
E.g. A lookup requiring SymbolState::Resolved where some matched symbol is
already Resolved but not yet Emitted or Ready would result in the dependency on
that symbol not being reported, which could result in illegal access in
concurrent JIT setups. (This bug was discovered by @mikaoP on discord with a
simple concurrent JIT setup).

This patch tracks and reports all dependencies on symbols that aren't Ready yet,
correcting the under-reporting issue. AsynchronousSymbolQuery::detach is updated
to stop asserting that all depended-upon symbols have a query attached.


  Commit: ed7a8f15564f11ce8ceabaa925a26842302b8450
      https://github.com/llvm/llvm-project/commit/ed7a8f15564f11ce8ceabaa925a26842302b8450
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    M offload/test/mapping/map_both_pointer_pointee.c
    M offload/test/mapping/power_of_two_alignment.c

  Log Message:
  -----------
  [NFC][Offload] Correct the compile command of two C test files (#118243)

The compile command for the two C test files are `compilexx`, which is
actually
for C++ compilation.


  Commit: 8cb44859cc31929521c09fc6a8add66d53db44de
      https://github.com/llvm/llvm-project/commit/8cb44859cc31929521c09fc6a8add66d53db44de
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    R offload/test/mapping/power_of_two_alignment.c
    A offload/test/mapping/power_of_two_alignment.cpp

  Log Message:
  -----------
  FIX: Fix test failure in offload/test/mapping/power_of_two_alignment.c

A C file with `template` in it. Awesome.


  Commit: c4a1e0efe6b0767dfb5861a7e8814d7db0c0de8a
      https://github.com/llvm/llvm-project/commit/c4a1e0efe6b0767dfb5861a7e8814d7db0c0de8a
  Author: Richard Trieu <57020969+Weverything at users.noreply.github.com>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    M clang/lib/AST/ASTDiagnostic.cpp
    M clang/test/Misc/diag-template-diffing-cxx98.cpp

  Log Message:
  -----------
  [clang] Remove redundant integer values in template type diffing

Look through SubstNonTypeTemplateParmExpr to find an IntegerLiteral
node when attempting to determine if extra info is printed via
the aka mechanism.  This will avoid printing types such as
"array<5 aka 5>" and will only show "array<5>".


  Commit: a9ad9e27caba2153b82fb3029694bfadaa5803cb
      https://github.com/llvm/llvm-project/commit/a9ad9e27caba2153b82fb3029694bfadaa5803cb
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/ELFRelocs/AArch64.def
    M llvm/test/tools/llvm-readobj/ELF/reloc-types-aarch64.test

  Log Message:
  -----------
  [PAC][llvm-readobj][AArch64] Move PAuth GOT relocs out of private space (#118214)

Apply change from the spec
https://github.com/ARM-software/abi-aa/pull/300


  Commit: 010317e1731d76b91c00ed1241583e518380d65f
      https://github.com/llvm/llvm-project/commit/010317e1731d76b91c00ed1241583e518380d65f
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/use-internal-linkage.rst
    A clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-module.cpp
    M clang/docs/LibASTMatchersReference.html
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp

  Log Message:
  -----------
  [clang-tidy][use-internal-linkage]fix false positives for ExportDecl (#117901)

Fixed: #97190


  Commit: 91f69b70e075a475b550e3ef832816c47311e2bd
      https://github.com/llvm/llvm-project/commit/91f69b70e075a475b550e3ef832816c47311e2bd
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

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

  Log Message:
  -----------
  [ORC] Remove redundant check from ObjectLinkingLayer.

Non-locally scoped symbols must have names.


  Commit: 0a44b24d6697ee8542583960c4a4166fc805883c
      https://github.com/llvm/llvm-project/commit/0a44b24d6697ee8542583960c4a4166fc805883c
  Author: Adam Yang <hanbyang at microsoft.com>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    A llvm/test/CodeGen/DirectX/group_memory_barrier_with_group_sync.ll
    M llvm/utils/TableGen/DXILEmitter.cpp

  Log Message:
  -----------
  [DXIL] Add GroupMemoryBarrierWithGroupSync intrinsic (#114349)

fixes #112974
partially fixes #70103

An earlier version of this change was reverted so some issues could be fixed.

### Changes
- Added new tablegen based way of lowering dx intrinsics to DXIL ops.
- Added int_dx_group_memory_barrier_with_group_sync intrinsic in
IntrinsicsDirectX.td
- Added expansion for int_dx_group_memory_barrier_with_group_sync in
DXILIntrinsicExpansion.cpp`
- Added DXIL backend test case

### Related PRs
* [[clang][HLSL] Add GroupMemoryBarrierWithGroupSync intrinsic
#111883](https://github.com/llvm/llvm-project/pull/111883)
* [[SPIRV] Add GroupMemoryBarrierWithGroupSync intrinsic
#111888](https://github.com/llvm/llvm-project/pull/111888)


  Commit: d9d656edd4d6d7ca1be5c2f2e0cca4d1ef773dd5
      https://github.com/llvm/llvm-project/commit/d9d656edd4d6d7ca1be5c2f2e0cca4d1ef773dd5
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    M lld/ELF/Symbols.cpp

  Log Message:
  -----------
  [ELF] resolve LazySymbol: remove a branch in the fast path


  Commit: dd0d9561b8945d4128814bd7eda1bc470a1552f7
      https://github.com/llvm/llvm-project/commit/dd0d9561b8945d4128814bd7eda1bc470a1552f7
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    A clang/test/AST/ByteCode/altivec.c
    M clang/test/AST/ByteCode/vectors.cpp

  Log Message:
  -----------
  [clang][bytecode] Support vector-to-vector bitcasts (#118230)


  Commit: 08c1a6b3e181c3af019b18489139bfe4b03d9d08
      https://github.com/llvm/llvm-project/commit/08c1a6b3e181c3af019b18489139bfe4b03d9d08
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/Core.cpp
    M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp

  Log Message:
  -----------
  Revert "[ORC] Track all dependencies on symbols that aren't Ready yet."

This reverts commit 427fb5cc5ac34414c4682c90d3db0c63c5a1b227 while I investigate
the bot failure in https://lab.llvm.org/buildbot/#/builders/95/builds/6835.


  Commit: eaa6cc547e7300b122efbbaf8940ee9d15f7964c
      https://github.com/llvm/llvm-project/commit/eaa6cc547e7300b122efbbaf8940ee9d15f7964c
  Author: Shankhin <44582011+firestrike007 at users.noreply.github.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M libc/src/__support/threads/linux/rwlock.h

  Log Message:
  -----------
  Fixes #118231: Corrected spelling mistake in has_acitive_owner function (#118266)

Fixes #118231 
- Updated the method name to `has_active_owner` in
`llvm-project/libc/src/__support/threads/linux/rwlock.h`
- Verified usage and updated all references to the method.
- Ran tests:
    - `check-llvm-unit`
    - `check-all`


  Commit: 979a0356d4c90ec855be4f2d2f6687132cf10298
      https://github.com/llvm/llvm-project/commit/979a0356d4c90ec855be4f2d2f6687132cf10298
  Author: Veera <32646674+veera-sivarajan at users.noreply.github.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/test/CodeGen/attr-counted-by.c
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    A llvm/test/Transforms/InstCombine/canonicalize-const-to-bop.ll
    M llvm/test/Transforms/InstCombine/minmax-fold.ll
    M llvm/test/Transforms/InstCombine/saturating-add-sub.ll
    M llvm/test/Transforms/InstCombine/select.ll
    M llvm/test/Transforms/InstCombine/unsigned_saturated_sub.ll

  Log Message:
  -----------
  [InstCombine] Fold `X Pred C2 ? X BOp C1 : C2 BOp C1` to `min/max(X, C2) BOp C1` (#116888)

Fixes #82414.

General Proof: https://alive2.llvm.org/ce/z/ERjNs4 
Proof for Tests: https://alive2.llvm.org/ce/z/K-934G

This PR transforms `select` instructions of the form `select (Cmp X C1)
(BOp X C2) C3` to `BOp (min/max X C1) C2` iff `C3 == BOp C1 C2`.

This helps in eliminating a noop loop in
https://github.com/rust-lang/rust/issues/123845 but does not improve
optimizations.


  Commit: 7bbc049688a1586827d87ad8e2fc7cb3638ef2fc
      https://github.com/llvm/llvm-project/commit/7bbc049688a1586827d87ad8e2fc7cb3638ef2fc
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

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

  Log Message:
  -----------
  [InstCombine] Consolidate another fold into select value equivalence (#117746)

We had a separate fold that handled just the trivial case where we're
replacing exactly the argument of the select. Handle this in select
value equivalence by relaxing the infinite loop protection to allow a
replacement of a non-constant with a constant.

This also fixes https://github.com/llvm/llvm-project/issues/113301, as
the separate fold did not handle undef values correctly.


  Commit: 770adc56097342d3478c1b3b6d3e67cdf6d2c93e
      https://github.com/llvm/llvm-project/commit/770adc56097342d3478c1b3b6d3e67cdf6d2c93e
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

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

  Log Message:
  -----------
  [clang] Infer lifetime_capture_by for map's subscript operator. (#118078)


  Commit: a545cf5c6da6decbde95287f95e1ffce40116d23
      https://github.com/llvm/llvm-project/commit/a545cf5c6da6decbde95287f95e1ffce40116d23
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
    A flang/test/HLFIR/eval_in_mem-codegen.fir
    A flang/test/HLFIR/eval_in_mem.fir
    M flang/test/HLFIR/invalid.fir

  Log Message:
  -----------
  [flang][hlfir] add hlfir.eval_in_mem operation (#118067)

See HLFIROps.td change for the description of the operation.

The goal is to ease temporary storage elision for expression evaluation
(typically evaluating the RHS directly inside the LHS) for expressions
that do not have abtsractions in HLFIR and for which it is not clear
adding one would bring much. The case that is implemented in [the
following lowering
patch](https://github.com/llvm/llvm-project/pull/118070) is the array
call case, where adding a new hlfir.call would add complexity (needs to
deal with dispatch, inlining ....).


  Commit: 8201926ec0a61ea182e3b25c23e3dbaae6036dbf
      https://github.com/llvm/llvm-project/commit/8201926ec0a61ea182e3b25c23e3dbaae6036dbf
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/test/Transforms/InstSimplify/compare.ll
    M llvm/test/Transforms/InstSimplify/icmp-monotonic.ll

  Log Message:
  -----------
  [InstSimplify] Generalize simplification of icmps with monotonic operands (#69471)

InstSimplify currently folds patterns like `(x | y) uge x` and `(x & y)
ule x` to true. However, it cannot handle combinations of such
situations, such as `(x | y) uge (x & z)` etc.

To support this, recursively collect operands of monotonic instructions
(that preserve either a greater-or-equal or less-or-equal relationship)
and then check whether any of them match.

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


  Commit: 54fcf3ec26ad192e91b6ac924f6d3eb562e3647d
      https://github.com/llvm/llvm-project/commit/54fcf3ec26ad192e91b6ac924f6d3eb562e3647d
  Author: antangelo <contact at antangelo.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/lib/Parse/ParseDecl.cpp
    M clang/test/CXX/drs/cwg722.cpp
    A clang/test/Parser/cxx2c-oxford-variadic-comma.cpp
    M clang/www/cxx_status.html

  Log Message:
  -----------
  [clang] Implement P3176R1: The Oxford variadic comma (#117524)

Emit a deprecation warning when a variadic parameter in a
parameter-declaration-clause is not preceded by a comma for C++26.


  Commit: 4851dbb8d6f1c00ad382ff4780293ca9a743c609
      https://github.com/llvm/llvm-project/commit/4851dbb8d6f1c00ad382ff4780293ca9a743c609
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonPatterns.td
    A llvm/test/CodeGen/Hexagon/addrmode-neg-offset.ll

  Log Message:
  -----------
  [Hexagon] Use getSignedConstant for RoundTo8 XForm

To handle negative offset addrmodes correctly.

Fixes https://github.com/llvm/llvm-project/pull/117558#issuecomment-2510208764.


  Commit: 98e747ba56b2f8b51a7c797a3f379d02c545c42b
      https://github.com/llvm/llvm-project/commit/98e747ba56b2f8b51a7c797a3f379d02c545c42b
  Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M clang/test/CodeGen/AArch64/pure-scalable-args.c
    M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.cpp
    M clang/test/CodeGen/AArch64/sve-vls-arith-ops.c
    M clang/test/CodeGen/AArch64/sve-vls-bitwise-ops.c
    M clang/test/CodeGen/AArch64/sve-vls-compare-ops.c
    M clang/test/CodeGen/AArch64/sve-vls-shift-ops.c
    M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-cast.c
    M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-codegen.c
    M clang/test/CodeGen/RISCV/rvv-vls-arith-ops.c
    M clang/test/CodeGen/RISCV/rvv-vls-bitwise-ops.c
    M clang/test/CodeGen/RISCV/rvv-vls-compare-ops.c
    M clang/test/CodeGen/RISCV/rvv-vls-shift-ops.c
    M clang/test/CodeGen/attr-arm-sve-vector-bits-cast.c
    M clang/test/CodeGen/attr-arm-sve-vector-bits-codegen.c

  Log Message:
  -----------
  [clang] Use poison instead of undef as the placeholder when creating a new vector [NFC] (#117064)

Call `@llvm.vector.insert` with a `poison` vector when coercing a fixed
vector to a scalable vector with the same element type.


  Commit: 7be501c1d3b3153e08603670873e1b3b700c9598
      https://github.com/llvm/llvm-project/commit/7be501c1d3b3153e08603670873e1b3b700c9598
  Author: Balázs Kéri <balazs.keri at ericsson.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/lib/AST/ASTImporter.cpp
    M clang/unittests/AST/ASTImporterTest.cpp

  Log Message:
  -----------
  [clang][ASTImporter] Allow import of similar friend template with different depth (#115734)

This fix applies to a case that occurs when the AST contains a friend
template that is contained within another template and this (outer)
template has specialization. (See the added test code in the commit.)


  Commit: 9cbbf15db925c8d588b998487115a46250954dc1
      https://github.com/llvm/llvm-project/commit/9cbbf15db925c8d588b998487115a46250954dc1
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

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

  Log Message:
  -----------
  [AMDGPU] Only insert intrinsic declarations when needed (#117998)


  Commit: 085e7d2b22876ebc03948a0690580e0189cddcc1
      https://github.com/llvm/llvm-project/commit/085e7d2b22876ebc03948a0690580e0189cddcc1
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    R bolt/CODE_OWNERS.TXT
    A bolt/Maintainers.txt
    M llvm/Maintainers.md

  Log Message:
  -----------
  [bolt] Move CODE_OWNERS.txt to Maintainers.txt (#118082)

To align with: https://llvm.org/docs/DeveloperPolicy.html#maintainers

I have not changed the format of the file, my only goal here is that the
project have a `bolt/Maintainers.*` so it is easy to find.


  Commit: fec0eb4c3ef2a1fa2e0e413b0ea4871ee0bcebd1
      https://github.com/llvm/llvm-project/commit/fec0eb4c3ef2a1fa2e0e413b0ea4871ee0bcebd1
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    R compiler-rt/CODE_OWNERS.TXT
    A compiler-rt/Maintainers.txt
    M llvm/Maintainers.md

  Log Message:
  -----------
  [compiler-rt] Move CODE_OWNERS.txt to Maintainers.txt (#118086)

To align with https://llvm.org/docs/DeveloperPolicy.html#maintainers

No format change, I just want each project to have a `Maintainers.*`
file so it is easy to find.


  Commit: df10f1c6f79a77e45e44c62974a186decb0f1f33
      https://github.com/llvm/llvm-project/commit/df10f1c6f79a77e45e44c62974a186decb0f1f33
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

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

  Log Message:
  -----------
  [RISCV] Use getRISCVInstructionCost for split cost in mask reductions. NFC

This is effectively the same due to how the mask instructions have an
LMUL of 1 and cost of 1, but matches how we use LT.first elsewhere in
RISCVTargetTransformInfo.cpp by using it to multiply another
instruction cost.


  Commit: 51003076ebc1ccc0cf339f9d96b2cfec84ab867c
      https://github.com/llvm/llvm-project/commit/51003076ebc1ccc0cf339f9d96b2cfec84ab867c
  Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M bolt/include/bolt/Profile/DataAggregator.h
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/unittests/Core/CMakeLists.txt
    A bolt/unittests/Core/MemoryMaps.cpp
    M llvm/utils/gn/secondary/bolt/unittests/Core/BUILD.gn

  Log Message:
  -----------
  Reapply [BOLT] DataAggregator support for binaries with multiple text segments (#118023)

When a binary has multiple text segments, the Size is computed as the
difference of the last address of these segments from the BaseAddress.
The base addresses of all text segments must be the same.

Introduces flag 'perf-script-events' for testing, which allows passing
perf events without BOLT having to parse them by invoking 'perf script'.
The flag is used to pass a mock perf profile that has two memory
mappings for a mock binary that has two text segments. The mapping
size is updated as `parseMMapEvents` now processes all text segments.


  Commit: 7a7a426188eea0b181738436205759e13ad6fd7b
      https://github.com/llvm/llvm-project/commit/7a7a426188eea0b181738436205759e13ad6fd7b
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Analysis/LazyValueInfo.cpp
    M llvm/test/Transforms/CorrelatedValuePropagation/vectors.ll

  Log Message:
  -----------
  [LVI] Fix insertelement of constexpr

Bail out when evaluating an insertelement of a constant expression.
Unlike other ValueLattice kinds, these don't have implicit splat
semantics and we end up with type mismatches. If we actually wanted
to handle these, we should actually evaluate the insertion via
constant folding. I'm not bothering with that, as these should
get constant folded on construction already.


  Commit: 5248e1d4e1ee950d1703ec57141257b02446dd67
      https://github.com/llvm/llvm-project/commit/5248e1d4e1ee950d1703ec57141257b02446dd67
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    A llvm/test/CodeGen/AArch64/stack-hazard-windows.ll
    M llvm/test/CodeGen/AArch64/stack-hazard.ll

  Log Message:
  -----------
  [AArch64] Fix frame-pointer offset with hazard padding (#118091)

The `-aarch64-stack-hazard-size=<val>` option disables register paring
(as the hazard padding may mean the offset is too large for STP/LDP).

This broke setting the frame-pointer offset, as the code to find the
frame record looked for a (FP, LR) register pair.

This patch resolves this by looking for FP, LR as two unpaired registers
when hazard padding is enabled.


  Commit: ede570980a2534c4a21850777b92505c02924416
      https://github.com/llvm/llvm-project/commit/ede570980a2534c4a21850777b92505c02924416
  Author: LiqinWeng <liqin.weng at spacemit.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll

  Log Message:
  -----------
  [RISCV][TTI] Add llvm.vp.select into canSplatOperand. (#117982)

The second operand of llvm.vp.select is a splat operand , it can help
llvm.vp.select fold vv instructions to vx instructions.


  Commit: fe1c4f0106fe4fd6d61c38ba46e71fda8f4d1573
      https://github.com/llvm/llvm-project/commit/fe1c4f0106fe4fd6d61c38ba46e71fda8f4d1573
  Author: Andrzej Warzynski <andrzej.warzynski at arm.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td

  Log Message:
  -----------
  [mlir][vector][nfc] Remove redundant "`"


  Commit: 34d4cd8208b9378d5ec00f256d8ea898162430be
      https://github.com/llvm/llvm-project/commit/34d4cd8208b9378d5ec00f256d8ea898162430be
  Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/lib/AST/ItaniumMangle.cpp
    A clang/test/CodeGenCXX/aarch64-mangle-sme-atts.cpp

  Log Message:
  -----------
  [Clang][AArch64] Include SME attributes in the name mangling of function types (#114209)

Similar to arm_sve_vector_bits, the mangling of function types is
implemented as a pseudo template if there are any SME attributes
present, i.e.

  `__SME_ATTRS<normal_function_type, sme_state>`

For example, the following function:

  `void f(svint8_t (*fn)() __arm_streaming) { fn(); }`

would be mangled as:

  `_Z1fP11__SME_ATTRSIFu10__SVInt8_tELj1EE`

See https://github.com/ARM-software/acle/pull/358


  Commit: 541d5d911119d0268bc55fa1367ada5ef25f99c1
      https://github.com/llvm/llvm-project/commit/541d5d911119d0268bc55fa1367ada5ef25f99c1
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

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

  Log Message:
  -----------
  [clang][bytecode][NFC] Reject invalid FromTypes in emitBuiltinBitcast (#118274)

instead of silently accepting them and failing later.


  Commit: 6f285d31159501050de5563b1a844a3e1ac79a03
      https://github.com/llvm/llvm-project/commit/6f285d31159501050de5563b1a844a3e1ac79a03
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    A llvm/test/CodeGen/AArch64/zeroing-forms-fcvt-bfcvt.ll

  Log Message:
  -----------
  [AArch64] Generate zeroing forms of certain SVE2.2 instructions (2/11) (#116828)

SVE2.2 introduces instructions with predicated forms with zeroing of
the inactive lanes. This allows in some cases to save a `movprfx` or
a `mov` instruction when emitting code for `_x` or `_z` variants of
intrinsics.

This patch adds support for emitting the zeroing forms of certain
`FCVT`, and `BFCVT` instructions.


  Commit: 3348b4688f570d5be3180f80c888325958c37db7
      https://github.com/llvm/llvm-project/commit/3348b4688f570d5be3180f80c888325958c37db7
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M compiler-rt/lib/builtins/cpu_model/x86.c
    M llvm/lib/TargetParser/Host.cpp

  Log Message:
  -----------
  [X86][compiler-rt] Split CPU names even they have the same subtype (#118237)

Fixes: #118205


  Commit: f8ce2e4bb38609033098714a467e25abe5b1f9d4
      https://github.com/llvm/llvm-project/commit/f8ce2e4bb38609033098714a467e25abe5b1f9d4
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp

  Log Message:
  -----------
  [Matrix] Only retrieve analyses if there are any matrix intrinsics (NFC)

Only request analyses if there are any matrix intrinics to avoid
computing them if there are no matrix intrinsics.


  Commit: 50c66e52f8946bc66147f615b1beaffff620e69e
      https://github.com/llvm/llvm-project/commit/50c66e52f8946bc66147f615b1beaffff620e69e
  Author: David Green <david.green at arm.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/concat-vector.ll

  Log Message:
  -----------
  [AArch64] Add tests for concat(extract-high, extract-high). NFC


  Commit: f5bc6b47e856ec4b44026bb82bfbe244afcc1d98
      https://github.com/llvm/llvm-project/commit/f5bc6b47e856ec4b44026bb82bfbe244afcc1d98
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/test/Transforms/PhaseOrdering/SystemZ/sub-xor.ll

  Log Message:
  -----------
  [PhaseOrdering] Remove -enable-matrix flag from sub-xor.ll test.

The test does not use matrix intrinsics, so does not need enable-matrix.


  Commit: e6eac65ad6aa2c61475d65f13d6d938d0e3a7728
      https://github.com/llvm/llvm-project/commit/e6eac65ad6aa2c61475d65f13d6d938d0e3a7728
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/test/CodeGen/ARM/2012-03-13-DAGCombineBug.ll

  Log Message:
  -----------
  [ARM] 2012-03-13-DAGCombineBug.ll - regenerate checks


  Commit: 9a34a4f8d668b72868fde3b6a58bb3a57d72c0c9
      https://github.com/llvm/llvm-project/commit/9a34a4f8d668b72868fde3b6a58bb3a57d72c0c9
  Author: dlav-sc <daniil.avdeev at syntacore.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/lldbtest.py

  Log Message:
  -----------
  [lldb] fix fd leak during lldb testsuite (#118093)

During lldb testing dotest.py opens files to dump testcase results, but
doesn't close them.

This patch makes necessary changes to fix the file descriptors leak.


  Commit: 4930f69b78e215c60eb53e25596599c2f98b6564
      https://github.com/llvm/llvm-project/commit/4930f69b78e215c60eb53e25596599c2f98b6564
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

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

  Log Message:
  -----------
  [X86] canonicalizeShuffleWithOp - add initial shuffle(sint_to_fp(x)) -> sint_to_fp(shuffle(x)) handling

Another tentative step towards folding shuffles through conversion ops - initially limited to cases where the src/dst types are matching width.


  Commit: 0611fdd32046c41647a7719252166033f7bce2f2
      https://github.com/llvm/llvm-project/commit/0611fdd32046c41647a7719252166033f7bce2f2
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [clang][bytecode] Add simple __builtin_memcpy implementation (#118278)

Not handling all the special- and error cases yet. Just making sure the
bitcast code can be used for this as well.


  Commit: 16ec534989a7ec0f67b694c3b9b21914794d8aef
      https://github.com/llvm/llvm-project/commit/16ec534989a7ec0f67b694c3b9b21914794d8aef
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstCombine/fpclass-from-dom-cond.ll

  Log Message:
  -----------
  [ValueTracking] Handle and/or of conditions in `computeKnownFPClassFromContext` (#118257)

Fix a typo introduced by
https://github.com/llvm/llvm-project/pull/83161.
This patch also supports decomposition of and/or expressions in
`computeKnownFPClassFromContext`.
Compile-time improvement:
http://llvm-compile-time-tracker.com/compare.php?from=688bb432c4b618de69a1d0e7807077a22f15762a&to=07493fc354b686f0aca79d6f817091a757bd7cd5&stat=instructions:u


  Commit: c1dcf75a7cf8840ddf20b622148c4ab0c3b16943
      https://github.com/llvm/llvm-project/commit/c1dcf75a7cf8840ddf20b622148c4ab0c3b16943
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Integral.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [clang][bytecode] Implement __builtin_reduce_mul (#118287)


  Commit: e48c7fe49f8575b7737d07ac5a71d1fc924d37f7
      https://github.com/llvm/llvm-project/commit/e48c7fe49f8575b7737d07ac5a71d1fc924d37f7
  Author: Devajith <devajith.valaparambil.sreeramaswamy at cern.ch>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/include/llvm/LineEditor/LineEditor.h
    M llvm/lib/LineEditor/LineEditor.cpp

  Log Message:
  -----------
  Reland '[lineeditor] Add `setHistorySize()` method for adjusting history size' (#115442)

Reland: https://github.com/llvm/llvm-project/pull/110092

Buildbot was failing due to an unused variable warning as there were 2
implementations (with and without libedit). Compared to last version,
wrap the variable inside the `#ifdef HAVE_LIBEDIT`.

Apologies for the oversight @vgvassilev


  Commit: ccc471fe3eb825db76ec4248c4d0dfe447aa04b1
      https://github.com/llvm/llvm-project/commit/ccc471fe3eb825db76ec4248c4d0dfe447aa04b1
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [clang][bytecode] Implement __builtin_reduce_and (#118289)


  Commit: da23a8372cd37e1a6280e9e0519bc0be60e2c209
      https://github.com/llvm/llvm-project/commit/da23a8372cd37e1a6280e9e0519bc0be60e2c209
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

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

  Log Message:
  -----------
  [FormattedStream] Add ASCII fast path (#117892)

Printing IR spends a large amount of time updating the column count via
generic UTF-8 APIs. Speed it up by adding a fast path for the common
printable ASCII case.

This makes `-print-on-crash -print-module-scope` about two times faster.


  Commit: cbb49d4be676a251ca140db92aa2788dd5514569
      https://github.com/llvm/llvm-project/commit/cbb49d4be676a251ca140db92aa2788dd5514569
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M flang/include/flang/Optimizer/CodeGen/Target.h
    M flang/lib/Optimizer/CodeGen/Target.cpp
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    M flang/test/Fir/target-rewrite-boxchar.fir
    M flang/test/Fir/target.fir

  Log Message:
  -----------
  [flang][fir] fix ABI bug 116844 (#118121)

Fix issue #116844.

The issue came from a look-up on the func.func for the sret attribute
when lowering fir.call with character arguments. This was broken because
the func.func may or may not have been rewritten when dealing with the
fir.call, but the lookup assumed it had not been rewritten yet. If the
func.func was rewritten and the result moved to a sret argument, the
call was lowered as if the character was meant to be the result, leading
to bad call code and an assert.

It turns out that the whole logic is actually useless since fir.boxchar
are never lowered as sret arguments, instead, lowering directly breaks
the character result into the first two `fir.ref<>, i64` arguments. So,
the sret case was actually never used, except in this bug.

Hence, instead of fixing the logic (probably by looking for argument
attributes on the call itself), just remove this logic that brings
unnecessary complexity.


  Commit: c2950982fe481091df91a06e59ab8a86af71509e
      https://github.com/llvm/llvm-project/commit/c2950982fe481091df91a06e59ab8a86af71509e
  Author: A. Jiang <de34 at live.cn>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx2cIssues.csv
    M libcxx/docs/Status/Cxx2cPapers.csv

  Log Message:
  -----------
  [libc++] Add Wroclaw straw polls (#118116)


  Commit: 2474cf7ad123ea14308293a2237e3552cddb1136
      https://github.com/llvm/llvm-project/commit/2474cf7ad123ea14308293a2237e3552cddb1136
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    A llvm/test/CodeGen/AArch64/zeroing-forms-fcvtlt-fcvtx.ll

  Log Message:
  -----------
  [AArch64] Generate zeroing forms of certain SVE2.2 instructions (3/11) (#116829)

SVE2.2 introduces instructions with predicated forms with zeroing of
the inactive lanes. This allows in some cases to save a `movprfx` or
a `mov` instruction when emitting code for `_x` or `_z` variants of
intrinsics.

This patch adds support for emitting the zeroing forms of certain
`FCVTLT`, and `FCVTX` instructions.


  Commit: 94488445cdd1657d1363a4994393b193c291b2cc
      https://github.com/llvm/llvm-project/commit/94488445cdd1657d1363a4994393b193c291b2cc
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    A flang/test/Lower/OpenMP/DelayedPrivatization/wsloop.f90
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp

  Log Message:
  -----------
  [flang][MLIR] Support delayed privatization for `wsloop` (PFT -> MLIR) (#118271)

Adds PFT to MLIR lowering for delayed privatization of `omp.wsloop` ops.
Lowering to LLVM IR will be added in a later PR.


  Commit: cdbd22876b71acad9e5eeceadc0d8859e6e73b18
      https://github.com/llvm/llvm-project/commit/cdbd22876b71acad9e5eeceadc0d8859e6e73b18
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M flang/examples/FeatureList/FeatureList.cpp
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Semantics/openmp-modifiers.h
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Lower/OpenMP/Clauses.h
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/openmp-modifiers.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/test/Parser/OpenMP/allocators-unparse.f90
    M flang/test/Semantics/OpenMP/allocate-clause01.f90
    M flang/test/Semantics/OpenMP/allocators01.f90
    M flang/test/Semantics/OpenMP/allocators04.f90
    M flang/test/Semantics/OpenMP/allocators05.f90
    M flang/test/Semantics/OpenMP/allocators06.f90
    M flang/test/Semantics/OpenMP/resolve06.f90
    M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
    M llvm/unittests/Frontend/OpenMPDecompositionTest.cpp

  Log Message:
  -----------
  [flang][OpenMP] Use new modifiers in ALLOCATE clause (#117627)

Again, this simplifies the semantic checks and lowering quite a bit.
Update the check for positive alignment to use a more informative
message, and to highlight the modifier itsef, not the whole clause.
Remove the checks for the allocator expression itself being positive:
there is nothing in the spec that says that it should be positive.

Remove the "simple" modifier from the AllocateT template, since both
simple and complex modifiers are the same thing, only differing in
syntax.


  Commit: 61a58fc676297756519412ddc1dfab6a75207b70
      https://github.com/llvm/llvm-project/commit/61a58fc676297756519412ddc1dfab6a75207b70
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp

  Log Message:
  -----------
  [flang] remove unused var after #118121 (#118295)

Fix https://lab.llvm.org/buildbot/#/builders/89/builds/11704


  Commit: 39337ff2dc366fde83b07193b72c294a846c5959
      https://github.com/llvm/llvm-project/commit/39337ff2dc366fde83b07193b72c294a846c5959
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/CodeGen/AMDGPU/hazards-gfx950.mir
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.gfx950.ll
    M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll

  Log Message:
  -----------
  AMDGPU: Handle cvt_scale F32/F16->F4/F8 gfx950 hazard (#117844)

gfx950 SP changes doc says:
No 4 clk forwarding on opcodes that convert from
F32/F16->F8 or F32/F16->F4. Must insert a NOP or
instruction writing some other destination VREG
after a conversion to F4/F8 since it writes either
low/high half or bytes.

Co-authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>
Co-authored-by: Jeffrey Byrnes <Jeffrey.Byrnes at amd.com>


  Commit: 1288f6d405768f57bf2d2fd5914c5a20f902f5d6
      https://github.com/llvm/llvm-project/commit/1288f6d405768f57bf2d2fd5914c5a20f902f5d6
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [clang][bytecode] Implement __builtin_reduce_or (#118292)


  Commit: eae30a240e34e1fd31b57096a1b8bdbd8b84352d
      https://github.com/llvm/llvm-project/commit/eae30a240e34e1fd31b57096a1b8bdbd8b84352d
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

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

  Log Message:
  -----------
  [rtsan] Add syscall interceptor (#118250)

This is a complex one - `syscall` is used when people want to bypass
libc and make the call directly

However, this call:
* Has a variable amount of arguments (up to 6, typically)
* Has arguments that can be any type, (think of whatever arguments go in
to the libc call, or see more details here
https://syscalls.mebeim.net/?table=x86/64/x64/latest)


I've tried to put in a couple tests to ensure we aren't mucking with the
underlying functionality and they seem to be working.


  Commit: b587b910d5b6fd27f4730ad933a8465528d6f5be
      https://github.com/llvm/llvm-project/commit/b587b910d5b6fd27f4730ad933a8465528d6f5be
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [clang][bytecode] Implement __builtin_reduce_xor (#118299)


  Commit: 03b5f8f0f0d10c412842ed04b90e2217cf071218
      https://github.com/llvm/llvm-project/commit/03b5f8f0f0d10c412842ed04b90e2217cf071218
  Author: Mats Petersson <mats.petersson at arm.com>
  Date:   2024-12-02 (Mon, 02 Dec 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/OpenMP.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    A flang/test/Lower/OpenMP/Todo/atomic-compare.f90
    A flang/test/Parser/OpenMP/atomic-compare.f90
    M flang/test/Parser/OpenMP/atomic-unparse.f90
    A flang/test/Semantics/OpenMP/atomic-compare.f90
    M flang/test/Semantics/OpenMP/atomic.f90

  Log Message:
  -----------
  [flang][OpenMP]Add parsing and semantics support for ATOMIC COMPARE (#117032)

This adds a minimalistic implementation of parsing and semantics for the
ATOMIC COMPARE feature from OpenMP 5.1.

There is no lowering, just a TODO for that part. Some of the Semantics
is also just a comment explaining that more is needed.


  Commit: 40fb74a8ff23c0ff042b5e80b330882b7a625e43
      https://github.com/llvm/llvm-project/commit/40fb74a8ff23c0ff042b5e80b330882b7a625e43
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
    M llvm/test/CodeGen/AMDGPU/mul.i16.ll

  Log Message:
  -----------
  [AMDGPU][True16][CodeGen] V_MUL_LO_U16 true16 test (#118118)

This is a NFC. Update and eable V_MUL_LO_U16 codegen test for
true16/fake16 flow


  Commit: aa7fe1c10e5d6d0d3aacdb345fed995de413e142
      https://github.com/llvm/llvm-project/commit/aa7fe1c10e5d6d0d3aacdb345fed995de413e142
  Author: Nathan Gauër <brioche at google.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/AddressSpaces.h
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/DirectX.h
    M clang/lib/Basic/Targets/NVPTX.h
    M clang/lib/Basic/Targets/SPIR.h
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/Basic/Targets/TCE.h
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/Basic/Targets/X86.h
    M clang/test/SemaTemplate/address_space-dependent.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    A llvm/test/CodeGen/SPIRV/pointers/global-addrspacecast.ll
    A llvm/test/CodeGen/SPIRV/pointers/variables-storage-class-vk.ll
    M llvm/test/CodeGen/SPIRV/pointers/variables-storage-class.ll

  Log Message:
  -----------
  [SPIR-V] Fixup storage class for global private (#116636)

Adds a new address spaces: `hlsl_private`. Variables with such address
space will be emitted with a `Private` storage class.
This is useful for variables global to a SPIR-V module, since up to now,
they were still emitted with a `Function` storage class, which is wrong.

---------

Signed-off-by: Nathan Gauër <brioche at google.com>


  Commit: 4ad4d34a226043a5d594b261a9c2a50efd292a76
      https://github.com/llvm/llvm-project/commit/4ad4d34a226043a5d594b261a9c2a50efd292a76
  Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/test/CXX/temp/temp.deduct.guide/p3.cpp

  Log Message:
  -----------
  Revert [Clang] prevent errors for deduction guides using deduced type aliases (#118165)

Reverts https://github.com/llvm/llvm-project/pull/117450

---

Revert https://github.com/llvm/llvm-project/pull/117450 because the
prior behavior aligns with the standard - _`template-name`_ in the
_`simple-template-id`_ in the return type shall be the actual name of a
class template rather than some equivalent alias template. Details
https://github.com/llvm/llvm-project/issues/54909#issuecomment-2508418355.


  Commit: 608f4ae113f94b0c4a9b3c944a2aa9f115a805b4
      https://github.com/llvm/llvm-project/commit/608f4ae113f94b0c4a9b3c944a2aa9f115a805b4
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-12-02 (Mon, 02 Dec 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/unparse.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/test/Parser/OpenMP/bind-clause.f90
    M flang/test/Parser/OpenMP/declare_target-device_type.f90
    M flang/test/Parser/OpenMP/proc-bind.f90
    M flang/test/Parser/OpenMP/target-loop-unparse.f90

  Log Message:
  -----------
  [flang][OpenMP] Rename some `Type` members in OpenMP clauses (#117784)

The intent is to keep names in sync with the terminology from the OpenMP
spec:
```
  OmpBindClause::Type       -> Binding
  OmpDefaultClause::Type    -> DataSharingAttribute
  OmpDeviceTypeClause::Type -> DeviceTypeDescription
  OmpProcBindClause::Type   -> AffinityPolicy
```
Add more comments with references to the OpenMP specs.


  Commit: b27d97bef782a8405e80e7b9f60b44d0537f43b6
      https://github.com/llvm/llvm-project/commit/b27d97bef782a8405e80e7b9f60b44d0537f43b6
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

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

  Log Message:
  -----------
  [mlir][tensor] Add test for invalid tensor.unpack + update error msg (#118275)

Adds a new test for invalid `tensor.unpack` operations where the output
rank does not match the expected rank (input rank + num inner tile
sizes). For example:

```mlir
tensor.unpack %output
  inner_dims_pos = [0, 1]
  inner_tiles = [32, 16]
  into %input : tensor<64x32x16xf32> -> tensor<256x128xf32>
```

In addition, updates the corresponding error message to make it more
informative:

BEFORE:
```mlir
error: packed rank must equal unpacked rank + tiling factors}
```

AFTER:
```mlir
error: packed rank != (unpacked rank + num tiling factors), got 3 != 4
```


  Commit: b343f3f3faf5b732cc19c9c51d392389677477ce
      https://github.com/llvm/llvm-project/commit/b343f3f3faf5b732cc19c9c51d392389677477ce
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
    M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp

  Log Message:
  -----------
  [analyzer][NFC] Cleanup BranchNodeBuilder (#117898)

Previously `BranchNodeBuilder` had a machinery to mark the two possible
branches (true, false) as infeasible, but this was completely useless in
practice, because the `BranchNodeBuilder` objects where short-lived
local variables so the `markInfeasible()` calls did not affect any later
calls.

The only theoretical exception was that in `ExprEngine::processBranch`
the methods of `BranchNodeBuilder` were called within a `for` loop that
iterates over the nodes created by the `check::BranchCondition`
callbacks.

However, currently only two checkers listen to `check::BranchCondition`
and neither of them produces multiple out nodes. This is fortunate,
because if the `for` loop had multiple iterations, then the lingering
effects of `markInfeasible()` would have caused wildly incorrect
behavior.

_For example, let's assume that a hypothetical `check::BranchCondition`
callback transitions to two different states, and the condition
expression happens to be true in the first and false in the second. In
this situation the first iteration of the loop would mark the false
branch as 'infeasible' and then in the second iteration the analyzer
would skip creating the transition to the false branch (from the state
where that is the 'right' path forward)._

After removing `markInfeasible()`, it became clear that the
`isFeasible()` calls in `ExprEngine::processBranch` are redundant
because they only guarded a `generateNode` call -- which immediately
calls `isFeasible()` and does nothing on an infeasible branch.

At this point in the refactoring the only code writing the feasibility
data members is their initialization in the constructors of
`BranchNodeBuilder` and the only code reading them is the check at the
beginning of `BranchNodeBuilder::generateNode`, so it was
straightforward to remove them completely and simplify the logic of
`generateNode()` to let it directly check the nullness of the
`CFGBlock*` pointer that it wants to use.

Finally, after these changes it became clear that in
`ExprEngine::processBranch` the `else` branch
(corresponding to the case when `assumeCondition` fails) is equivalent
to the "normal" case, so I eliminated it as well.

I also update the capitalization of a few variables that are already
affected by this change.


  Commit: 637a1ae85538554b98973861802e842fc30d0f91
      https://github.com/llvm/llvm-project/commit/637a1ae85538554b98973861802e842fc30d0f91
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [clang][bytecode] Implement __builtin_elementwise_popcount (#118307)


  Commit: 21d27b3aabf3d06f7e8b1002b34bb467f6ab66d8
      https://github.com/llvm/llvm-project/commit/21d27b3aabf3d06f7e8b1002b34bb467f6ab66d8
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    A llvm/test/Transforms/LoopUnroll/AArch64/apple-unrolling.ll

  Log Message:
  -----------
  [LoopUnroll] Add tests for loop unrolling on Apple platforms.

Add first set of tests where runtime unrolling can be highly beneficial
on Apple Silicon CPUs.


  Commit: 97f94af3560d3ae046f6c3d7ec74b03d1d2493d0
      https://github.com/llvm/llvm-project/commit/97f94af3560d3ae046f6c3d7ec74b03d1d2493d0
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M .github/workflows/docs.yml

  Log Message:
  -----------
  [Github] Upload built docs as artifact from test build docs job (#118159)

This patch makes the test documentation build job upload the docs that
have been built as artifacts. This makes it much easier to take a peek
at the resulting documentation rather than just being able to see that
it builds.


  Commit: 071da9261b7e94c2d2d4e9d3d4eba1f29115e8ae
      https://github.com/llvm/llvm-project/commit/071da9261b7e94c2d2d4e9d3d4eba1f29115e8ae
  Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/test/CodeGen/alias.cpp

  Log Message:
  -----------
  [Clang] ensure mangled names are valid identifiers before being suggested in ifunc/alias attributes notes (#118170)

Fixes #112205

--- 

Commit that introduced this feature -
https://github.com/llvm/llvm-project/commit/9306ef9750b7a319d59f6d3e4977e01e39b8f161


  Commit: f8b4182f076f8fe55f9d5f617b5a25008a77b22f
      https://github.com/llvm/llvm-project/commit/f8b4182f076f8fe55f9d5f617b5a25008a77b22f
  Author: Nathan Gauër <brioche at google.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/AddressSpaces.h
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/DirectX.h
    M clang/lib/Basic/Targets/NVPTX.h
    M clang/lib/Basic/Targets/SPIR.h
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/Basic/Targets/TCE.h
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/Basic/Targets/X86.h
    M clang/test/SemaTemplate/address_space-dependent.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    R llvm/test/CodeGen/SPIRV/pointers/global-addrspacecast.ll
    R llvm/test/CodeGen/SPIRV/pointers/variables-storage-class-vk.ll
    M llvm/test/CodeGen/SPIRV/pointers/variables-storage-class.ll

  Log Message:
  -----------
  Revert "[SPIR-V] Fixup storage class for global private (#116636)" (#118312)

This reverts commit aa7fe1c10e5d6d0d3aacdb345fed995de413e142.


  Commit: 8935165659b7c31914e86059b91c9da8389cf19a
      https://github.com/llvm/llvm-project/commit/8935165659b7c31914e86059b91c9da8389cf19a
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    A llvm/test/MachineVerifier/RISCV/lit.local.cfg
    M llvm/test/MachineVerifier/RISCV/subreg-liveness.mir

  Log Message:
  -----------
  [NFCI][test] Use lit.local.cfg in test/MachineVerifier/RISCV to gate tests (#118217)

87cc4b48c08a627f330396f941b84671c5e591d5 added `REQUIRES:
riscv64-registered-target` to the only test in this directory. It seems
better (and also reflects what we do elsewhere, including in the AMDGPU/
subdir in MachineVerifier) to gate for all files in the directory via
lit.local.cfg.


  Commit: fcfdabfea18b4d2dd98a1c5b52d5b33aff77ae1a
      https://github.com/llvm/llvm-project/commit/fcfdabfea18b4d2dd98a1c5b52d5b33aff77ae1a
  Author: Ian Wood <ianwood2024 at u.northwestern.edu>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Utils/ReshapeOpsUtils.h
    M mlir/test/Dialect/Tensor/canonicalize.mlir

  Log Message:
  -----------
  [MLIR] Improve compose expand(collapse) pattern (#117768)

If expand(collapse) has a dimension that gets collapsed and then
expanded to the same shape, the pattern would fail to canonicalize this
to a single collapse shape. Line 341 was changed because the
expand(collapse) could be a reinterpret-cast like sequence where the
shapes differ but the rank is the same. This cannot be represented by a
single `collapse_shape` op.

Signed-off-by: Ian Wood <ianwood2024 at u.northwestern.edu>


  Commit: ac7fe426163adf9123473aeb94448cf3e84f6d09
      https://github.com/llvm/llvm-project/commit/ac7fe426163adf9123473aeb94448cf3e84f6d09
  Author: SpencerAbson <Spencer.Abson at arm.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    M clang/utils/TableGen/SveEmitter.cpp

  Log Message:
  -----------
  [Clang][AArch64]Refactor typespec handling in SveEmitter.cpp (#117717)

- Switch to an enumerated type approach, which is less error-prone as we
continue to add new types. This is similar to NeonEmitter.
- Fix existing faulty typespec modifiers


  Commit: fed07a05454d53763c10d482cd6e853509eee252
      https://github.com/llvm/llvm-project/commit/fed07a05454d53763c10d482cd6e853509eee252
  Author: Paul Osmialowski <pawel.osmialowski at arm.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M compiler-rt/test/builtins/Unit/atomic_test.c

  Log Message:
  -----------
  [compiler-rt][tests] Make this test case pass on AArch64 (#117628)

See also D92832 and GCC bug
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80878


  Commit: 05096590e0ce68bdc6d32aac9ddbe8728e7514ae
      https://github.com/llvm/llvm-project/commit/05096590e0ce68bdc6d32aac9ddbe8728e7514ae
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M flang/examples/FeatureList/FeatureList.cpp
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Semantics/openmp-modifiers.h
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/openmp-modifiers.cpp
    M flang/test/Parser/OpenMP/affinity-clause.f90
    M flang/test/Parser/OpenMP/target_device_parse.f90
    M flang/test/Parser/OpenMP/target_device_unparse.f90
    M flang/test/Semantics/OpenMP/clause-validity01.f90

  Log Message:
  -----------
  [flang][OpenMP] Use new modifiers with AFFINITY/ALIGNED/DEVICE (#117786)

This is a mostly mechanical change from specific modifiers embedded
directly in a clause to the Modifier variant.

Additional comments and references to the OpenMP specs were added.


  Commit: a951e76fbed642dbe3f51965d17ca566be586cc5
      https://github.com/llvm/llvm-project/commit/a951e76fbed642dbe3f51965d17ca566be586cc5
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py

  Log Message:
  -----------
  [lldb] Added an exponential algorithm for the sleep time in connect_to_debug_monitor() (#118222)

Reduced MAX_ATTEMPTS to 10.
The sleep time will be 3, 3.6, 4.3, ..., 13, 15.
The total sleep time is 78 + 0.5 * MAX_CONNECT_ATTEMPTS * MAX_ATTEMPTS = 128.
Note the timeout is 600, so the rest time must be enough.
Increased the port range (12000..20000).


  Commit: 582754280c73f3b3ead67603df6b896d3ad058d8
      https://github.com/llvm/llvm-project/commit/582754280c73f3b3ead67603df6b896d3ad058d8
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

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

  Log Message:
  -----------
  [libc++][NFC] Fix slightly incorrect row in the CSV files


  Commit: d898ff650ae09e3ef942592aee2e87627f45d7c6
      https://github.com/llvm/llvm-project/commit/d898ff650ae09e3ef942592aee2e87627f45d7c6
  Author: Perry Gibson <Wheest at users.noreply.github.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M mlir/python/mlir/dialects/func.py
    M mlir/test/python/dialects/func.py

  Log Message:
  -----------
  [mlir,python] Fix case when `FuncOp.arg_attrs` is not set (#117188)

FuncOps can have `arg_attrs`, an array of dictionary attributes
associated with their arguments.

E.g., 

```mlir
func.func @main(%arg0: tensor<8xf32> {test.attr_name = "value"}, %arg1: tensor<8x16xf32>)
```

These are exposed via the MLIR Python bindings with
`my_funcop.arg_attrs`.

In this case, it would return `[{test.attr_name = "value"}, {}]`, i.e.,
`%arg1` has an empty `DictAttr`.

However, if I try and access this property from a FuncOp with an empty
`arg_attrs`, e.g.,

```mlir
func.func @main(%arg0: tensor<8xf32>, %arg1: tensor<8x16xf32>)
```

This raises the error:

```python
    return ArrayAttr(self.attributes[ARGUMENT_ATTRIBUTE_NAME])
                     ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
KeyError: 'attempt to access a non-existent attribute'
```

This PR fixes this by returning the expected `[{}, {}]`.


  Commit: 73186546f0c0209c65c4b4ef1379a4832545b871
      https://github.com/llvm/llvm-project/commit/73186546f0c0209c65c4b4ef1379a4832545b871
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/test/CodeGen/RISCV/rv64-float-convert-strict.ll
    M llvm/test/CodeGen/RISCV/rv64-float-convert.ll
    M llvm/test/CodeGen/RISCV/rv64-half-convert-strict.ll
    M llvm/test/CodeGen/RISCV/rv64-half-convert.ll

  Log Message:
  -----------
  [LegalizeTypes][RISCV] Call setTypeListBeforeSoften from ExpandIntRes_FP_TO_XINT if the FP type needs to be softened (#118269)

This avoids an unnecessary sext.w before the libcall.


  Commit: bee33b5291a28aec76e98c0da25349266c7b653c
      https://github.com/llvm/llvm-project/commit/bee33b5291a28aec76e98c0da25349266c7b653c
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/double-intrinsics.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/float-intrinsics.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir

  Log Message:
  -----------
  [RISCV][GISel] Support f32/f64 powi. (#117937)

Need to force libcall legalization to treat the integer argument as
signed so that it can be promoted to XLen in call lowering for RV64.
Alternatively we could promote the operand before converting to libcall,
but going through call lowering is closer to what SelectionDAG does.


  Commit: c16c0e26236d0468a2411cb3bce219d3c70650e9
      https://github.com/llvm/llvm-project/commit/c16c0e26236d0468a2411cb3bce219d3c70650e9
  Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

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

  Log Message:
  -----------
  [AMDGPU][SIOptimizeVGPRLiveRange] Add setpreservesCFG in the legacy pass flow. (#118256)


  Commit: c9fa3195f0f012a5606ec3e403a1f111b3a4e0c7
      https://github.com/llvm/llvm-project/commit/c9fa3195f0f012a5606ec3e403a1f111b3a4e0c7
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/test/CodeGen/RISCV/rvv/compressstore.ll

  Log Message:
  -----------
  [RISCV] Use LiveIntervals to determine if AVL dominates when coalescing (#118285)

In order to coalesce a vsetvli with a register AVL into a previous
vsetvli, we need to make sure that the AVL register is reachable at the
previous vsetvli.

Back in pre-RA vsetvli insertion we just checked to see if the two
virtual registers were the same virtual register, and then this was
hacked around in the move to post-RA. We can instead use live intervals
to check that the reaching definition is the same at both instructions.

On its own this doesn't have much of an impact, but helps a lot in
#118283 and enables coalescing in about 60 of the test cases from that
PR.


  Commit: a6fa51f5ce8f31a088f04d7c14690bb0de3259f1
      https://github.com/llvm/llvm-project/commit/a6fa51f5ce8f31a088f04d7c14690bb0de3259f1
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M lld/Common/ErrorHandler.cpp

  Log Message:
  -----------
  [lld] Move handling of message separator to reportDiagnostic()

This ensures that it is also updated when calling log() and not just for
errors and warnings. This was noticed in the downstream CHERI fork where
a test using CHECK-NEXT was seeing empty lines after single-line log()
messages.

Reviewed By: MaskRay

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


  Commit: 57452bb3a92d77f260296669269815e057b19b6e
      https://github.com/llvm/llvm-project/commit/57452bb3a92d77f260296669269815e057b19b6e
  Author: Raphael Moreira Zinsly <6718397+rzinsly at users.noreply.github.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVFrameLowering.h

  Log Message:
  -----------
  [NFC][RISCV] Remove CFIIndex argument from allocateStack (#117871)

Calculates CFIIndex inside RISCVFrameLowering::allocateStack instead of
sending it by argument.


  Commit: 1b03747ed85cd4a6573b728674e88f4bd3fa844d
      https://github.com/llvm/llvm-project/commit/1b03747ed85cd4a6573b728674e88f4bd3fa844d
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M libcxx/utils/synchronize_csv_status_files.py

  Log Message:
  -----------
  [libc++] Augment Github - CSV synchronization script to auto-create new Github issues (#118139)

This makes it easier to create the Github issues and add them to the
libc++ conformance project after a WG21 meeting.


  Commit: d33dc14833b581d276a712a8425ab8f62a59c589
      https://github.com/llvm/llvm-project/commit/d33dc14833b581d276a712a8425ab8f62a59c589
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M compiler-rt/test/builtins/Unit/extendhfxf2_test.c
    M compiler-rt/test/builtins/Unit/fp_test.h

  Log Message:
  -----------
  [compiler-rt] Allow running extendhfxf2_test without int128 support

We don't need 128-bit integers here, instead rewrite the fp_test.h helpers
to avoid the need for __int128. Also change the high argument for
compareResultF80() and F80FromRep80() to be uint16_t since values greater
than this do not make any sense. This should allow the compiler to detect
accidentally swapping the arguments.

Reviewed By: biabbas, alexander-shaposhnikov

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


  Commit: 02eaeec1ac61b3933bf10a40abdeff4e2958a4a5
      https://github.com/llvm/llvm-project/commit/02eaeec1ac61b3933bf10a40abdeff4e2958a4a5
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M libcxx/src/CMakeLists.txt

  Log Message:
  -----------
  [libc++] Remove obsolete CMake variable (#118119)

That variable is not referenced anywhere anymore, so it can be removed.


  Commit: 1f2aeef97bf229821b1b254d7ce4e3d1c7f8683f
      https://github.com/llvm/llvm-project/commit/1f2aeef97bf229821b1b254d7ce4e3d1c7f8683f
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/test/AST/ast-print-openacc-combined-construct.cpp
    M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
    A clang/test/SemaOpenACC/combined-construct-copy-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-copy-clause.c
    A clang/test/SemaOpenACC/combined-construct-copy-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-copyin-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-copyin-clause.c
    A clang/test/SemaOpenACC/combined-construct-copyin-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-copyout-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-copyout-clause.c
    A clang/test/SemaOpenACC/combined-construct-copyout-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-create-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-create-clause.c
    A clang/test/SemaOpenACC/combined-construct-create-clause.cpp
    M clang/test/SemaOpenACC/combined-construct-default-clause.c
    M clang/test/SemaOpenACC/combined-construct-default-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-default-clause.c

  Log Message:
  -----------
  [OpenACC] Enable copy/create clauses for combined constructs

This is the last set of 'no op' changes, and are all incredibly similar,
so they are being done together.  They work the exact same for combined
constructs as they do for compute constructs, so this adds tests and
enables them.


  Commit: de6d0d2de0e2df72bd77f29d27addf13ebfbc997
      https://github.com/llvm/llvm-project/commit/de6d0d2de0e2df72bd77f29d27addf13ebfbc997
  Author: Luke Quinn <lquinn2015 at gmail.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
    A llvm/test/CodeGen/RISCV/GlobalISel/float-fclass.ll

  Log Message:
  -----------
  [RISCV][GISel] Add FCLASS to onlyUsesFP for register bank selection (#118021)

Bug fix FCLASS instruction in RISCV. The bug is due the fact that FCLASS
has an input float register and output GPR this caused reg bank select
regression.


  Commit: 94316dd5415fbeb7ce7432620ffbbb4b2fc03237
      https://github.com/llvm/llvm-project/commit/94316dd5415fbeb7ce7432620ffbbb4b2fc03237
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/CodeGen/AMDGPU/saddsat.ll
    M llvm/test/CodeGen/AMDGPU/ssubsat.ll

  Log Message:
  -----------
  [AMDGPU][True16][CodeGen] saddsat/ssubsat sdag for true16 format (#118245)

saddsat and ssubsat SDAG codeGen pattern for True16 format


  Commit: 3d437893c3b8431a35f5edb65409f0d0fb0e2d95
      https://github.com/llvm/llvm-project/commit/3d437893c3b8431a35f5edb65409f0d0fb0e2d95
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M libcxx/include/chrono
    M libcxx/test/libcxx/clang_tidy.gen.py
    M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt

  Log Message:
  -----------
  [libc++] Re-enable Clang-tidy checks in the CI (#110026)

Now that we've gained control of our CI docker image again,
we can re-enable the clang-tidy tests.


  Commit: a796f597cd445bf6577c09efcac710b568f29d92
      https://github.com/llvm/llvm-project/commit/a796f597cd445bf6577c09efcac710b568f29d92
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-read-tr.cl
    M llvm/lib/Target/AMDGPU/DSInstructions.td
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.read.tr.gfx950.ll

  Log Message:
  -----------
  AMDGPU: Allow f16/bf16 for DS_READ_TR16_B64 gfx950 builtins (#118297)

Co-authored-by: Sirish Pande <Sirish.Pande at amd.com>


  Commit: 468fb5fc7ebc42820cf8a2114d20f321a9ede0ee
      https://github.com/llvm/llvm-project/commit/468fb5fc7ebc42820cf8a2114d20f321a9ede0ee
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    A llvm/test/CodeGen/AMDGPU/register-coalescer--set-undef-full-reg-use-implicit-def-erase-issue109249.mir

  Log Message:
  -----------
  RegisterCoalescer: Set undef on full register uses when coalescing implicit_def (#118321)

Previously this would delete the IMPLICIT_DEF and not introduce the undef
flag on the use operand.

Fixes sub-issue found while reducing #109294


  Commit: 75452831948d86674374f645df75c543f4587635
      https://github.com/llvm/llvm-project/commit/75452831948d86674374f645df75c543f4587635
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M compiler-rt/cmake/base-config-ix.cmake

  Log Message:
  -----------
  [compiler-rt] Don't detect a versioned clang test compiler as GCC

I was trying to build compiler-rt with /usr/bin/clang-17 and the testsuite
failed due to the code in lit.common.cfg.py:
```
# GCC-ASan uses dynamic runtime by default (since config.bits is not set).
if config.compiler_id == "GNU":
    gcc_dir = os.path.dirname(config.clang)
    libasan_dir = os.path.join(gcc_dir, "..", "lib" + config.bits)
    push_dynamic_library_lookup_path(config, libasan_dir)
```

Fix this in two ways: First, if the test compiler matches the library
compiler, set COMPILER_RT_TEST_COMPILER_ID to CMAKE_C_COMPILER_ID. Second,
relax the regex detecting clang to allow any kind of suffix.

Reviewed By: compnerd

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


  Commit: 681bd84563cf559fca4eea3ae8ac064e0ae833f5
      https://github.com/llvm/llvm-project/commit/681bd84563cf559fca4eea3ae8ac064e0ae833f5
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    A llvm/test/Transforms/InstCombine/AMDGPU/lane-index-simplify-demanded-bits.ll

  Log Message:
  -----------
  AMDGPU: Add baseline test for lane index simplification (#117962)


  Commit: b36f1c8e9b0c9b9151be15b36a0f8d59ea8fc989
      https://github.com/llvm/llvm-project/commit/b36f1c8e9b0c9b9151be15b36a0f8d59ea8fc989
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    A clang/test/Driver/xtensa-char.c

  Log Message:
  -----------
  [Xtensa] Default to unsigned char

This matches GCC.

Partially addresses https://github.com/llvm/llvm-project/pull/115964

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


  Commit: 93d2a2caf63ee9c3dab8b3e0a1b54a9ba484714d
      https://github.com/llvm/llvm-project/commit/93d2a2caf63ee9c3dab8b3e0a1b54a9ba484714d
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILFinalizeLinkage.cpp
    M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
    M llvm/test/CodeGen/DirectX/BufferStore-errors.ll
    A llvm/test/CodeGen/DirectX/finalize-linkage-intrinsics.ll
    M llvm/test/CodeGen/DirectX/llc-pipeline.ll

  Log Message:
  -----------
  [DirectX] Run DXILFinalizeLinkage earlier in the pipeline (#117950)

This moves DXILFinalizeLinkage before the DXIL op lowering passes so
that it doesn't end up internalizing any of the `dx.op.*` functions.
This also exposed a bug when the pass is run on a module with intrinsics
in them - marking the intrinsics as internal will fail the validator.

Fixes #117761


  Commit: 0fe1f8524e02a2d28946e8356615f16166670474
      https://github.com/llvm/llvm-project/commit/0fe1f8524e02a2d28946e8356615f16166670474
  Author: stma247 <184293860+stma247 at users.noreply.github.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    A llvm/test/tools/llvm-cov/branch-export-lcov-unify-instances.test
    M llvm/test/tools/llvm-cov/branch-export-lcov.test
    M llvm/tools/llvm-cov/CodeCoverage.cpp
    M llvm/tools/llvm-cov/CoverageExporterLcov.cpp
    M llvm/tools/llvm-cov/CoverageViewOptions.h

  Log Message:
  -----------
  [llvm-cov] Fix branch counts of template functions (#111743) (#113925)

Added option "--unify-instantiations" to llvm-cov export to combine
branch execution counts of C++ template instantiations.

on-behalf-of: @e-solutions-GmbH <info at esolutions.de>


  Commit: 6baf0023ce7f880a15aa89eaea2dcbea59abfa16
      https://github.com/llvm/llvm-project/commit/6baf0023ce7f880a15aa89eaea2dcbea59abfa16
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M flang/include/flang/Common/Fortran-features.h
    M flang/lib/Semantics/expression.cpp
    M flang/test/Semantics/expr-errors06.f90

  Log Message:
  -----------
  [flang] Downgrade recently added error to a warning (#117217)

An empty array shouldn't be subscripted, but sometimes they are in
zero-trip loops in real applications. So change a recently added error
message to a warning (off by default).


  Commit: c1c9929028004a717d8dea3cdf416260ef97bea8
      https://github.com/llvm/llvm-project/commit/c1c9929028004a717d8dea3cdf416260ef97bea8
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M flang/include/flang/Common/Fortran-features.h
    M flang/lib/Common/Fortran-features.cpp
    M flang/lib/Semantics/check-declarations.cpp
    M flang/test/Semantics/call14.f90
    M flang/test/Semantics/resolve58.f90

  Log Message:
  -----------
  [flang] Allow a few irrelevant attributes, with warning (#117374)

INTENT, VALUE, and OPTIONAL attributes apply only to dummy arguments. A
couple older compilers accept them, usually with a warning, if they are
applied to names that are not dummy arguments, and they show up in some
older non-portable source code. Change these cases into stern warnings
by default.


  Commit: 8115454aa05caf4ebfaa98466a8c8b7aa274cefd
      https://github.com/llvm/llvm-project/commit/8115454aa05caf4ebfaa98466a8c8b7aa274cefd
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M flang/docs/Extensions.md
    M flang/include/flang/Parser/parse-tree.h
    M flang/lib/Parser/Fortran-parsers.cpp
    M flang/lib/Parser/type-parsers.h
    A flang/test/Parser/decl-char-length.f90

  Log Message:
  -----------
  [flang] Extension: accept "var*length(bounds)" (#117399)

A character length specifier in an entity declaration or a component
declaration is required by the standard to follow any array bounds or
coarray bounds that are present. Several Fortran compilers allow the
character length specifier to follow the name and appear before the
bounds.

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


  Commit: dfbc80febb45544710b12cc05f268f40ef88cd6e
      https://github.com/llvm/llvm-project/commit/dfbc80febb45544710b12cc05f268f40ef88cd6e
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M flang/lib/Parser/prescan.cpp
    A flang/test/Preprocessing/bug117297.F90

  Log Message:
  -----------
  [flang] Fix continuation when line begins with empty macro expansion (#117407)

A free form source line that begins with a macro should still be
classified as a source line, and have its continuation lines work, even
if the macro expands to an empty replacement.

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


  Commit: 9b64811e27f8377b77f8561cf678c9d2f2d67393
      https://github.com/llvm/llvm-project/commit/9b64811e27f8377b77f8561cf678c9d2f2d67393
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

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

  Log Message:
  -----------
  [flang][runtime] Skip unused truncated list-directed character input (#118320)

When reading non-delimited list-directed character input, read the whole
field even if it doesn't fit into the variable.

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


  Commit: 91f5f974cb75309a94c9efc76238ef98abcf1582
      https://github.com/llvm/llvm-project/commit/91f5f974cb75309a94c9efc76238ef98abcf1582
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M offload/DeviceRTL/CMakeLists.txt
    M offload/DeviceRTL/src/Misc.cpp
    M offload/DeviceRTL/src/exports
    A offload/include/Shared/RPCOpcodes.h
    M offload/plugins-nextgen/amdgpu/src/rtl.cpp
    M offload/plugins-nextgen/common/CMakeLists.txt
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    M offload/plugins-nextgen/common/src/RPC.cpp
    M offload/plugins-nextgen/cuda/src/rtl.cpp
    A offload/test/api/omp_host_call.c
    R offload/test/libc/host_call.c

  Log Message:
  -----------
  [OpenMP] Unconditionally provide an RPC client interface for OpenMP (#117933)

Summary:
This patch adds an RPC interface that lives directly in the OpenMP
device runtime. This allows OpenMP to implement custom opcodes.
Currently this is only providing the host call interface, which is the
raw version of reverse offloading. Previously this lived in `libc/` as
an extension which is not the correct place.

The interface here uses a weak symbol for the RPC client by the same
name that the `libc` interface uses. This means that it will defer to
the libc one if both are present so we don't need to set up multiple
instances.

The presense of this symbol is what controls whether or not we set up
the RPC server. Because this is an external symbol it normally won't be
optimized out, so there's a special pass in OpenMPOpt that deletes this
symbol if it is unused during linking. That means at `O0` the RPC server
will always be present now, but will be removed trivially if it's not
used at O1 and higher.


  Commit: 0aef005c94f91a91edc77a4f43337950e66bc462
      https://github.com/llvm/llvm-project/commit/0aef005c94f91a91edc77a4f43337950e66bc462
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/test/AST/ast-print-openacc-combined-construct.cpp
    M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
    A clang/test/SemaOpenACC/combined-construct-collapse-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-collapse-clause.cpp
    M clang/test/SemaOpenACC/combined-construct-device_type-clause.c

  Log Message:
  -----------
  [OpenACC] Implement 'collapse' for combined constructs.

Most of the restrictions on 'collapse' involve the contents of the loop,
so this extends enforcement of all of that to all combined construct
loops, and alters the diagnostics to better reflect the construct it is
associated with.


  Commit: 15676ec552c7028ce3c902cec19efe9c99d7f303
      https://github.com/llvm/llvm-project/commit/15676ec552c7028ce3c902cec19efe9c99d7f303
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/CodeGen/AMDGPU/fptrunc.f16.ll
    M llvm/test/MC/AMDGPU/gfx950_asm_features.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_vop3.txt

  Log Message:
  -----------
  AMDGPU: Add support for V_CVT_PK_F16_F32 instruction for gfx950 (#118300)

Co-authored-by: Shilei Tian <shilei.tian at amd.com>


  Commit: f3af593d6f0ed0243c4f483e120974ab2c2eb334
      https://github.com/llvm/llvm-project/commit/f3af593d6f0ed0243c4f483e120974ab2c2eb334
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

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

  Log Message:
  -----------
  AMDGPU: Create InstrMapping from VGPR MFMA to equivalent AGPR instruction (#117102)

This provides infrastructure for a future optimization.


  Commit: eaa4eb281d4a0e34c7b4c2dac50cd151c3cb27e6
      https://github.com/llvm/llvm-project/commit/eaa4eb281d4a0e34c7b4c2dac50cd151c3cb27e6
  Author: David Olsen <dolsen at nvidia.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/lib/CIR/FrontendAction/CIRGenAction.cpp

  Log Message:
  -----------
  [CIR] Fix warning in CIRGenAction.cpp (#118389)

Fix a compiler warning in `CIRGenConsumer::HandleTranslationUnit` in
`clang/lib/CIR/FrontendAction/CIRGenAction.cpp`. The warning was about a
`default:` section in a switch statement that already covered all the
values of an enum. Delete the `default:` section.


  Commit: bde79c0e27fd0fb1e31c9b8b34ae71716c51a8e8
      https://github.com/llvm/llvm-project/commit/bde79c0e27fd0fb1e31c9b8b34ae71716c51a8e8
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M flang/examples/FeatureList/FeatureList.cpp
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Semantics/openmp-modifiers.h
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Lower/OpenMP/Clauses.h
    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/openmp-modifiers.cpp
    M flang/test/Parser/OpenMP/depobj-construct.f90
    M flang/test/Parser/OpenMP/taskloop.f90
    M flang/test/Semantics/OpenMP/depend05.f90
    M llvm/include/llvm/Frontend/OpenMP/ClauseT.h

  Log Message:
  -----------
  [flang][OpenMP] Use new modifiers in DEPEND/GRAINSIZE/NUM_TASKS (#117917)

The usual changes, added more references to OpenMP specs.


  Commit: a15400d05d23dd45a8ed583da857d1b02329eb40
      https://github.com/llvm/llvm-project/commit/a15400d05d23dd45a8ed583da857d1b02329eb40
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/double-intrinsics.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/float-intrinsics.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir

  Log Message:
  -----------
  [RISCV][GISel] Support f32/f64 ldexp. (#117941)

The existing libcall lowering in LegalizerHelper.cpp did not account
for one operand being integer. Reuse the G_FPOWI code to fix this.


  Commit: 0aa7892772a94b0395cb5a7fce077ab2348ecaa5
      https://github.com/llvm/llvm-project/commit/0aa7892772a94b0395cb5a7fce077ab2348ecaa5
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/test/AST/ast-print-openacc-combined-construct.cpp
    M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
    M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
    A clang/test/SemaOpenACC/combined-construct-tile-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-tile-clause.cpp

  Log Message:
  -----------
  [OpenACC] Implement 'tile' for combined constructs

Like collapse, this clause has only mild changes that need to be made.
Most of the associated work for the RAII container was already done
previously, so this is mostly just updating the diagnostics to properly
emit the right construct.


  Commit: 2c88ac9da9f842875592b232ba957da341e62ea5
      https://github.com/llvm/llvm-project/commit/2c88ac9da9f842875592b232ba957da341e62ea5
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    M llvm/test/CodeGen/DirectX/BufferStore.ll

  Log Message:
  -----------
  [DirectX] Clean up extra vectors when lowering to buffer store (#116721)

DXILOpLowering runs after scalarization but `@llvm.dx.typedbuffer.store`
takes a vector, so the argument is usually an artifact. Avoid creating a
vector just to extract elements from it immediately.


  Commit: 4226e0a0c75e5cfd784eff429f93101c03a1995c
      https://github.com/llvm/llvm-project/commit/4226e0a0c75e5cfd784eff429f93101c03a1995c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Transforms/Utils/UnrollLoop.h
    M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
    M llvm/lib/Transforms/Utils/LoopUnroll.cpp
    M llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
    M llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
    M llvm/unittests/Transforms/Utils/UnrollLoopTest.cpp

  Log Message:
  -----------
  [TTI] Add SCEVExpansionBudget to loop unrolling options. (#118316)

Add an extra know to UnrollingPreferences to let backends control the
maximum budget for SCEV expansions.

This gives backends more fine-grained control on the cost of the runtime
checks for runtime unrolling.

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


  Commit: a6ef0debb1d60966b5bcc69f7d58a2b75c9c621d
      https://github.com/llvm/llvm-project/commit/a6ef0debb1d60966b5bcc69f7d58a2b75c9c621d
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M libc/shared/rpc_opcodes.h
    M libc/src/__support/GPU/allocator.cpp
    M libc/src/__support/OSUtil/gpu/exit.cpp
    M libc/src/__support/OSUtil/gpu/io.cpp
    M libc/src/gpu/rpc_host_call.cpp
    M libc/src/stdio/gpu/clearerr.cpp
    M libc/src/stdio/gpu/fclose.cpp
    M libc/src/stdio/gpu/feof.cpp
    M libc/src/stdio/gpu/ferror.cpp
    M libc/src/stdio/gpu/fflush.cpp
    M libc/src/stdio/gpu/fgets.cpp
    M libc/src/stdio/gpu/file.h
    M libc/src/stdio/gpu/fopen.cpp
    M libc/src/stdio/gpu/fseek.cpp
    M libc/src/stdio/gpu/ftell.cpp
    M libc/src/stdio/gpu/puts.cpp
    M libc/src/stdio/gpu/remove.cpp
    M libc/src/stdio/gpu/rename.cpp
    M libc/src/stdio/gpu/ungetc.cpp
    M libc/src/stdio/gpu/vfprintf_utils.h
    M libc/src/stdlib/gpu/abort.cpp
    M libc/src/stdlib/gpu/system.cpp
    M libc/test/integration/startup/gpu/rpc_test.cpp
    M libc/utils/gpu/loader/Loader.h
    M libc/utils/gpu/server/rpc_server.cpp
    M offload/plugins-nextgen/common/src/RPC.cpp

  Log Message:
  -----------
  [libc][NFC] Rename RPC opcodes to better reflect their usage

Summary:
RPC_ is a generic prefix here, use LIBC_ to indicate that these are
opcodes used to implement the C library


  Commit: 56cb5cbfcdc09499d366046d6ea2ea6655fc11ef
      https://github.com/llvm/llvm-project/commit/56cb5cbfcdc09499d366046d6ea2ea6655fc11ef
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-changes-length.ll

  Log Message:
  -----------
  [RISCV] Remove RISCVISD::VNSRL_VL and adjust deinterleave lowering to match (#118391)

Instead of directly lowering to vnsrl_vl and having custom pattern
matching for that case, we can just lower to a (legal) shift and
truncate, and let generic pattern matching produce the vnsrl.

The major motivation for this is that I'm going to reuse this logic to
handle e.g. deinterleave4 w/ i8 result.

The test changes aren't particularly interesting. They're minor code
improvements - I think because we do slightly better with the
insert_subvector patterns, but that's mostly irrelevant.


  Commit: c906907d871d840b176cd0101863b7be3f33dee9
      https://github.com/llvm/llvm-project/commit/c906907d871d840b176cd0101863b7be3f33dee9
  Author: Brian Cain <bcain at quicinc.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M compiler-rt/cmake/caches/hexagon-linux-clangrt.cmake

  Log Message:
  -----------
  [hexagon][cmake] Disable ctx_profile (#117965)

Since #105495, we will build sanitizer_common when
COMPILER_RT_BUILD_CTX_PROFILE is set. But we have outstanding failures
when building sanitizer_common, so for now we'll disable ctx_profile
too.


  Commit: 92f5314706319a2a654a914c54ba6e73563fa906
      https://github.com/llvm/llvm-project/commit/92f5314706319a2a654a914c54ba6e73563fa906
  Author: Alan Phipps <a-phipps at ti.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    R llvm/test/tools/llvm-cov/branch-export-lcov-unify-instances.test
    M llvm/test/tools/llvm-cov/branch-export-lcov.test
    M llvm/tools/llvm-cov/CodeCoverage.cpp
    M llvm/tools/llvm-cov/CoverageExporterLcov.cpp
    M llvm/tools/llvm-cov/CoverageViewOptions.h

  Log Message:
  -----------
  Revert "[llvm-cov] Fix branch counts of template functions (#111743)" (#118398)

Reverts llvm/llvm-project#113925

Reverting to address buildbot failures.


  Commit: 1250a1db1a378736afda389c94d2846d7a254576
      https://github.com/llvm/llvm-project/commit/1250a1db1a378736afda389c94d2846d7a254576
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M lldb/source/Commands/CommandObjectDWIMPrint.cpp
    M lldb/test/API/commands/dwim-print/Makefile
    M lldb/test/API/commands/dwim-print/TestDWIMPrint.py
    R lldb/test/API/commands/dwim-print/main.c
    A lldb/test/API/commands/dwim-print/main.cpp

  Log Message:
  -----------
  [lldb] Update dwim-print to support limited variable expression paths (#117452)

`frame variable` supports nested variable access, which the API calls "variable
expression paths". This change updates `dwim-print` to support a subset of supported
variable expression paths.

Consider the expression `a->b`. In C++, the arrow operator can be overloaded, and where
that is the case, expression evaluation must be used to evaluate it, not frame variable.
Likewise, the subscript operator can be overloaded.

To avoid those cases, this change introduces a limited support for variable expression
paths. Use of the dot operator is allowed.

Additionally, this change allows `dwim-print` to directly access children of `this` and
`self` (see AllowDirectIVarAccess). This functionality is also provided by the same
`GetValueForVariableExpressionPath` method.

rdar://104348908


  Commit: bd92e46204331b9af296f53abb708317e72ab7a8
      https://github.com/llvm/llvm-project/commit/bd92e46204331b9af296f53abb708317e72ab7a8
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/AST/Type.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
    M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-elementtype.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-subscript.hlsl
    M clang/test/CodeGenHLSL/builtins/RWStructuredBuffer-elementtype.hlsl
    M clang/test/CodeGenHLSL/builtins/RasterizerOrderedStructuredBuffer-elementtype.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffer-elementtype.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-lib.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-ps.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffers-subscripts.hlsl
    M clang/test/CodeGenHLSL/builtins/hlsl_resource_t.hlsl
    M clang/test/CodeGenHLSL/implicit-norecurse-attrib.hlsl
    A clang/test/SemaHLSL/BuiltIns/resource_getpointer-errors.hlsl
    M llvm/include/llvm/IR/IntrinsicsDirectX.td

  Log Message:
  -----------
  [HLSL] Implement RWBuffer::operator[] via __builtin_hlsl_resource_getpointer (#117017)

This introduces `__builtin_hlsl_resource_getpointer`, which lowers to
`llvm.dx.resource.getpointer` and is used to implement indexing into
resources.

This will only work through the backend for typed buffers at this point,
but the changes to structured buffers should be correct as far as the
frontend is concerned.

Note: We probably want this to return a reference in the HLSL device
address space, but for now we're just using address space 0. Creating a
device address space and updating this code can be done later as
necessary.

Fixes #95956


  Commit: 0c98776159cea0d1f391a8e1ac290483d4490240
      https://github.com/llvm/llvm-project/commit/0c98776159cea0d1f391a8e1ac290483d4490240
  Author: llvmssh <shaosenhao at huawei.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Object/RecordStreamer.h

  Log Message:
  -----------
  Use MapVector to fix lld thinLTO "nondeterminism" issue. (#117551)

When the ModuleSymbolTable is generated, the binary consistency problem occurs due to the
data structure for collecting asm symbols was ordered by memory pointers.


  Commit: b8daa45a566b15d929a812d85f3f1ff8c868c889
      https://github.com/llvm/llvm-project/commit/b8daa45a566b15d929a812d85f3f1ff8c868c889
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/llvm-libc-macros/time-macros.h
    M libc/newhdrgen/yaml/time.yaml
    M libc/spec/stdc.td
    M libc/src/time/CMakeLists.txt
    A libc/src/time/baremetal/CMakeLists.txt
    A libc/src/time/baremetal/timespec_get.cpp
    M libc/src/time/gpu/CMakeLists.txt
    A libc/src/time/gpu/timespec_get.cpp
    M libc/src/time/linux/CMakeLists.txt
    A libc/src/time/linux/timespec_get.cpp
    A libc/src/time/timespec_get.h
    M libc/test/src/time/CMakeLists.txt
    A libc/test/src/time/timespec_get_test.cpp

  Log Message:
  -----------
  [libc] Implement `timespec_get` (#116102)

`timespec_get` is C standard counterpart to POSIX `clock_gettime`. On
Linux we simply use `clock_gettime`. On baremetal we introduce a new
external API `__llvm_libc_timespec_get_utc` that should be implemented
by the vendor.


  Commit: 33faa8285f3dc5ca10e35770b288770b4bbc2bc1
      https://github.com/llvm/llvm-project/commit/33faa8285f3dc5ca10e35770b288770b4bbc2bc1
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-12-02 (Mon, 02 Dec 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/include/flang/Semantics/openmp-modifiers.h
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Parser/CMakeLists.txt
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/openmp-modifiers.cpp
    M flang/test/Parser/OpenMP/if-clause-unparse.f90
    M flang/test/Parser/OpenMP/if-clause.f90
    M flang/test/Parser/OpenMP/lastprivate-clause.f90
    M flang/test/Semantics/OpenMP/clause-validity01.f90
    M flang/test/Semantics/OpenMP/if-clause.f90

  Log Message:
  -----------
  [flang][OpenMP] Use new modifiers in IF/LASTPRIVATE (#118128)

The usual changes, added more references to OpenMP specs.


  Commit: da5f330e84d74aeacdbb801c46282b9eebec6793
      https://github.com/llvm/llvm-project/commit/da5f330e84d74aeacdbb801c46282b9eebec6793
  Author: Niels Dekker <N.Dekker at lumc.nl>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.h
    M clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst

  Log Message:
  -----------
  [clang-tidy] Adjust size-empty doc because C++11 size() is constant-time (#117629)

>From C++11, a conforming `size()` method is guaranteed to be a
constant-time function. `empty()` is not _generally_ more efficient than
`size()`. It might even be implemented in terms of `size()`.

----

Notes:
- Microsoft's STL had implemented `empty()` as `return size() == 0`,
until May 2021: https://github.com/microsoft/STL/pull/1836/files
- The time complexity of `size()` (specifically for `std::set`) was
discussed by the library working group in 2007-2009:
https://cplusplus.github.io/LWG/issue632


  Commit: 5f881b7139bba1b8cd5c09ea021c78b92d1e72c9
      https://github.com/llvm/llvm-project/commit/5f881b7139bba1b8cd5c09ea021c78b92d1e72c9
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/CMakeLists.txt

  Log Message:
  -----------
  [libc] Deprecate LLVM_ENABLE_PROJECTS in favor of LLVM_ENABLE_RUNTIMES. (#117265)

We plan to make this a hard error in the LLVM 21 release.

Link: #78479


  Commit: 867a1d621d1c6146dc29fa6b471407327d8f1bff
      https://github.com/llvm/llvm-project/commit/867a1d621d1c6146dc29fa6b471407327d8f1bff
  Author: Dimitry Andric <dimitry at andric.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp

  Log Message:
  -----------
  [sanitizer_common] mark __elf_aux_vector as weak on FreeBSD (#118110)

At some point FreeBSD introduced libsys as a wrapper between syscalls
and libc, and then linking sanitized programs started failing with:

```text
  # c++ -fsanitize=address main.cc
  ld: error: undefined symbol: __elf_aux_vector
  >>> referenced by sanitizer_linux_libcdep.cpp:950 (/usr/src/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp:950)
  >>>               sanitizer_linux_libcdep.o:(__sanitizer::ReExec()) in archive /usr/lib/clang/17/lib/freebsd/libclang_rt.asan-x86_64.a
  c++: error: linker command failed with exit code 1 (use -v to see invocation)
```

Mark `__elf_aux_vector` as weak in the internal sanitizer declaration,
so the linker will accept it at link time. The dynamic linker will then
take care of the symbol at run time.


  Commit: fdc7ccf5432f72e6c87a78625bb55f8d4ceaea16
      https://github.com/llvm/llvm-project/commit/fdc7ccf5432f72e6c87a78625bb55f8d4ceaea16
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-ilp32-ilp32f-ilp32d-common.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-lp64-lp64f-lp64d-common.ll

  Log Message:
  -----------
  [RISCV][GISel] Allow fp128 function arguments.

Add more testing for large arguments.


  Commit: f500ed5646bef11b9daa74ee79188af0de6ab0be
      https://github.com/llvm/llvm-project/commit/f500ed5646bef11b9daa74ee79188af0de6ab0be
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

  Log Message:
  -----------
  [RISCV][VLOPT] Add separate tests for getOperandInfo. NFC (#116170)

This adds separate tests for getOperandInfo to try and get better
coverage over all the possible operands.

It's done in MIR as it makes checking incompatible EEWs and EMULs
easier, which is difficult (but not impossible) to do in LLVM IR.

It tests each instruction "format", e.g. vop.vv/vwop.vv/vwop.wv etc.,
and for each format it tests the individual operands.

For each operand it tests when the EEW and EMUL match, when the EEW
doesn't match, and when the EMUL doesn't match.


  Commit: 7267c85959aa2490e2950f7fb817a76af7e94043
      https://github.com/llvm/llvm-project/commit/7267c85959aa2490e2950f7fb817a76af7e94043
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    R mlir/include/mlir/Dialect/Func/Transforms/DecomposeCallGraphTypes.h
    M mlir/lib/Dialect/Func/Transforms/CMakeLists.txt
    R mlir/lib/Dialect/Func/Transforms/DecomposeCallGraphTypes.cpp
    M mlir/lib/Dialect/Func/Transforms/FuncConversions.cpp
    M mlir/test/lib/Dialect/Func/TestDecomposeCallGraphTypes.cpp

  Log Message:
  -----------
  [mlir][Func] Delete `DecomposeCallGraphTypes.cpp` (#117424)

`DecomposeCallGraphTypes.cpp` was a workaround around missing 1:N
support in the dialect conversion. Now that 1:N support was added, the
workaround can be deleted. The test remains in place, as an example for
how to write such a transformation with the dialect conversion
framework.

Note for LLVM integration: If you are using
`DecomposeCallGraphTypes.cpp`, switch to the patterns that are used in
`TestDecomposeCallGraphTypes.cpp`.


  Commit: 6faf17b7626bfdeea977a7a333c6e20ed677615d
      https://github.com/llvm/llvm-project/commit/6faf17b7626bfdeea977a7a333c6e20ed677615d
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/IR/ModuleSummaryIndex.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/test/ThinLTO/X86/import_callee_declaration.ll

  Log Message:
  -----------
  [ThinLTO]Supports declaration import for global variables in distributed ThinLTO (#117616)

When `-import-declaration` option is enabled, declaration import is
supported for functions. https://github.com/llvm/llvm-project/pull/88024
has the context for this option.

This patch supports declaration import for global variables in
distributed ThinLTO. The motivating use case is to propagate `dso_local`
attribute of global variables across modules, to optimize global
variable access when a binary is built with
`-fno-direct-access-external-data`.
* With `-fdirect-access-external-data`, non thread-local global
variables will [have `dso_local`
attributes](https://github.com/llvm/llvm-project/blob/fe3c23b439b9a2d00442d9bc6a4ca86f73066a3d/clang/lib/CodeGen/CodeGenModule.cpp#L1730-L1746).
This optimizes the global variable access as shown by
https://gcc.godbolt.org/z/vMzWcKdh3


  Commit: b2dd4fabacd72d650a15116f361b1aa0020e2368
      https://github.com/llvm/llvm-project/commit/b2dd4fabacd72d650a15116f361b1aa0020e2368
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/test/ThinLTO/X86/distributed_indexes.ll

  Log Message:
  -----------
  [NFC]Update a ThinLTO test case (#117584)

Run `function-import` pass in a similar way that it runs in a ThinLTO
distributed backend compile and checks that function alias is imported
as a definition. More accurately, the function alias
[is](https://github.com/llvm/llvm-project/blob/0c98776159cea0d1f391a8e1ac290483d4490240/llvm/lib/Transforms/IPO/FunctionImport.cpp#L1912)
a
[clone](https://github.com/llvm/llvm-project/blob/0c98776159cea0d1f391a8e1ac290483d4490240/llvm/lib/Transforms/IPO/FunctionImport.cpp#L1782)
of the aliasee function.


  Commit: b80a157d12ebeebb85fa0a1e53beb5b46dc16d36
      https://github.com/llvm/llvm-project/commit/b80a157d12ebeebb85fa0a1e53beb5b46dc16d36
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    A llvm/test/CodeGen/AMDGPU/v_ashr_pk.ll

  Log Message:
  -----------
  AMDGPU: Add codegen support for gfx950 v_ashr_pk_i8/u8_i32 (#118304)

Co-authored-by: Sirish Pande <Sirish.Pande at amd.com>


  Commit: 0a96161beb161933e64e188bfb0754df494c3a58
      https://github.com/llvm/llvm-project/commit/0a96161beb161933e64e188bfb0754df494c3a58
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M lldb/include/lldb/DataFormatters/DumpValueObjectOptions.h
    M lldb/source/DataFormatters/DumpValueObjectOptions.cpp
    M lldb/source/DataFormatters/ValueObjectPrinter.cpp
    M lldb/source/Interpreter/OptionGroupValueObjectDisplay.cpp

  Log Message:
  -----------
  [lldb] Simplify DumpValueObjectOptions::PointerDepth (NFC) (#117504)

`Mode::Always` and `Mode::Default` are handled identically.
`Mode::Never` is the same as having a count of 0.


  Commit: 897dbdeab7e86248183f2e20cb1ae35e59551f62
      https://github.com/llvm/llvm-project/commit/897dbdeab7e86248183f2e20cb1ae35e59551f62
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

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

  Log Message:
  -----------
  [gn] port 51003076ebc1


  Commit: a2cb2088e766eaadfd6d573d379d5c692262e24f
      https://github.com/llvm/llvm-project/commit/a2cb2088e766eaadfd6d573d379d5c692262e24f
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave.ll

  Log Message:
  -----------
  [RISCV] Fix a typo in a deinterleave test

This was supposed to test a deinterleave Factor=4, Offset=1, but had an
off by one in the shuffle mask.


  Commit: f71ea4bc1b01fd7e29048db82b3e21fba74e8dab
      https://github.com/llvm/llvm-project/commit/f71ea4bc1b01fd7e29048db82b3e21fba74e8dab
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

  Log Message:
  -----------
  [SLP][REVEC] reorderNodeWithReuses should not be called if all users of a TreeEntry are ShuffleVectorInst. (#118260)


  Commit: c3536b263f253a69fb336fb0617ee33a01a5c5dd
      https://github.com/llvm/llvm-project/commit/c3536b263f253a69fb336fb0617ee33a01a5c5dd
  Author: Dan Gohman <dev at sunfishcode.online>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Basic/Targets/WebAssembly.cpp
    M clang/lib/Basic/Targets/WebAssembly.h
    M lld/test/wasm/compress-relocs.ll
    M lld/test/wasm/import-table-explicit.s
    M lld/test/wasm/invalid-mvp-table-use.s
    M lld/test/wasm/lto/Inputs/libcall-archive.ll
    M lld/test/wasm/lto/libcall-archive.ll
    M lld/test/wasm/lto/stub-library-libcall.s
    M lld/test/wasm/multi-table.s
    M lld/wasm/InputFiles.cpp
    M lld/wasm/SyntheticSections.cpp
    M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
    M llvm/lib/Target/WebAssembly/WebAssembly.td
    M llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrBulkMemory.td
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
    M llvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h
    M llvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp
    M llvm/test/CodeGen/WebAssembly/call-indirect.ll
    M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh-legacy.ll
    M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh.ll
    M llvm/test/CodeGen/WebAssembly/disable-feature.ll
    M llvm/test/CodeGen/WebAssembly/function-pointer64.ll
    M llvm/test/CodeGen/WebAssembly/reference-types.ll
    M llvm/test/CodeGen/WebAssembly/target-features-attrs.ll
    M llvm/test/CodeGen/WebAssembly/target-features-cpus.ll
    M llvm/test/CodeGen/WebAssembly/target-features-tls.ll
    M llvm/test/MC/WebAssembly/extern-functype-intrinsic.ll
    M llvm/test/MC/WebAssembly/function-alias.ll
    M llvm/test/MC/WebAssembly/libcall.ll

  Log Message:
  -----------
  [WebAssembly] Define call-indirect-overlong and bulk-memory-opt features (#117087)

This defines some new target features. These are subsets of existing
features that reflect implementation concerns:

- "call-indirect-overlong" - implied by "reference-types"; just the
overlong encoding for the `call_indirect` immediate, and not the actual
reference types.

- "bulk-memory-opt" - implied by "bulk-memory": just `memory.copy` and
`memory.fill`, and not the other instructions in the bulk-memory
proposal.

This is split out from https://github.com/llvm/llvm-project/pull/112035.

---------

Co-authored-by: Heejin Ahn <aheejin at gmail.com>


  Commit: 7907292daa781aaba2be531a8599998f5fd3f645
      https://github.com/llvm/llvm-project/commit/7907292daa781aaba2be531a8599998f5fd3f645
  Author: fengfeng <153487255+fengfeng09 at users.noreply.github.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    A llvm/test/CodeGen/AArch64/apply-disjoint-flag-in-dagcombine.ll

  Log Message:
  -----------
  [DAG] Apply Disjoint flag. (#118045)

or disjoint (or disjoint (x, c0), c1)
-->
or disjont x, or (c0, c1)
Alive2: https://alive2.llvm.org/ce/z/3wPth5

---------

Signed-off-by: feng.feng <feng.feng at iluvatar.com>


  Commit: 814ed93e48db4d95965258e64e8580056828a264
      https://github.com/llvm/llvm-project/commit/814ed93e48db4d95965258e64e8580056828a264
  Author: c8ef <c8ef at outlook.com>
  Date:   2024-12-03 (Tue, 03 Dec 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/CodeGen/builtins-elementwise-math.c
    M clang/test/Sema/constant_builtins_vector.cpp

  Log Message:
  -----------
  [clang] constexpr built-in elementwise bitreverse function. (#118177)

Part of #51787.

This patch adds constexpr support for the built-in elementwise
bitreverse function.


  Commit: 1724188c19f363c877fcf1bca86d92af3864b338
      https://github.com/llvm/llvm-project/commit/1724188c19f363c877fcf1bca86d92af3864b338
  Author: Igor Kudrin <ikudrin at accesssoftek.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/ObjectYAML/ELFEmitter.cpp
    M llvm/test/tools/yaml2obj/ELF/note-section.yaml

  Log Message:
  -----------
  [ObjectYAML][ELF] Take alignment into account when generating notes (#118157)

The [System V ABI](https://www.sco.com/developers/gabi/latest/ch5.pheader.html#note_section)
states that the note entries and their descriptor fields must be aligned
to 4 or 8 bytes for 32-bit or 64-bit objects respectively. In practice,
64-bit systems can use both alignments, with the actual format being
determined by the alignment of the segment. For example, the
[Linux gABI extension](https://github.com/hjl-tools/linux-abi/wiki/linux-abi-draft.pdf)
contains a special note on this, see 2.1.7 "Alignment of Note Sections".

This patch adjusts the format of the generated notes to the specified
section alignment. Since `llvm-readobj` was fixed in a similar way in
[D150022](https://reviews.llvm.org/D150022), "[Object] Fix handling of
Elf_Nhdr with sh_addralign=8", the generated notes can now be parsed
successfully by the tool.


  Commit: fb140125ac679c33c2c663062c6409e09fc885b9
      https://github.com/llvm/llvm-project/commit/fb140125ac679c33c2c663062c6409e09fc885b9
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

  Log Message:
  -----------
  [ORC] Fix typo in comment. NFC.


  Commit: 9ea993f975b045679907a0789d6fd4d7180593a0
      https://github.com/llvm/llvm-project/commit/9ea993f975b045679907a0789d6fd4d7180593a0
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/SemaCXX/lambda-capture-type-deduction.cpp

  Log Message:
  -----------
  [Clang] Recover GLTemplateParameterList for generic lambdas in RebuildLambdaScopeInfo (#118176)

The NTTP argument appearing inside a trailing return type of a generic
lambda would have us check for potential lambda captures, where the
function needs GLTemplateParameterList of the current LSI to tell
whether the lambda is generic.

The lambda scope in this context is rebuilt by the
LambdaScopeForCallOperatorInstantiationRAII when substituting the lambda
operator during template argument deduction. Thus, I think the template
parameter list should be preserved in the rebuilding process, as it
seems otherwise innocuous to me.

Fixes #115931


  Commit: eb3f1aec6eff08ce1c76259bb0801f6457a55400
      https://github.com/llvm/llvm-project/commit/eb3f1aec6eff08ce1c76259bb0801f6457a55400
  Author: LiqinWeng <liqin.weng at spacemit.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/fp-min-max-abs.ll
    M llvm/test/Analysis/CostModel/RISCV/fp-sqrt-pow.ll
    M llvm/test/Analysis/CostModel/RISCV/int-bit-manip.ll
    M llvm/test/Analysis/CostModel/RISCV/int-sat-math.ll

  Log Message:
  -----------
  [TTI][RISCV] Implement cost of some intrinsics with LMUL (#117874)

Intrinsics include:
sadd_sat/ssub_sat/uadd_sat/usub_sat/fabs/fsqrt/cttz/ctlz/ctpop


  Commit: 95979717e1122d4bb473efef2447ae92c24c9381
      https://github.com/llvm/llvm-project/commit/95979717e1122d4bb473efef2447ae92c24c9381
  Author: Igor Kudrin <ikudrin at accesssoftek.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/ObjectYAML/ELFEmitter.cpp
    M llvm/test/tools/yaml2obj/ELF/note-section.yaml

  Log Message:
  -----------
  Revert "[ObjectYAML][ELF] Take alignment into account when generating notes (#118157)"

This reverts commit 1724188c19f363c877fcf1bca86d92af3864b338.

Some build bots reported a failure in the updated test


  Commit: fc9052ee258e35c5aaba3dc2c1419870975f3a7a
      https://github.com/llvm/llvm-project/commit/fc9052ee258e35c5aaba3dc2c1419870975f3a7a
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [clang][bytecode] Check __builtin_memcpy for null pointers (#118313)


  Commit: 2af2634c64b1c6f34c4905b24863b930effe3b9c
      https://github.com/llvm/llvm-project/commit/2af2634c64b1c6f34c4905b24863b930effe3b9c
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll

  Log Message:
  -----------
  [RISCV] Use vcompress in deinterleave2 intrinsic lowering (#118325)

This is analogous to febbf91 which added shuffle lowering using
vcompress; we can do the same thing in the deinterleave2 lowering path
which is used for scalable vectors.

Note that we can further improve this for high lmul usage by adjusting
how we materialize the mask (whose result is at most m1 with a known bit
pattern). I am deliberately staging the work so that the changes to
reduce register pressure are more easily evaluated on their own merit.


  Commit: 2f5bfb41e2e0c4178627a3492beed35f8143ce2f
      https://github.com/llvm/llvm-project/commit/2f5bfb41e2e0c4178627a3492beed35f8143ce2f
  Author: hstk30-hw <hanwei62 at huawei.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/test/tools/llvm-objdump/ELF/AArch64/mattr.s
    M llvm/tools/llvm-objdump/llvm-objdump.cpp

  Log Message:
  -----------
  [llvm-objdump] Default to --mattr=+all for AArch64be and AArch64_32 (#118311)

GNU objdump disassembles all unknown instructions by default. 
Complement for [D128030](https://reviews.llvm.org/D128030)。


  Commit: 877b934831d491e4388b82794cded417b1b11862
      https://github.com/llvm/llvm-project/commit/877b934831d491e4388b82794cded417b1b11862
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

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

  Log Message:
  -----------
  [CompilerRT] Remove sanitizer support for i386 watchsim (#117013)

This patch removes remaining support for i386 simulators, watch was the
only one left though.

resolves: rdar://102741146


  Commit: 295d6b18f77fc67c186c031204a82ff82cf59daa
      https://github.com/llvm/llvm-project/commit/295d6b18f77fc67c186c031204a82ff82cf59daa
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
    M llvm/test/Transforms/InstCombine/lshr.ll

  Log Message:
  -----------
  [InstCombine] Fold `(X * (Y << K)) u>> K -> X * Y` when highbits are not demanded (#111151)

Alive2: https://alive2.llvm.org/ce/z/Z7QgjH


  Commit: 6ef4990daa1da215b25b1802f5d03cf1044f72bf
      https://github.com/llvm/llvm-project/commit/6ef4990daa1da215b25b1802f5d03cf1044f72bf
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/Core.cpp
    M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp

  Log Message:
  -----------
  Re-apply "[ORC] Track all dependencies on symbols that aren't..." with fixes.

This reapplies 427fb5cc5ac, which was reverted in 08c1a6b3e18 due to bot
failures.

The fix was to remove an incorrect assertion: In IL_emit, during the initial
worklist loop, an EDU can have all of its dependencies removed without becoming
ready (because it may still have implicit dependencies that will be added back
during the subsequent propagateExtraEmitDeps operation). The EDU will be marked
Ready at the end of IL_emit if its Dependencies set is empty at that point.
Prior to that we can only assert that it's either Emitted or Ready (which is
already covered by other assertions).


  Commit: aba6bb0820b247d4caf4b5e00810909214a58053
      https://github.com/llvm/llvm-project/commit/aba6bb0820b247d4caf4b5e00810909214a58053
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
    M llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp

  Log Message:
  -----------
  [ORC][JITLink] Add jitlink::Scope::SideEffectsOnly, use it in ORC Platforms.

SideEffectsOnly is a new jitlink::Scope value that corresponds to the
JITSymbolFlags::MaterializationSideEffectsOnly flag: Symbols with this scope
can be looked up (and form part of the initial interface of a LinkGraph) but
never actually resolve to an address (so can only be looked up with a
WeaklyReferencedSymbol lookup).

Previously ObjectLinkingLayer implicitly treated JITLink symbols as having this
scope, regardless of a Symbol's actual scope, if the
MaterializationSideEffectsOnly flag was set on the corresponding symbol in the
MaterializationResponsibility object. Using an explicit scope in JITLink for
this (1) allows JITLink plugins to identify and correctly handle
side-effects-only symbols, and (2) allows raw LinkGraphs to define
side-effects-only symbols without clients having to manually modify their
`MaterializationUnit::Interface`.


  Commit: 28e2a8912102ac442166a593f2efb15c5bd30346
      https://github.com/llvm/llvm-project/commit/28e2a8912102ac442166a593f2efb15c5bd30346
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
    M llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp

  Log Message:
  -----------
  Revert "[ORC][JITLink] Add jitlink::Scope::SideEffectsOnly, use it in ORC Platforms."

This reverts commit aba6bb0820b247d4caf4b5e00810909214a58053 while I investigate bot
failures (e.g. https://lab.llvm.org/buildbot/#/builders/143/builds/3848)


  Commit: dac9736d05f51b47633b51d599a07ff8d1d65df3
      https://github.com/llvm/llvm-project/commit/dac9736d05f51b47633b51d599a07ff8d1d65df3
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

  Log Message:
  -----------
  [clang][bytecode][NFC] Diagnose no-constexpr memcpy/strlen versions (#118429)


  Commit: de415fbb450d0e15c535f0ccc135e2368a15bf6f
      https://github.com/llvm/llvm-project/commit/de415fbb450d0e15c535f0ccc135e2368a15bf6f
  Author: Rajat Bajpai <rbajpai at nvidia.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/test/Transforms/InstCombine/fcmp-fadd-select.ll
    M llvm/test/Transforms/InstCombine/fcmp-select.ll
    M llvm/test/Transforms/InstCombine/fneg.ll
    M llvm/test/Transforms/InstCombine/minmax-fp.ll
    M llvm/test/Transforms/InstCombine/unordered-fcmp-select.ll

  Log Message:
  -----------
  [InstCombine][FP] Fix nnan preservation for transform fcmp + sel => fmax/fmin (#117977)

Preserve `nnan` constraint only if present on both `fcmp` and `select`.

Alive2: https://alive2.llvm.org/ce/z/ZNDjzt


  Commit: 45162635bf657eb0a6cdebc6398fada974981c64
      https://github.com/llvm/llvm-project/commit/45162635bf657eb0a6cdebc6398fada974981c64
  Author: Thorsten Schütt <schuett at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-cast.mir
    M llvm/test/CodeGen/AArch64/extract-vector-elt.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-amdgpu-cvt-f32-ubyte.mir
    M llvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll

  Log Message:
  -----------
  [GlobalISel] Combine [s,z]ext of undef into 0 (#117439)

Alternative for https://github.com/llvm/llvm-project/pull/113764

It builds on a minimalistic approach with the legality check in match
and a blind apply. The precise patterns are used for better compile-time
and modularity. It also moves the pattern check into combiner. While
unary_undef_to_zero and propagate_undef_any_op rely on custom C++ code
for pattern matching.

Is there a limit on the number of patterns?

G_ANYEXT of undef -> undef
G_SEXT of undef -> 0
G_ZEXT of undef -> 0

The combine is not a member of the post legalizer combiner for AArch64.

Test:
llvm/test/CodeGen/AArch64/GlobalISel/combine-cast.mir


  Commit: 789551362e20c1adf1f292a256b7276c2045d4e1
      https://github.com/llvm/llvm-project/commit/789551362e20c1adf1f292a256b7276c2045d4e1
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [clang][bytecode] Handle memmove like memcpy (#118431)

This is the same thing for us, except for diagnostic differences.


  Commit: e776484a02194986028424ef5a5a782de0a681c2
      https://github.com/llvm/llvm-project/commit/e776484a02194986028424ef5a5a782de0a681c2
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Support/InstructionCost.h

  Log Message:
  -----------
  [InstructionCost] Optimize operator==

`!(*this < RHS) && !(RHS < *this)` is difficult for the optimizer to
reason about.


  Commit: 83cbb170449b17aa3e1ada514c94d9e9b4f0fca6
      https://github.com/llvm/llvm-project/commit/83cbb170449b17aa3e1ada514c94d9e9b4f0fca6
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

  Log Message:
  -----------
  [AMDGPU] Refine AMDGPUAtomicOptimizerImpl class. NFC. (#118302)

Use references instead of pointers for most state and common up some of
the initialization between the legacy and new pass manager paths.


  Commit: 9692242f51eda6a8c33860d2879ffa291a27e3ca
      https://github.com/llvm/llvm-project/commit/9692242f51eda6a8c33860d2879ffa291a27e3ca
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/double-convert.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/float-convert.ll

  Log Message:
  -----------
  [RISCV][GISel] Support f64->f32 fptrunc and f32->f64 fpext without D extension.

Add RUN lines to float-convert.ll and double-convert.ll without F
extension.


  Commit: d09707070c7460d0887eae8f7022e816510d5eb1
      https://github.com/llvm/llvm-project/commit/d09707070c7460d0887eae8f7022e816510d5eb1
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
    M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp
    M llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.cpp
    M llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp

  Log Message:
  -----------
  Re-apply "[ORC][JITLink] Add jitlink::Scope::SideEffectsOnly" with fixes.

This reapplies aba6bb0820b, which was reverted in 28e2a891210 due to bot
failures. It contains fixes to silence warnings for uncovered switches,
and for incorrect initializer-symbol handling on ELF and COFF.


  Commit: c1ad064dd3b9a1bf503bb8cd6d0d0418a05d10e8
      https://github.com/llvm/llvm-project/commit/c1ad064dd3b9a1bf503bb8cd6d0d0418a05d10e8
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/icmp-binop.ll
    M llvm/test/Transforms/InstCombine/icmp.ll
    M llvm/test/Transforms/InstCombine/pr17827.ll

  Log Message:
  -----------
  [InstCombine] Fold `icmp spred (and X, highmask), C1` into `icmp spred X, C2` (#118197)

Alive2: https://alive2.llvm.org/ce/z/Ffg64g
Closes https://github.com/llvm/llvm-project/issues/104772.


  Commit: 46446bb2d31a7e3b2f857613b190150d41734696
      https://github.com/llvm/llvm-project/commit/46446bb2d31a7e3b2f857613b190150d41734696
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

  Log Message:
  -----------
  [clang][bytecode][NFC] Diagnose non-constexpr builtin strcmp calls (#118442)


  Commit: e30d304d72ac9a70671268c50ee850c2f0c42ba3
      https://github.com/llvm/llvm-project/commit/e30d304d72ac9a70671268c50ee850c2f0c42ba3
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    A llvm/test/Transforms/MemCpyOpt/memset-memmove-redundant-memmove.ll

  Log Message:
  -----------
  [MemCpyOpt] Introduce test for PR101930 (NFC)


  Commit: 1d6ab189be031bf723abf35f772fbd5d4c86c612
      https://github.com/llvm/llvm-project/commit/1d6ab189be031bf723abf35f772fbd5d4c86c612
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Scalar/MemCpyOptimizer.h
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/test/Transforms/MemCpyOpt/memset-memmove-redundant-memmove.ll

  Log Message:
  -----------
  [MemCpyOpt] Drop dead `memmove` calls on `memset`'d source data

When a memmove happens to clobber source data, and such data have
been previously memset'd, the memmove may be redundant.


  Commit: 5b0f4f2cb040f472d41870ba99ae45fc1022188f
      https://github.com/llvm/llvm-project/commit/5b0f4f2cb040f472d41870ba99ae45fc1022188f
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    M llvm/test/Transforms/GVN/setjmp.ll

  Log Message:
  -----------
  [BasicAA] Treat returns_twice functions as clobbering unescaped objects (#117902)

Effectively this models all the accesses that occur between the first
and second return as happening at the point of the call.

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


  Commit: a871124f8709f6b5e837c6044ce7df056f52292a
      https://github.com/llvm/llvm-project/commit/a871124f8709f6b5e837c6044ce7df056f52292a
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    A flang/test/HLFIR/opt-bufferization-eval_in_mem.fir

  Log Message:
  -----------
  [flang][hlfir] optimize hlfir.eval_in_mem bufferization (#118069)

This patch extends the optimize bufferization to deal with the new
hlfir.eval_in_mem and move the evaluation contained in its body to
operate directly over the LHS when it can prove there are no access to
the LHS inside the region (and that the LHS is contiguous).

This will allow the array function call optimization when lowering is
changed to produce an hlfir.eval_in_mem in the next patch.


  Commit: cd7e65398fbbd9642573013800dc3ae1e7307f82
      https://github.com/llvm/llvm-project/commit/cd7e65398fbbd9642573013800dc3ae1e7307f82
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M flang/include/flang/Lower/ConvertCall.h
    M flang/include/flang/Optimizer/HLFIR/HLFIRDialect.h
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertExpr.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIRDialect.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/test/HLFIR/order_assignments/where-scheduling.f90
    A flang/test/Lower/HLFIR/calls-array-results.f90
    M flang/test/Lower/HLFIR/where-nonelemental.f90
    M flang/test/Lower/explicit-interface-results-2.f90
    M flang/test/Lower/explicit-interface-results.f90
    M flang/test/Lower/forall/array-constructor.f90

  Log Message:
  -----------
  [flang] optimize array function calls using hlfir.eval_in_mem (#118070)

This patch encapsulate array function call lowering into
hlfir.eval_in_mem and allows directly evaluating the call into the LHS
when possible.

The conditions are: LHS is contiguous, not accessed inside the function,
it is not a whole allocatable, and the function results needs not to be
finalized. All these conditions are tested in the previous hlfir.eval_in_mem
optimization (#118069) that is leveraging the extension of getModRef to
handle function calls(#117164).

This yields a 25% speed-up on polyhedron channel2 benchmark (from 1min
to 45s measured on an X86-64 Zen 2).


  Commit: fed3a9b8f81f5f4450e515f4499ecfda95804e95
      https://github.com/llvm/llvm-project/commit/fed3a9b8f81f5f4450e515f4499ecfda95804e95
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    A mlir/include/mlir/IR/VectorTypes.h
    M mlir/lib/Dialect/Arith/IR/ArithOps.cpp

  Log Message:
  -----------
  [mlir] Add ScalableVectorType and FixedVectorType (#87986)

This PR adds two small convenience Vector types:

  * `ScalableVectorType` and `FixedVectorType`.

The goal of these new types is two-fold:
  * Enable idiomatic checks like `isa<ScalableVectorType>(...)`.
  * Make the split into "Scalable" and "Fixed-wdith" vectors a bit more
    explicit and more visible in the code-base.


The new types are added in mlir/include/mlir/IR (instead of e.g.
mlir/include/mlir/Dialect/Vector) so that the new types can be used
without requiring any new dependency (e.g. on the Vector dialect).


  Commit: 59bb9b915ef9137709313190395da56364b92db6
      https://github.com/llvm/llvm-project/commit/59bb9b915ef9137709313190395da56364b92db6
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M lldb/include/lldb/API/SBAddressRangeList.h
    M lldb/include/lldb/API/SBFunction.h
    M lldb/include/lldb/Core/AddressRangeListImpl.h
    M lldb/include/lldb/Symbol/Function.h
    M lldb/source/API/SBFunction.cpp
    M lldb/source/Core/AddressRangeListImpl.cpp
    A lldb/test/Shell/ScriptInterpreter/Python/sb_function_ranges.s

  Log Message:
  -----------
  [lldb] Expose discontinuous functions through SBFunction::GetRanges (#117532)

SBFunction::GetEndAddress doesn't really make sense for discontinuous
functions, so I'm declaring it deprecated. GetStartAddress sort of makes
sense, if one uses it to find the functions entry point, so I'm keeping
that undeprecated.

I've made the test a Shell tests because these make it easier to create
discontinuous functions regardless of the host os and architecture. They
do make testing the python API harder, but I think I've managed to come
up with something not entirely unreasonable.


  Commit: 78e35e4c0eea6c2f8184f7b98e6a385e981512db
      https://github.com/llvm/llvm-project/commit/78e35e4c0eea6c2f8184f7b98e6a385e981512db
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

  Log Message:
  -----------
  [ValueTracking] Fix typo in `isKnownNegative` and `MaskedValueIsZero` NFC. (#118438)

Fix typos introduced by
https://github.com/llvm/llvm-project/commit/d9e8ae7d2f74fff629a8be10835677ce8039d452
and
https://github.com/llvm/llvm-project/commit/42b6c8ed3ae44ed61af5ba81bdaa5b81a9ce61ad.


  Commit: dd2b2b8bbbf4e917a84efe94cbeaaab2ed350fc9
      https://github.com/llvm/llvm-project/commit/dd2b2b8bbbf4e917a84efe94cbeaaab2ed350fc9
  Author: Adam Yang <hanbyang at microsoft.com>
  Date:   2024-12-03 (Tue, 03 Dec 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/GroupMemoryBarrierWithGroupSync.hlsl
    A clang/test/SemaHLSL/BuiltIns/GroupMemoryBarrierWithGroupSync-errors.hlsl

  Log Message:
  -----------
  [clang][HLSL] Add GroupMemoryBarrierWithGroupSync intrinsic (#111883)

partially fixes #70103 

### Changes
* Implemented `GroupMemoryBarrierWithGroupSync` clang builtin
* Linked `GroupMemoryBarrierWithGroupSync` clang builtin with
`hlsl_intrinsics.h`
* Added sema checks for `GroupMemoryBarrierWithGroupSync` to
`CheckHLSLBuiltinFunctionCall` in
`SemaChecking.cpp`
* Add codegen for `GroupMemoryBarrierWithGroupSync` to
`EmitHLSLBuiltinExpr` in `CGBuiltin.cpp`
* Add codegen tests to
`clang/test/CodeGenHLSL/builtins/GroupMemoryBarrierWithGroupSync.hlsl`
* Add sema tests to
`clang/test/SemaHLSL/BuiltIns/GroupMemoryBarrierWithGroupSync-errors.hlsl`

### Related PRs
* [[DXIL] Add GroupMemoryBarrierWithGroupSync intrinsic
#111884](https://github.com/llvm/llvm-project/pull/111884)
* [[SPIRV] Add GroupMemoryBarrierWithGroupSync intrinsic
#111888](https://github.com/llvm/llvm-project/pull/111888)


  Commit: 89a0ee89973c3d213c4bc11c26b41eab67e06da0
      https://github.com/llvm/llvm-project/commit/89a0ee89973c3d213c4bc11c26b41eab67e06da0
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [clang][bytecode] Handle __builtin_wcslen (#118446)

... just like strlen.


  Commit: ba14dac481564000339ba22ab867617590184f4c
      https://github.com/llvm/llvm-project/commit/ba14dac481564000339ba22ab867617590184f4c
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M lldb/include/lldb/Symbol/Function.h
    M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
    M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
    M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
    M lldb/source/Symbol/Function.cpp
    M lldb/test/Shell/SymbolFile/DWARF/x86/discontinuous-function.s
    M lldb/test/Shell/SymbolFile/PDB/function-nested-block.test

  Log Message:
  -----------
  [lldb] Use the function block as a source for function ranges (#117996)

This is a follow-up/reimplementation of #115730. While working on that
patch, I did not realize that the correct (discontinuous) set of ranges
is already stored in the block representing the whole function. The
catch -- ranges for this block are only set later, when parsing all of
the blocks of the function.

This patch changes that by populating the function block ranges eagerly
-- from within the Function constructor. This also necessitates a
corresponding change in all of the symbol files -- so that they stop
populating the ranges of that block. This allows us to avoid some
unnecessary work (not parsing the function DW_AT_ranges twice) and also
results in some simplification of the parsing code.


  Commit: 2526d5b1689389da9b194b5ec2878cfb2f4aca93
      https://github.com/llvm/llvm-project/commit/2526d5b1689389da9b194b5ec2878cfb2f4aca93
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M lldb/include/lldb/Symbol/Function.h
    M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
    M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
    M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
    M lldb/source/Symbol/Function.cpp
    M lldb/test/Shell/SymbolFile/DWARF/x86/discontinuous-function.s
    M lldb/test/Shell/SymbolFile/PDB/function-nested-block.test

  Log Message:
  -----------
  Revert "[lldb] Use the function block as a source for function ranges (#117996)"

This reverts commit ba14dac481564000339ba22ab867617590184f4c. I guess
"has no conflicts" doesn't mean "it will build".


  Commit: bfb26202e05ee2932b4368b5fca607df01e8247f
      https://github.com/llvm/llvm-project/commit/bfb26202e05ee2932b4368b5fca607df01e8247f
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/select-cmp.ll

  Log Message:
  -----------
  LV/test: clean up a test and regen with UTC (#118394)


  Commit: 4849d593ab07c47f9f520bea636f62d159d57006
      https://github.com/llvm/llvm-project/commit/4849d593ab07c47f9f520bea636f62d159d57006
  Author: Maksim Ivanov <emaxx at google.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaType.cpp
    M clang/test/SemaCXX/attr-lifetimebound.cpp

  Log Message:
  -----------
  [clang] Warn [[clang::lifetimebound]] misusages on types (#118281)

Emit the "cannot be applied to types" warning instead of silently
ignoring the attribute when it's attempted to be used on a type (instead
of a function argument or the function definition).

Before this commit, the warning has been printed when the attribute was
(mis)used on a decl-specifier, but not in other places in a declarator.

Examples where the warning starts being emitted with this commit:

```
  int * [[clang::lifetimebound]] x;

  void f(int * [[clang::lifetimebound]] x);

  void g(int * [[clang::lifetimebound]]);
```

Note that the last example is the case of an unnamed function parameter.
While in theory Clang could've supported the `[[clang::lifetimebound]]`
analysis for unnamed parameters, it doesn't currently, so the commit at
least makes the situation better by highlighting this as a warning
instead of a silent ignore - which was reported at #96034.


  Commit: 0f4dc4276f8dd5c5e33c22096612702ede3c81ed
      https://github.com/llvm/llvm-project/commit/0f4dc4276f8dd5c5e33c22096612702ede3c81ed
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [clang][bytecode] Initialize elements in __builtin_elementwise_popcount (#118457)


  Commit: 4dafb091a0336a6669e6369cb69ef1ea1b39578d
      https://github.com/llvm/llvm-project/commit/4dafb091a0336a6669e6369cb69ef1ea1b39578d
  Author: Julian Nagele <j.nagele at apple.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Config/abi-breaking.h.cmake

  Log Message:
  -----------
  Revert "Add symbol visibility macros to abi-breaking.h.cmake" (#118464)

Reverts llvm/llvm-project#110898

This change has caused a cyclic module dependency `fatal error: cyclic
dependency in module 'LLVM_Utils': LLVM_Utils ->
LLVM_Config_ABI_Breaking -> LLVM_Utils`. Reverting for now until we the
right fix.


  Commit: 7d7252590916bcd540c7bd4158b9d52af7a0d547
      https://github.com/llvm/llvm-project/commit/7d7252590916bcd540c7bd4158b9d52af7a0d547
  Author: Oliver Stannard <oliver.stannard at arm.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    A llvm/test/CodeGen/AArch64/stack-tagging-merge-past-memcpy.mir

  Log Message:
  -----------
  [AArch64] Fix STG instruction being moved past memcpy (#117191)

When merging STG instructions used for AArch64 stack tagging, we were
stopping on reaching a load or store instruction, but not calls, so it
was possible for an STG to be moved past a call to memcpy.
 
This test case (reduced from fuzzer-generated C code) was the result of
StackColoring merging allocas A and B into one stack slot, and
StackSafetyAnalysis proving that B does not need tagging, so we end up
with tagged and untagged objects in the same stack slot. The tagged
object (A) is live first, so it is important that it's memory is
restored to the background tag before it gets reused to hold B.


  Commit: 9c5a84b394518cb8087eb0b14e9b55244adb61e7
      https://github.com/llvm/llvm-project/commit/9c5a84b394518cb8087eb0b14e9b55244adb61e7
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

  Log Message:
  -----------
  [InstCombine] Support nusw in icmp of gep with base

Proof: https://alive2.llvm.org/ce/z/omnQXt


  Commit: bdc6faf775bc52b5225013312149dfba21f88aa2
      https://github.com/llvm/llvm-project/commit/bdc6faf775bc52b5225013312149dfba21f88aa2
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

  Log Message:
  -----------
  [InstCombine] Support nusw in icmp of two geps with same base

Proof: https://alive2.llvm.org/ce/z/BYNQ7s


  Commit: 3f39c5df08d4ca1e7f852908e9fb255db24538da
      https://github.com/llvm/llvm-project/commit/3f39c5df08d4ca1e7f852908e9fb255db24538da
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [clang][bytecode] Reject memcpy dummy pointers after null check (#118460)

To match the diagnostic output of the current interpreter.


  Commit: 51b74bb9f6457cbe53776a2a35296189c5db52f3
      https://github.com/llvm/llvm-project/commit/51b74bb9f6457cbe53776a2a35296189c5db52f3
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M lldb/include/lldb/Symbol/Function.h
    M lldb/source/API/SBFunction.cpp
    M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
    M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
    M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
    M lldb/source/Symbol/Function.cpp
    M lldb/test/Shell/ScriptInterpreter/Python/sb_function_ranges.s
    M lldb/test/Shell/SymbolFile/DWARF/x86/discontinuous-function.s
    M lldb/test/Shell/SymbolFile/PDB/function-nested-block.test

  Log Message:
  -----------
  Reapply "[lldb] Use the function block as a source for function ranges (#117996)"

This reverts commit 2526d5b1689389da9b194b5ec2878cfb2f4aca93, reapplying
ba14dac481564000339ba22ab867617590184f4c after fixing the conflict with
 #117532. The change is that Function::GetAddressRanges now recomputes
the returned value instead of returning the member. This means it now
returns a value instead of a reference type.


  Commit: 9a4c5a59d4ec0c582f56b221a64889c077f68376
      https://github.com/llvm/llvm-project/commit/9a4c5a59d4ec0c582f56b221a64889c077f68376
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp

  Log Message:
  -----------
  Revert "Re-apply [lldb] Do not use LC_FUNCTION_STARTS data to determine symbol size as symbols are created (#117079)"

This reverts commit ba668eb99c5dc37d3c5cf2775079562460fd7619.

Below test started failing again on x86_64 macOS CI. We're unsure
if this patch is the exact cause, but since this patch has broken
this test before, we speculatively revert it to see if it was indeed
the root cause.
```
FAIL: lldb-shell :: Unwind/trap_frame_sym_ctx.test (1692 of 2162)
******************** TEST 'lldb-shell :: Unwind/trap_frame_sym_ctx.test' FAILED ********************
Exit Code: 1

Command Output (stderr):
--
RUN: at line 7: /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/bin/clang --target=specify-a-target-or-use-a-_host-substitution --target=x86_64-apple-darwin22.6.0 -isysroot /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -fmodules-cache-path=/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/lldb-test-build.noindex/module-cache-clang/lldb-shell /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/llvm-project/lldb/test/Shell/Unwind/Inputs/call-asm.c /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/llvm-project/lldb/test/Shell/Unwind/Inputs/trap_frame_sym_ctx.s -o /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/tools/lldb/test/Shell/Unwind/Output/trap_frame_sym_ctx.test.tmp
+ /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/bin/clang --target=specify-a-target-or-use-a-_host-substitution --target=x86_64-apple-darwin22.6.0 -isysroot /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -fmodules-cache-path=/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/lldb-test-build.noindex/module-cache-clang/lldb-shell /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/llvm-project/lldb/test/Shell/Unwind/Inputs/call-asm.c /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/llvm-project/lldb/test/Shell/Unwind/Inputs/trap_frame_sym_ctx.s -o /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/tools/lldb/test/Shell/Unwind/Output/trap_frame_sym_ctx.test.tmp
clang: warning: argument unused during compilation: '-fmodules-cache-path=/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/lldb-test-build.noindex/module-cache-clang/lldb-shell' [-Wunused-command-line-argument]
RUN: at line 8: /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/bin/lldb --no-lldbinit -S /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/tools/lldb/test/Shell/lit-lldb-init-quiet /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/tools/lldb/test/Shell/Unwind/Output/trap_frame_sym_ctx.test.tmp -s /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/llvm-project/lldb/test/Shell/Unwind/trap_frame_sym_ctx.test -o exit | /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/bin/FileCheck /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/llvm-project/lldb/test/Shell/Unwind/trap_frame_sym_ctx.test
+ /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/bin/lldb --no-lldbinit -S /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/tools/lldb/test/Shell/lit-lldb-init-quiet /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/tools/lldb/test/Shell/Unwind/Output/trap_frame_sym_ctx.test.tmp -s /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/llvm-project/lldb/test/Shell/Unwind/trap_frame_sym_ctx.test -o exit
+ /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/bin/FileCheck /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/llvm-project/lldb/test/Shell/Unwind/trap_frame_sym_ctx.test
/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/llvm-project/lldb/test/Shell/Unwind/trap_frame_sym_ctx.test:21:10: error: CHECK: expected string not found in input
         ^
<stdin>:26:64: note: scanning from here
 frame #1: 0x0000000100003ee9 trap_frame_sym_ctx.test.tmp`tramp
                                                               ^
<stdin>:27:2: note: possible intended match here
 frame #2: 0x00007ff7bfeff6c0
 ^

Input file: <stdin>
Check file: /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/llvm-project/lldb/test/Shell/Unwind/trap_frame_sym_ctx.test

-dump-input=help explains the following input dump.

Input was:
<<<<<<
            .
            .
            .
           21:  0x100003ed1 <+0>: pushq %rbp
           22:  0x100003ed2 <+1>: movq %rsp, %rbp
           23: (lldb) thread backtrace -u
           24: * thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
           25:  * frame #0: 0x0000000100003ecc trap_frame_sym_ctx.test.tmp`bar
           26:  frame #1: 0x0000000100003ee9 trap_frame_sym_ctx.test.tmp`tramp
check:21'0                                                                    X error: no match found
           27:  frame #2: 0x00007ff7bfeff6c0
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:21'1      ?                             possible intended match
           28:  frame #3: 0x0000000100003ec6 trap_frame_sym_ctx.test.tmp`main + 22
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           29:  frame #4: 0x0000000100003ec6 trap_frame_sym_ctx.test.tmp`main + 22
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           30:  frame #5: 0x00007ff8193cc41f dyld`start + 1903
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           31: (lldb) exit
check:21'0     ~~~~~~~~~~~~
>>>>>>
```


  Commit: f4ce7e037828eaf3720c9169e94e85b7a106deba
      https://github.com/llvm/llvm-project/commit/f4ce7e037828eaf3720c9169e94e85b7a106deba
  Author: Jerry-Ge <jerry.ge at arm.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td

  Log Message:
  -----------
  [MLIR][TOSA] Update PowOp output name from z to output (#118407)

To match the latest specification:
https://www.mlplatform.org/tosa/tosa_spec.html#_pow

Signed-off-by: Jerry Ge <jerry.ge at arm.com>


  Commit: 356df2dd72e8299b5de58e9390283110c19f7c76
      https://github.com/llvm/llvm-project/commit/356df2dd72e8299b5de58e9390283110c19f7c76
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaType.cpp
    M clang/test/SemaCXX/attr-lifetimebound.cpp

  Log Message:
  -----------
  Revert "[clang] Warn [[clang::lifetimebound]] misusages on types (#118281)"

Temporarily revert the patch to give downstream teams some time to clean up their codebases.

This reverts commit 4849d593ab07c47f9f520bea636f62d159d57006.


  Commit: 62923275565e3a0f288146f2ce0569fe2ac26bf5
      https://github.com/llvm/llvm-project/commit/62923275565e3a0f288146f2ce0569fe2ac26bf5
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    R lld/CODE_OWNERS.TXT
    A lld/Maintainers.md
    M llvm/Maintainers.md

  Log Message:
  -----------
  [lld] Convert CODE_OWNERS.txt to Maintainers.md (#118084)

To align with https://llvm.org/docs/DeveloperPolicy.html#maintainers

I've moved the file and changed it to markdown to match `llvm/`'s file.


  Commit: aec9ecbcca2a3337a7d52130ab8f61a2ff151429
      https://github.com/llvm/llvm-project/commit/aec9ecbcca2a3337a7d52130ab8f61a2ff151429
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M .github/CODEOWNERS

  Log Message:
  -----------
  [github] Change "code owners" note to refer to "maintainers" (#118087)


  Commit: b2df0074134add80ba3a483a479601b00a9f9fc7
      https://github.com/llvm/llvm-project/commit/b2df0074134add80ba3a483a479601b00a9f9fc7
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
    A llvm/test/CodeGen/X86/no-trap-after-noreturn-fastisel.ll

  Log Message:
  -----------
  [FastISel] Support unreachable with NoTrapAfterNoReturn (#118296)

Currently FastISel triggers a fallback if there is an unreachable
terminator and the TrapUnreachable option is enabled (the ISD::TRAP
selection does not actually work).

Add handling for NoTrapAfterNoReturn, in which case we don't actually
need to emit a trap. The test is just there to make sure there is no
FastISel fallback (which is why I'm not testing the case without
noreturn). We have other tests that check the actual unreachable codegen
variations.


  Commit: 61c2ac03d85f731d75cda23d1918f03d0cb962dc
      https://github.com/llvm/llvm-project/commit/61c2ac03d85f731d75cda23d1918f03d0cb962dc
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  Revert "[clang][bytecode] Handle __builtin_wcslen (#118446)"

This reverts commit 89a0ee89973c3d213c4bc11c26b41eab67e06da0.

This breaks builders:
https://lab.llvm.org/buildbot/#/builders/13/builds/3885


  Commit: 807544561310d49b51915f365b7521412d68c219
      https://github.com/llvm/llvm-project/commit/807544561310d49b51915f365b7521412d68c219
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
    A llvm/test/Transforms/LoopVectorize/load-deref-pred-neg-off.ll

  Log Message:
  -----------
  [LoopVectorize] Add tests for dereferenceable loads in more loops (#118470)

* Adds tests for strided accesses.
* Adds tests for reverse loops.

As part of this I've moved one of the negative tests from
load-deref-pred-align.ll into a new file
(load-deref-pred-neg-off.ll) because the pointer type had a
size of 16 bits and I realised it's probably not sensible for
allocas that are >16 bits in size!


  Commit: 5f99eb9b138d7059b2a1f53adea0a58314761f65
      https://github.com/llvm/llvm-project/commit/5f99eb9b138d7059b2a1f53adea0a58314761f65
  Author: Nathan Gauër <brioche at google.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    A llvm/test/CodeGen/SPIRV/pointers/global-addrspacecast.ll
    A llvm/test/CodeGen/SPIRV/pointers/variables-storage-class-vk.ll
    M llvm/test/CodeGen/SPIRV/pointers/variables-storage-class.ll

  Log Message:
  -----------
  [SPIR-V] Fixup storage class for global private (#118318)

Re-land of #116636
Adds a new address spaces: hlsl_private. Variables with such address
space will be emitted with a Private storage class.
This is useful for variables global to a SPIR-V module, since up to now,
they were still emitted with a Function storage class, which is wrong.

---------

Signed-off-by: Nathan Gauër <brioche at google.com>


  Commit: 4a6ecd38218219ede3df34eeea72f3ffccec3413
      https://github.com/llvm/llvm-project/commit/4a6ecd38218219ede3df34eeea72f3ffccec3413
  Author: Viktoria Maximova <viktoria.maksimova at intel.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/docs/SPIRVUsage.rst
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
    M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_media_block_io/builtin-op-wrappers.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_media_block_io/cl_intel_media_block_io.ll

  Log Message:
  -----------
  Add support for SPIR-V extension: SPV_INTEL_media_block_io (#118024)

This changes implements SPV_INTEL_media_block_io extension in SPIR-V
backend.


  Commit: a63931292bad148a3498fdb30bbccb43844aee86
      https://github.com/llvm/llvm-project/commit/a63931292bad148a3498fdb30bbccb43844aee86
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M compiler-rt/lib/builtins/cpu_model/x86.c
    M llvm/lib/TargetParser/Host.cpp

  Log Message:
  -----------
  [X86] Fix typo of gracemont (#118486)


  Commit: 81d82cac8c4cbd006bf991fd7380de2d72858d1c
      https://github.com/llvm/llvm-project/commit/81d82cac8c4cbd006bf991fd7380de2d72858d1c
  Author: macurtis-amd <macurtis at amd.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Flang.cpp
    A flang/test/Driver/pp-fixed-form.f90

  Log Message:
  -----------
  [flang] Treat pre-processed input as fixed (#117563)

Fixes an issue introduced by

9fb2db1e1f42 [flang] Retain spaces when preprocessing fixed-form source

Where flang -fc1 fails to parse preprocessor output because it now
remains in fixed form.


  Commit: f33536468b7f05c05c8cf8088427b0b5b665eb65
      https://github.com/llvm/llvm-project/commit/f33536468b7f05c05c8cf8088427b0b5b665eb65
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

  Log Message:
  -----------
  [InstCombine] Support gep nuw in icmp folds (#118472)

Unsigned icmp of gep nuw folds to unsigned icmp of offsets. Unsigned
icmp of gep nusw nuw folds to unsigned samesign icmp of offsets.

Proofs: https://alive2.llvm.org/ce/z/VEwQY8


  Commit: 51a895aded890e90493be59f7af0fa5a3b9b85aa
      https://github.com/llvm/llvm-project/commit/51a895aded890e90493be59f7af0fa5a3b9b85aa
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/InstSimplifyFolder.h
    M llvm/include/llvm/Analysis/InstructionSimplify.h
    M llvm/include/llvm/Analysis/ValueTracking.h
    A llvm/include/llvm/IR/CmpPredicate.h
    M llvm/include/llvm/IR/Instructions.h
    M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/unittests/IR/InstructionsTest.cpp

  Log Message:
  -----------
  IR: introduce struct with CmpInst::Predicate and samesign (#116867)

Introduce llvm::CmpPredicate, an abstraction over a floating-point
predicate, and a pack of an integer predicate with samesign information,
in order to ease extending large portions of the codebase that take a
CmpInst::Predicate to respect the samesign flag.

We have chosen to demonstrate the utility of this new abstraction by
migrating parts of ValueTracking, InstructionSimplify, and InstCombine
from CmpInst::Predicate to llvm::CmpPredicate. There should be no
functional changes, as we don't perform any extra optimizations with
samesign in this patch, or use CmpPredicate::getMatching.

The design approach taken by this patch allows for unaudited callers of
APIs that take a llvm::CmpPredicate to silently drop the samesign
information; it does not pose a correctness issue, and allows us to
migrate the codebase piece-wise.


  Commit: ff0babc9172b42a3e9f552d6959f9d98ae450633
      https://github.com/llvm/llvm-project/commit/ff0babc9172b42a3e9f552d6959f9d98ae450633
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

  Log Message:
  -----------
  [clang][bytecode] Fix discarded pointer subtractions (#118477)

We need to pop the value.


  Commit: 2a0ee090dbb9af80222bc796ac34fd4b7cba421b
      https://github.com/llvm/llvm-project/commit/2a0ee090dbb9af80222bc796ac34fd4b7cba421b
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Analysis/IVDescriptors.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp

  Log Message:
  -----------
  IVDesc: strip redundant arg in getOpcode call (NFC) (#118476)


  Commit: e1cb316cfd99208363b5eb9bf96430ca28020be0
      https://github.com/llvm/llvm-project/commit/e1cb316cfd99208363b5eb9bf96430ca28020be0
  Author: Vladislav Belov <vladislav.belov at syntacore.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/CXXInheritance.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/test/CXX/drs/cwg5xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  Reapply "[clang] Fix name lookup for dependent bases" (#118003)

Unlike the previous version
(https://github.com/llvm/llvm-project/pull/114978), this patch also
removes an unnecessary assert that causes Clang to crash when compiling
such tests. (clang/lib/AST/DeclCXX.cpp)

https://lab.llvm.org/buildbot/#/builders/52/builds/4021

```c++
template <class T> 
class X {
public:
  X() = default;
  virtual ~X() = default;

  virtual int foo(int x, int y, T &entry) = 0;

  void bar() {
    struct Y : public X<T> {
      Y() : X() {}

      int foo(int, int, T &) override {
        return 42;
      }
    };
  }
};
```

the assertions: 

```c++
llvm-project/clang/lib/AST/DeclCXX.cpp:2508: void clang::CXXMethodDecl::addOverriddenMethod(const CXXMethodDecl *): Assertion `!MD->getParent()->isDependentContext() && "Can't add an overridden method to a class template!"' failed.
```

I believe that this assert is unnecessary and contradicts the logic of
this patch. After its removal, Clang was successfully built using
itself, and all tests passed.


  Commit: 7802fb5f514be327576b69569556ec9096e5fdd7
      https://github.com/llvm/llvm-project/commit/7802fb5f514be327576b69569556ec9096e5fdd7
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

  Log Message:
  -----------
  [clang][bytecode] Fix `__extension__` handling for vector operators (#118482)

Don't reject them, but delegate to the subexpression.


  Commit: 8c749ff8aa787049cea4d4f7331493ee17565344
      https://github.com/llvm/llvm-project/commit/8c749ff8aa787049cea4d4f7331493ee17565344
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
    M lldb/test/Shell/SymbolFile/DWARF/x86/find-basic-type.cpp

  Log Message:
  -----------
  [lldb] Fix "exact match" debug_names type queries (#118465)

.. in the global namespace

The problem was the interaction of #116989 with an optimization in
GetTypesWithQuery. The optimization was only correct for non-exact
matches, but that didn't matter before this PR due to the "second layer
of defense". After that was removed, the query started returning more
types than it should.


  Commit: 57907c1a96e82c17b16111b919ab7c0f3d4370ab
      https://github.com/llvm/llvm-project/commit/57907c1a96e82c17b16111b919ab7c0f3d4370ab
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/return-const-ref-from-parameter.rst
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/return-const-ref-from-parameter.cpp

  Log Message:
  -----------
  [clang-tidy] ignore `[[clang::lifetimebound]]` param in return-const-ref-from-parameter (#118315)

Fixed #117696


  Commit: c7e14689dd8bdf4b18dccb18895a9b80c225dc53
      https://github.com/llvm/llvm-project/commit/c7e14689dd8bdf4b18dccb18895a9b80c225dc53
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/test/CodeGen/SPIRV/debug-info/debug-type-basic.ll

  Log Message:
  -----------
  [SPIR-V] Add XFAIL to the broken test (#118487)

The test case llvm/test/CodeGen/SPIRV/debug-info/debug-type-basic.ll
fails due to https://github.com/llvm/llvm-project/issues/118011


  Commit: a7fda0e1e4dfd17ccf4a1bb80024acca2da6424e
      https://github.com/llvm/llvm-project/commit/a7fda0e1e4dfd17ccf4a1bb80024acca2da6424e
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/lib/Transforms/Vectorize/VPlanValue.h

  Log Message:
  -----------
  [VPlan] Introduce VPScalarPHIRecipe, use for can & EVL IV codegen (NFC). (#114305)

Introduce a general recipe to generate a scalar phi. Lower
VPCanonicalIVPHIRecipe and VPEVLBasedIVRecipe to VPScalarIVPHIrecipe
before plan execution, avoiding the need for duplicated ::execute
implementations. There are other cases that could benefit, including
in-loop reduction phis and pointer induction phis.

Builds on a similar idea as
https://github.com/llvm/llvm-project/pull/82270.

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


  Commit: 10223c72a9c2afc3ae86eb7995f0dc47f5f9ad44
      https://github.com/llvm/llvm-project/commit/10223c72a9c2afc3ae86eb7995f0dc47f5f9ad44
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/test/Transforms/ConstraintElimination/gep-arithmetic.ll

  Log Message:
  -----------
  [ConstraintElim] Use nusw flag for GEP decomposition

Check for nusw instead of inbounds when decomposing GEPs.

In this particular case, we can also look through multiple nusw
flags, because we will ultimately be working in the unsigned
constraint system.


  Commit: db4cbe50696798e94585cafec1a24764e9dcf199
      https://github.com/llvm/llvm-project/commit/db4cbe50696798e94585cafec1a24764e9dcf199
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    A llvm/test/CodeGen/SPIRV/pointers/tangled-ret.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpPhi_ArgumentsPlaceholders.ll
    A llvm/test/CodeGen/SPIRV/validate/sycl-tangle-group-algorithms.ll

  Log Message:
  -----------
  [SPIR-V] Fix generation of invalid SPIR-V in cases of of bitcasts between pointers and multiple null pointers used in the input LLVM IR (#118298)

This PR resolved the following issues:
(1) There are rare but possible cases when there are bitcasts between
pointers intertwined in a sophisticated way with loads, stores, function
calls and other instructions that are part of type deduction. In this
case we must account for inserted bitcasts between pointers rather than
just ignore them.
(2) Null pointers have the same constant representation but different
types. Type info from Intrinsic::spv_track_constant() refers to the
opaque (untyped) pointer, so that each MF/v-reg pair would fall into the
same Const record in Duplicate Tracker and would be represented by a
single OpConstantNull instruction, unless we use precise pointee type
info. We must be able to distinguish one constant (null) pointer from
another to avoid generating invalid code with inconsistent types of
operands.


  Commit: 4e6f812e9134a99320546d3805f628683b4ed334
      https://github.com/llvm/llvm-project/commit/4e6f812e9134a99320546d3805f628683b4ed334
  Author: Henrich Lauko <xlauko at mail.muni.cz>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M mlir/include/mlir-c/Dialect/LLVM.h
    M mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td

  Log Message:
  -----------
  [mlir][llvm] Align linkage enum order with LLVM (NFC) (#118484)

This change doesn't introduce any functional differences but aligns the
implementation more closely with LLVM's representation. Previously, the
code generated a lookup table to map MLIR enums to LLVM enums due to the
lack of one-to-one correspondence. With this refactoring, the generated
code now casts directly from one enum to another.


  Commit: 874b4fb6adf742344fabd7df898be31360a563b9
      https://github.com/llvm/llvm-project/commit/874b4fb6adf742344fabd7df898be31360a563b9
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/docs/SPIRVUsage.rst
    M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    M llvm/test/CodeGen/SPIRV/bitcast.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_optnone.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_optnone.ll
    M llvm/test/CodeGen/SPIRV/pointers/PtrCast-in-OpSpecConstantOp.ll
    M llvm/test/CodeGen/SPIRV/pointers/global-ptrtoint.ll

  Log Message:
  -----------
  [SPIR-V] Fix emission of debug and annotation instructions and add SPV_EXT_optnone SPIR-V extension (#118402)

This PR fixes:
* emission of OpNames (added newly inserted internal intrinsics and
basic blocks)
* emission of function attributes (SRet is added)
* implementation of SPV_INTEL_optnone so that it emits OptNoneINTEL
Function Control flag, and add implementation of the SPV_EXT_optnone
SPIR-V extension.


  Commit: af35e21cfe3f7cfc7ddd7a2f535e775e9205f61d
      https://github.com/llvm/llvm-project/commit/af35e21cfe3f7cfc7ddd7a2f535e775e9205f61d
  Author: Kelvin Li <kkwli at users.noreply.github.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M flang/unittests/Runtime/CommandTest.cpp

  Log Message:
  -----------
  [flang] Update CommandTest for AIX (NFC) (#118403)

With the change in commit e335563, the behavior for `ECLGeneralErrorCommandErrorSync` 
on AIX is the same as on Linux.


  Commit: 9ad09b2930ef2e95bf8772c91f623881d1c14733
      https://github.com/llvm/llvm-project/commit/9ad09b2930ef2e95bf8772c91f623881d1c14733
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

  Log Message:
  -----------
  [AMDGPU] Refine AMDGPUCodeGenPrepareImpl class. NFC. (#118461)

Use references instead of pointers for most state, initialize it all in
the constructor, and common up some of the initialization between the
legacy and new pass manager paths.


  Commit: c7babfa6a375d1094cf5e5d7ce4b36b2b9a6b717
      https://github.com/llvm/llvm-project/commit/c7babfa6a375d1094cf5e5d7ce4b36b2b9a6b717
  Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M offload/DeviceRTL/CMakeLists.txt

  Log Message:
  -----------
  [Offload] Find libc relative to DeviceRTL path (#118497)

This was discussed as a potential solution in
https://github.com/llvm/llvm-project/pull/118173


  Commit: 866b9f43a0772faee64aa421886eb101118f3167
      https://github.com/llvm/llvm-project/commit/866b9f43a0772faee64aa421886eb101118f3167
  Author: Dominik Steenken <dost at de.ibm.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
    R llvm/test/Analysis/CostModel/SystemZ/reduce-add.ll
    A llvm/test/Analysis/CostModel/SystemZ/vector-reductions.ll
    A llvm/test/Transforms/SLPVectorizer/SystemZ/reductions-fadd.ll
    A llvm/test/Transforms/SLPVectorizer/SystemZ/reductions-fmin-fmax.ll
    A llvm/test/Transforms/SLPVectorizer/SystemZ/reductions-fmul.ll

  Log Message:
  -----------
  [SystemZ] Add realistic cost estimates for vector reduction intrinsics (#118319)

This PR adds more realistic cost estimates for these reduction
intrinsics

- `llvm.vector.reduce.umax`
- `llvm.vector.reduce.umin`
- `llvm.vector.reduce.smax`
- `llvm.vector.reduce.smin`
- `llvm.vector.reduce.fadd`
- `llvm.vector.reduce.fmul`
- `llvm.vector.reduce.fmax`
- `llvm.vector.reduce.fmin`
- `llvm.vector.reduce.fmaximum`
- `llvm.vector.reduce.fminimum`
- `llvm.vector.reduce.mul
`
The pre-existing cost estimates for `llvm.vector.reduce.add` are moved
to `getArithmeticReductionCosts` to reduce complexity in
`getVectorIntrinsicInstrCost` and enable other passes, like the SLP
vectorizer, to benefit from these updated calculations.

These are not expected to provide noticable performance improvements and
are rather provided for the sake of completeness and correctness. This
PR is in draft mode pending benchmark confirmation of this.

This also provides and/or updates cost tests for all of these
intrinsics.

This PR was co-authored by me and @JonPsson1 .


  Commit: 17cfd016b4621b8ae52bc7cc27570dd6fa8c0129
      https://github.com/llvm/llvm-project/commit/17cfd016b4621b8ae52bc7cc27570dd6fa8c0129
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst

  Log Message:
  -----------
  [AMDGPU][Doc] Add `gfx950` to `gfx9-4-generic` in the document


  Commit: c9fbabfdc92f12b2b0148762e6e789157a172e4d
      https://github.com/llvm/llvm-project/commit/c9fbabfdc92f12b2b0148762e6e789157a172e4d
  Author: mandymi <131526806+mandymimi at users.noreply.github.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/ASTMatchers/ASTMatchersInternal.cpp

  Log Message:
  -----------
  [ASTMatcher] Fix redundant macro expansion checks in getExpansionLocOfMacro (#117143)

A performance issue was descibed in #114521 

**Root Cause**: The function getExpansionLocOfMacro is responsible for
finding the expansion location of macros. When dealing with macro
parameters, it recursively calls itself to check the expansion of macro
arguments. This recursive logic redundantly checks previous macro
expansions, leading to significant performance degradation when macros
are heavily nested.
Solution
**Modification**: Track already processed macros during recursion.
Implementation Details:
Introduced a data structure to record processed macros.
Before each recursive call, check if the macro has already been
processed to avoid redundant calculations.
**Testing**: 
1. refer to #114521 
Finder->addMatcher(expr(isExpandedFromMacro("NULL")).bind("E"), this);
run clang-tidy on freecad/src/Mod/Path/App/AreaPyImp.cpp 
clang-tidy src/Mod/Path/App/AreaPyImp.cpp -checks=-*,testchecker
-p=build/compile_commands.json
checker runs normally
2. check-clang-unit pass


  Commit: 8da490320f6dcb99b4efef2cdb3d21002db1d2f7
      https://github.com/llvm/llvm-project/commit/8da490320f6dcb99b4efef2cdb3d21002db1d2f7
  Author: Callum Fare <callum at codeplay.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M offload/CMakeLists.txt
    M offload/cmake/OpenMPTesting.cmake
    A offload/liboffload/API/APIDefs.td
    A offload/liboffload/API/CMakeLists.txt
    A offload/liboffload/API/Common.td
    A offload/liboffload/API/Device.td
    A offload/liboffload/API/OffloadAPI.td
    A offload/liboffload/API/Platform.td
    A offload/liboffload/API/README.md
    A offload/liboffload/CMakeLists.txt
    A offload/liboffload/README.md
    A offload/liboffload/exports
    A offload/liboffload/include/OffloadImpl.hpp
    A offload/liboffload/include/generated/OffloadAPI.h
    A offload/liboffload/include/generated/OffloadEntryPoints.inc
    A offload/liboffload/include/generated/OffloadFuncs.inc
    A offload/liboffload/include/generated/OffloadImplFuncDecls.inc
    A offload/liboffload/include/generated/OffloadPrint.hpp
    A offload/liboffload/src/Helpers.hpp
    A offload/liboffload/src/OffloadImpl.cpp
    A offload/liboffload/src/OffloadLib.cpp
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/test/lit.cfg
    M offload/test/lit.site.cfg.in
    A offload/test/tools/offload-tblgen/default_returns.td
    A offload/test/tools/offload-tblgen/entry_points.td
    A offload/test/tools/offload-tblgen/functions_basic.td
    A offload/test/tools/offload-tblgen/functions_code_loc.td
    A offload/test/tools/offload-tblgen/functions_ranged_param.td
    A offload/test/tools/offload-tblgen/print_enum.td
    A offload/test/tools/offload-tblgen/print_function.td
    A offload/test/tools/offload-tblgen/type_tagged_enum.td
    A offload/tools/offload-tblgen/APIGen.cpp
    A offload/tools/offload-tblgen/CMakeLists.txt
    A offload/tools/offload-tblgen/EntryPointGen.cpp
    A offload/tools/offload-tblgen/FuncsGen.cpp
    A offload/tools/offload-tblgen/GenCommon.hpp
    A offload/tools/offload-tblgen/Generators.hpp
    A offload/tools/offload-tblgen/PrintGen.cpp
    A offload/tools/offload-tblgen/RecordTypes.hpp
    A offload/tools/offload-tblgen/offload-tblgen.cpp
    M offload/unittests/CMakeLists.txt
    A offload/unittests/OffloadAPI/CMakeLists.txt
    A offload/unittests/OffloadAPI/common/Environment.cpp
    A offload/unittests/OffloadAPI/common/Environment.hpp
    A offload/unittests/OffloadAPI/common/Fixtures.hpp
    A offload/unittests/OffloadAPI/device/olDeviceInfo.hpp
    A offload/unittests/OffloadAPI/device/olGetDevice.cpp
    A offload/unittests/OffloadAPI/device/olGetDeviceCount.cpp
    A offload/unittests/OffloadAPI/device/olGetDeviceInfo.cpp
    A offload/unittests/OffloadAPI/device/olGetDeviceInfoSize.cpp
    A offload/unittests/OffloadAPI/platform/olGetPlatform.cpp
    A offload/unittests/OffloadAPI/platform/olGetPlatformCount.cpp
    A offload/unittests/OffloadAPI/platform/olGetPlatformInfo.cpp
    A offload/unittests/OffloadAPI/platform/olGetPlatformInfoSize.cpp
    A offload/unittests/OffloadAPI/platform/olPlatformInfo.hpp

  Log Message:
  -----------
  Reland of #108413: [Offload] Introduce offload-tblgen and initial new API implementation (#118503)

This is another attempt to reland the changes from #108413

The previous two attempts introduced regressions and were reverted. This
PR has been more thoroughly tested with various configurations so
shouldn't cause any problems this time. If anyone is aware of any likely
remaining problems then please let me know.

The changes are identical other than the fixes contained in the last 5
commits.

---


### New API

Previous discussions at the LLVM/Offload meeting have brought up the
need for a new API for exposing the functionality of the plugins. This
change introduces a very small subset of a new API, which is primarily
for testing the offload tooling and demonstrating how a new API can fit
into the existing code base without being too disruptive. Exact designs
for these entry points and future additions can be worked out over time.

The new API does however introduce the bare minimum functionality to
implement device discovery for Unified Runtime and SYCL. This means that
the `urinfo` and `sycl-ls` tools can be used on top of Offload. A
(rough) implementation of a Unified Runtime adapter (aka plugin) for
Offload is available
[here](https://github.com/callumfare/unified-runtime/tree/offload_adapter).
Our intention is to maintain this and use it to implement and test
Offload API changes with SYCL.

### Demoing the new API

```sh
# From the runtime build directory
$ ninja LibomptUnitTests
$ OFFLOAD_TRACE=1 ./offload/unittests/OffloadAPI/offload.unittests 
```


### Open questions and future work
* Only some of the available device info is exposed, and not all the
possible device queries needed for SYCL are implemented by the plugins.
A sensible next step would be to refactor and extend the existing device
info queries in the plugins. The existing info queries are all strings,
but the new API introduces the ability to return any arbitrary type.
* It may be sensible at some point for the plugins to implement the new
API directly, and the higher level code on top of it could be made
generic, but this is more of a long-term possibility.


  Commit: 50249263a173d43475a60ca658048cf3b6206aba
      https://github.com/llvm/llvm-project/commit/50249263a173d43475a60ca658048cf3b6206aba
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

  Log Message:
  -----------
  MLRegAlloc: Do not use float to count number of used registers [NFC] (#118489)


  Commit: af31aa44551f1fd78aa0f177947cb523373ff2d9
      https://github.com/llvm/llvm-project/commit/af31aa44551f1fd78aa0f177947cb523373ff2d9
  Author: Igor Kirillov <igor.kirillov at arm.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll

  Log Message:
  -----------
  [LV] Pre-commit tests for fixed width VF fully unrolled loop cost model change


  Commit: 1f20eee6dc367bd202895e3eedb03974a628ef16
      https://github.com/llvm/llvm-project/commit/1f20eee6dc367bd202895e3eedb03974a628ef16
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
    M llvm/test/CodeGen/SPIRV/debug-info/debug-type-basic.ll

  Log Message:
  -----------
  [SPIR-V] Emit OpConstant instead of OpConstantNull to conform to NonSemantic.Shader.DebugInfo.100 DebugTypeBasic's flags definition (#118333)

This PR is to fix https://github.com/llvm/llvm-project/issues/118011 by
emitting OpConstant instead of OpConstantNull to conform to
NonSemantic.Shader.DebugInfo.100 DebugTypeBasic's flags definition.


  Commit: 68112f0f5b2209e14aae9a891481cba5709873a2
      https://github.com/llvm/llvm-project/commit/68112f0f5b2209e14aae9a891481cba5709873a2
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M libc/src/__support/OSUtil/linux/exit.cpp
    M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl

  Log Message:
  -----------
  libc: fixup include path and bazel stale comments (#118510)

Downstream builders are having issues with this local include. Use a
fuller
path that's more standard throughout the codebase.

Also some of the comments in the bazel overlay are stale. Remove them.

Reported-by: Brooks Moses <bmoses at google.com>


  Commit: 56ab56c85729976f29d5de2fd73912449cb6da7c
      https://github.com/llvm/llvm-project/commit/56ab56c85729976f29d5de2fd73912449cb6da7c
  Author: Jim B <d3x0r at users.noreply.github.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/docs/ClangFormat.rst
    M clang/lib/Format/Format.cpp
    M clang/tools/clang-format/ClangFormat.cpp
    M clang/tools/clang-format/git-clang-format

  Log Message:
  -----------
  [clang-format] Add support for `.cjs` as JavaScript file extension (#118188)

Node uses `.cjs` as an extension for 'common javascript' modules.


  Commit: 5ae613c9b9dc37ec1b0a6d76714099375288d772
      https://github.com/llvm/llvm-project/commit/5ae613c9b9dc37ec1b0a6d76714099375288d772
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td

  Log Message:
  -----------
  [NFC] Remove trailing white spaces in `clang/include/clang/Driver/Options.td`


  Commit: afe75b4d5fcebd6fdd292ca1797de1b35cb687b0
      https://github.com/llvm/llvm-project/commit/afe75b4d5fcebd6fdd292ca1797de1b35cb687b0
  Author: Peter Hawkins <phawkins at google.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M mlir/cmake/modules/AddMLIRPython.cmake
    M mlir/cmake/modules/MLIRDetectPythonEnv.cmake
    M mlir/docs/Bindings/Python.md
    M mlir/examples/standalone/python/CMakeLists.txt
    R mlir/examples/standalone/python/StandaloneExtension.cpp
    A mlir/examples/standalone/python/StandaloneExtensionNanobind.cpp
    A mlir/examples/standalone/python/StandaloneExtensionPybind11.cpp
    R mlir/examples/standalone/python/mlir_standalone/dialects/standalone.py
    A mlir/examples/standalone/python/mlir_standalone/dialects/standalone_nanobind.py
    A mlir/examples/standalone/python/mlir_standalone/dialects/standalone_pybind11.py
    M mlir/examples/standalone/test/python/smoketest.py
    A mlir/include/mlir/Bindings/Python/Diagnostics.h
    A mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
    M mlir/include/mlir/Bindings/Python/PybindAdaptors.h
    M mlir/lib/Bindings/Python/DialectLLVM.cpp
    M mlir/lib/Bindings/Python/TransformInterpreter.cpp
    M mlir/python/CMakeLists.txt
    M mlir/python/mlir/dialects/python_test.py
    M mlir/python/requirements.txt
    M mlir/test/python/dialects/python_test.py
    M mlir/test/python/lib/CMakeLists.txt
    R mlir/test/python/lib/PythonTestModule.cpp
    A mlir/test/python/lib/PythonTestModuleNanobind.cpp
    A mlir/test/python/lib/PythonTestModulePybind11.cpp
    M utils/bazel/WORKSPACE
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    A utils/bazel/third_party_build/nanobind.BUILD
    A utils/bazel/third_party_build/robin_map.BUILD

  Log Message:
  -----------
  [mlir python] Add nanobind support for standalone dialects. (#117922)

This PR allows out-of-tree dialects to write Python dialect modules
using nanobind instead of pybind11.

It may make sense to migrate in-tree dialects and some of the ODS Python
infrastructure to nanobind, but that is a topic for a future change.

This PR makes the following changes:
* adds nanobind to the CMake and Bazel build systems. We also add
robin_map to the Bazel build, which is a dependency of nanobind.
* adds a PYTHON_BINDING_LIBRARY option to various CMake functions, such
as declare_mlir_python_extension, allowing users to select a Python
binding library.
* creates a fork of mlir/include/mlir/Bindings/Python/PybindAdaptors.h
named NanobindAdaptors.h. This plays the same role, using nanobind
instead of pybind11.
* splits CollectDiagnosticsToStringScope out of PybindAdaptors.h and
into a new header mlir/include/mlir/Bindings/Python/Diagnostics.h, since
it is code that is no way related to pybind11 or for that matter,
Python.
* changed the standalone Python extension example to have both pybind11
and nanobind variants.
* changed mlir/python/mlir/dialects/python_test.py to have both pybind11
and nanobind variants.

Notes:
* A slightly unfortunate thing that I needed to do in the CMake
integration was to use FindPython in addition to FindPython3, since
nanobind's CMake integration expects the Python_ names for variables.
Perhaps there's a better way to do this.


  Commit: 04996a28b7639a333c5d04bf4d10d70bda3e0173
      https://github.com/llvm/llvm-project/commit/04996a28b7639a333c5d04bf4d10d70bda3e0173
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M lld/ELF/Arch/AArch64.cpp
    M lld/ELF/Arch/ARM.cpp
    M lld/ELF/Arch/LoongArch.cpp
    M lld/ELF/Arch/Mips.cpp
    M lld/ELF/Arch/PPC.cpp
    M lld/ELF/Arch/PPC64.cpp
    M lld/ELF/Arch/RISCV.cpp
    M lld/ELF/InputSection.cpp
    M lld/ELF/Relocations.cpp
    M lld/ELF/Relocations.h
    M lld/ELF/SyntheticSections.cpp

  Log Message:
  -----------
  [ELF] Rename target-specific RelExpr enumerators

RelExpr enumerators are named `R_*`, which can be confused with ELF
relocation type names. Rename the target-specific ones to `RE_*` to
avoid confusion.

For consistency, the target-independent ones can be renamed as well, but
that's not urgent. The relocation processing mechanism with RelExpr has
non-trivial overhead compared with mold's approach, and we might make
more code into Arch/*.cpp files and decrease the enumerators.

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


  Commit: 61bf308cf2fc32452f14861c102ace89f5f36fec
      https://github.com/llvm/llvm-project/commit/61bf308cf2fc32452f14861c102ace89f5f36fec
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M mlir/cmake/modules/AddMLIRPython.cmake
    M mlir/cmake/modules/MLIRDetectPythonEnv.cmake
    M mlir/docs/Bindings/Python.md
    M mlir/examples/standalone/python/CMakeLists.txt
    A mlir/examples/standalone/python/StandaloneExtension.cpp
    R mlir/examples/standalone/python/StandaloneExtensionNanobind.cpp
    R mlir/examples/standalone/python/StandaloneExtensionPybind11.cpp
    A mlir/examples/standalone/python/mlir_standalone/dialects/standalone.py
    R mlir/examples/standalone/python/mlir_standalone/dialects/standalone_nanobind.py
    R mlir/examples/standalone/python/mlir_standalone/dialects/standalone_pybind11.py
    M mlir/examples/standalone/test/python/smoketest.py
    R mlir/include/mlir/Bindings/Python/Diagnostics.h
    R mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
    M mlir/include/mlir/Bindings/Python/PybindAdaptors.h
    M mlir/lib/Bindings/Python/DialectLLVM.cpp
    M mlir/lib/Bindings/Python/TransformInterpreter.cpp
    M mlir/python/CMakeLists.txt
    M mlir/python/mlir/dialects/python_test.py
    M mlir/python/requirements.txt
    M mlir/test/python/dialects/python_test.py
    M mlir/test/python/lib/CMakeLists.txt
    A mlir/test/python/lib/PythonTestModule.cpp
    R mlir/test/python/lib/PythonTestModuleNanobind.cpp
    R mlir/test/python/lib/PythonTestModulePybind11.cpp
    M utils/bazel/WORKSPACE
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    R utils/bazel/third_party_build/nanobind.BUILD
    R utils/bazel/third_party_build/robin_map.BUILD

  Log Message:
  -----------
  Revert "[mlir python] Add nanobind support for standalone dialects." (#118517)

Reverts llvm/llvm-project#117922 because deps aren't met on some of the
post-commit build bots.


  Commit: 95a4d30b0d64c544106acf306c3d3fa5fde99c02
      https://github.com/llvm/llvm-project/commit/95a4d30b0d64c544106acf306c3d3fa5fde99c02
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [NFC] Remove trailing white spaces in `clang/docs/ReleaseNotes.rst`


  Commit: eb257fe37ba1ea41bd162e2fbd0ee4cd33fcdcea
      https://github.com/llvm/llvm-project/commit/eb257fe37ba1ea41bd162e2fbd0ee4cd33fcdcea
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/test/AST/ast-print-openacc-combined-construct.cpp
    M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
    M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
    A clang/test/SemaOpenACC/combined-construct-num_gangs-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-num_gangs-clause.c
    A clang/test/SemaOpenACC/combined-construct-num_workers-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-num_workers-clause.c
    A clang/test/SemaOpenACC/combined-construct-vector_length-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-vector_length-clause.c

  Log Message:
  -----------
  [OpenACC] Enable 3 more clauses for combined constructs.

'num_gangs', 'num_workers', and 'vector_length' are similar to
eachother, and are all the same implementation as for compute
constructs, so this patch just enables them and adds the necessary
testing to ensure they work correctly.  These will get more complicated
when they get combined with 'gang', 'worker', 'vector' and 'reduction',
but those restrictions will be implemented when those clauses are
enabled.


  Commit: d1f4f6368064d8d7bf09fbd5be8d74846d532c30
      https://github.com/llvm/llvm-project/commit/d1f4f6368064d8d7bf09fbd5be8d74846d532c30
  Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M lld/test/ELF/systemz-gotent-relax-und-dso.s
    M lld/test/ELF/systemz-gotent-relax.s
    M lld/test/ELF/systemz-plt.s
    M lld/test/ELF/systemz-tls-gd.s
    M lld/test/ELF/systemz-tls-ld.s
    M llvm/lib/Target/SystemZ/SystemZInstrFormats.td
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZ13.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZ14.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZ15.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZ16.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZ196.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZEC12.td
    M llvm/test/MC/Disassembler/SystemZ/insns-pcrel.txt
    M llvm/test/MC/Disassembler/SystemZ/insns.txt
    M llvm/test/MC/SystemZ/insn-good-zos-pcrel.s
    M llvm/test/MC/SystemZ/insn-good.s

  Log Message:
  -----------
  [SystemZ] Use nop mnemonics for disassembly

To match the behavior of GNU binutils, output the nop family
of mnemonic aliases when disassembling.


  Commit: ce416a073be6da06be7fd2d427b896b380fb3877
      https://github.com/llvm/llvm-project/commit/ce416a073be6da06be7fd2d427b896b380fb3877
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M .github/workflows/docs.yml

  Log Message:
  -----------
  [Github] fix libc documentation path (#118514)

Running `ninja docs-libc-html` produces content in
{build_dir}/libc/docs, not
{build_dir}/docs. Presubmit jobs for "Test documentation build" were
failing as
a result of commit 97f94af3560d ("[Github] Upload built docs as artifact
from
test build docs job (#118159)")

Link: #118159
Link: #117220


  Commit: f44bee78c471df8f0a258c656a921a082d7e836a
      https://github.com/llvm/llvm-project/commit/f44bee78c471df8f0a258c656a921a082d7e836a
  Author: Greg Clayton <gclayton at fb.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.h
    A lldb/test/Shell/SymbolFile/DWARF/x86/dwp-index-cache.cpp

  Log Message:
  -----------
  [lldb] Fix the DWARF index cache when index is partial. (#118390)

The ManualDWARFIndex class can create a index cache if the LLDB index
cache is enabled. This used to save the index to the same file,
regardless of wether the cache was a full index (no .debug_names) or a
partial index (have .debug_names, but not all .o files were had
.debug_names). So we could end up saving an index cache that was
partial, and then later load that partial index as if it were a full
index if the user set the 'settings set
plugin.symbol-file.dwarf.ignore-file-indexes true'. This would cause us
to ignore the .debug_names section, and if the index cache was enabled,
we could end up loading the partial index as if it were a full DWARF
index.

This patch detects when the ManualDWARFIndex is being used with
.debug_names, and saves out a cache file with a suffix of "-full" or
"-partial" to avoid this issue.


  Commit: e8b9e1354accf33ced45321abdd8c8bc65d025cc
      https://github.com/llvm/llvm-project/commit/e8b9e1354accf33ced45321abdd8c8bc65d025cc
  Author: Augie Fackler <augie at google.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M utils/bazel/llvm_configs/abi-breaking.h.cmake

  Log Message:
  -----------
  [bazel] update config.h.cmake

for 4dafb091a0336a6669e6369cb69ef1ea1b39578d
reverts 1a1de2465d8399b178149e7e23c7450fdc5dde9f


  Commit: 2a1a02461a8d4ae9f560a4215fe85a1f085b4d82
      https://github.com/llvm/llvm-project/commit/2a1a02461a8d4ae9f560a4215fe85a1f085b4d82
  Author: Luke Riddle <35970909+lukejriddle at users.noreply.github.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M lldb/bindings/interface/SBMemoryRegionInfoListExtensions.i
    M lldb/test/API/python_api/find_in_memory/TestFindInMemory.py

  Log Message:
  -----------
  Make SBMemoryRegionInfoList iterable with Python SWIG (#117358)

This PR fixes a simple SWIG issue with SBMemoryRegionInfoList not being
iterable out-of-the-box. This is mostly because of limitations to the
`lldb_iter` function, which doesn't allow for specifying arguments to
the size / iter functions passed.

Before:
```
(lldb) script
Python Interactive Interpreter. To exit, type 'quit()', 'exit()' or Ctrl-D.
>>> for region in lldb.process.GetMemoryRegions():
...   print(region)
...
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/opt/llvm/stable/Toolchains/llvm-sand.xctoolchain/usr/lib/python3.10/site-packages/lldb/__init__.py", line 114, in lldb_iter
    yield elem(i)
TypeError: SBMemoryRegionInfoList.GetMemoryRegionAtIndex() missing 1 required positional argument: 'region_info'
```

After:
```
(lldb) script
Python Interactive Interpreter. To exit, type 'quit()', 'exit()' or Ctrl-D.
>>> for region in lldb.process.GetMemoryRegions():
...   print(region)
... 
[0x0000000000200000-0x00000000002cf000 R--]
[0x00000000002cf000-0x0000000000597000 R-X]
[0x0000000000597000-0x00000000005ad000 R--]
[0x00000000005ad000-0x00000000005b1000 RW-]
[0x00000000005b1000-0x0000000000b68000 RW-]
[0x000000007fff7000-0x000000008fff7000 RW-]
[0x000002008fff7000-0x000010007fff8000 RW-]
[0x0000503000000000-0x0000503000010000 RW-]
[0x0000503e00000000-0x0000503e00010000 RW-]
[0x0000504000000000-0x0000504000010000 RW-]
[0x0000504e00000000-0x0000504e00010000 RW-]
[0x000050d000000000-0x000050d000010000 RW-]
[0x000050de00000000-0x000050de00010000 RW-]
[0x000050e000000000-0x000050e000010000 RW-]
[0x000050ee00000000-0x000050ee00010000 RW-]
[0x0000511000000000-0x0000511000010000 RW-]
[0x0000511e00000000-0x0000511e00010000 RW-]
[0x0000513000000000-0x0000513000010000 RW-]
...
```


  Commit: 935bbbbde4b2661ed7f8f2975a39bda360572572
      https://github.com/llvm/llvm-project/commit/935bbbbde4b2661ed7f8f2975a39bda360572572
  Author: Zaara Syeda <syzaara at ca.ibm.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
    M llvm/test/CodeGen/PowerPC/aix-xcoff-mergeable-str.ll
    M llvm/test/CodeGen/PowerPC/aix-xcoff-rodata.ll
    M llvm/test/CodeGen/PowerPC/aix-xcoff-used-with-stringpool.ll
    M llvm/test/CodeGen/PowerPC/mergeable-string-pool-exceptions.ll
    M llvm/test/CodeGen/PowerPC/mergeable-string-pool-tls.ll

  Log Message:
  -----------
  [PPC] Remove missed cases of ppc-merge-string-pool (#117626)

PPCMergeStringPool was replaced with GlobalMerge with commit aaa37d6.
Some cases of option ppc-merge-string-pool were missed being removed.


  Commit: 0ca8a593e5da5d00100db8f735b4c4babeb36eb8
      https://github.com/llvm/llvm-project/commit/0ca8a593e5da5d00100db8f735b4c4babeb36eb8
  Author: Alex Langford <alangford at apple.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

  Log Message:
  -----------
  [lldb][NFC] Remove unused field Platform::m_remote_url (#118411)

Related:
https://discourse.llvm.org/t/rfc-lldb-a-proposal-to-refactor-platform/82697


  Commit: 0c6457b781ae8365ef2169376ae78675b5b4896b
      https://github.com/llvm/llvm-project/commit/0c6457b781ae8365ef2169376ae78675b5b4896b
  Author: Mason Remy <masonr at microsoft.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/test/TableGen/intrinsic-overload-conflict.td
    M llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp

  Log Message:
  -----------
  [LLVM][TableGen] Refine overloaded intrinsic suffix check (#117957)

Previously the check comments indicated that [pi][0-9]+ would match as a
type suffix, however the check itself was looking for [pi][0-9]* and
hence an 'i' suffix in isolation was being considered as a type suffix
despite it not having a bitwidth.

This change makes the check consistent with the comment and looks for
[pi][0-9]+


  Commit: deed1b0664e85cd3bb33451a81db52459d9f7663
      https://github.com/llvm/llvm-project/commit/deed1b0664e85cd3bb33451a81db52459d9f7663
  Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp

  Log Message:
  -----------
  [SystemZ] Fix address parsing in HLASM mode

When parsing an address that contains only a single register
for an instruction that actually has both a base and an index
register, the parsed register is treated as base by AsmParser.

This is correct when emulating the GNU assembler, but not when
emulating HLASM, as the latter treat the register as index in
this case.


  Commit: 9791f258079a4334c61c64cb62d9746a3db2c25c
      https://github.com/llvm/llvm-project/commit/9791f258079a4334c61c64cb62d9746a3db2c25c
  Author: Aidan Goldfarb <47676355+AidanGoldfarb at users.noreply.github.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/include/clang/Basic/Features.def
    M clang/test/Sema/enum.c

  Log Message:
  -----------
  [clang][sema] Add support and documentation for `__has_extension(c_fixed_enum)` (#117507)

This PR addresses #116880 

Updated
[LanguageExtensions.rst](https://github.com/llvm/llvm-project/blob/main/clang/docs/LanguageExtensions.rst)
to include support for C++11 enumerations with a fixed underlying type
in C. Included a note that this is only a language extension prior to
C23.

Updated
[Features.def](https://github.com/llvm-mirror/clang/blob/master/include/clang/Basic/Features.def)
to support for `__has_extension(c_fixed_enum)` by added it as a feature
(for C23) and an extension (for <C23).

Updated
[enum.c](https://github.com/llvm/llvm-project/blob/main/clang/test/Sema/enum.c)
to ensure support of C++11 enumerations with a fixed underlying type in
both <C23 and C23, as well as the functionality of
`__has_extension(c_fixed_enum)`.

---

In enum.c, I encountered a warning when testing enumerations with a
fixed underlying type in pre-C23 modes. Specifically, the test produces
the warning: `enumeration types with a fixed underlying type are a C23
extension`. I am unsure if this warning is expected behavior, as
enumerations with a fixed underlying type should behave identically in
pre-C23 and C23 modes. I expected that adding `c_fixed_enum` as an
extension would fix this warning. Feedback on whether this is correct or
requires adjustment would be appreciated.

I was also unsure of the best location for the additions in
`Features.def`, I would appreciate advice on this as well

Note that this is my first PR to LLVM, so please liberally critique it!


  Commit: acf3b1aa932b2237c181686e52bc61584a80a3ff
      https://github.com/llvm/llvm-project/commit/acf3b1aa932b2237c181686e52bc61584a80a3ff
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    A llvm/include/llvm/CodeGen/DroppedVariableStats.h
    M llvm/include/llvm/Passes/StandardInstrumentations.h
    M llvm/lib/CodeGen/CMakeLists.txt
    A llvm/lib/CodeGen/DroppedVariableStats.cpp
    M llvm/lib/Passes/StandardInstrumentations.cpp
    M llvm/unittests/CodeGen/CMakeLists.txt
    A llvm/unittests/CodeGen/DroppedVariableStatsIRTest.cpp
    M llvm/unittests/IR/CMakeLists.txt
    R llvm/unittests/IR/DroppedVariableStatsTest.cpp

  Log Message:
  -----------
  Reland [NFC] Move DroppedVariableStats to its own file and redesign it to be extensible. (#117042)

Moved the IR unit test to the CodeGen folder to resolve linker errors:

`error: undefined reference to 'vtable for
llvm::DroppedVariableStatsIR'`

This patch is trying to reland
https://github.com/llvm/llvm-project/pull/115563


  Commit: 4dd5ac906f9efdba3034b70acdda406348dc6f53
      https://github.com/llvm/llvm-project/commit/4dd5ac906f9efdba3034b70acdda406348dc6f53
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

  Log Message:
  -----------
  [RISCV] Improve coverage for spread(N) shuffles

I'd already included a few cases for spread(N) in the decompress(N) variants,
but rename for clarity and add a couple more edge cases.

i.e. spread(N, 0) produces a, undef, b, undef, ...


  Commit: b8805c88ce09fe8cc7e469162cbef05722559566
      https://github.com/llvm/llvm-project/commit/b8805c88ce09fe8cc7e469162cbef05722559566
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

  Log Message:
  -----------
  [RISCV] Clang-format a few lines to remove diff in a nearby patch


  Commit: 4b9bf660f3a3db3b22dd33aa5b23986748b09ec3
      https://github.com/llvm/llvm-project/commit/4b9bf660f3a3db3b22dd33aa5b23986748b09ec3
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

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


  Commit: 25b1896686177673dcd548489e92c7880d576948
      https://github.com/llvm/llvm-project/commit/25b1896686177673dcd548489e92c7880d576948
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/test/Sema/enum.c

  Log Message:
  -----------
  Fix test for bots where -std=c99 is the default

Amends 9791f258079a4334c61c64cb62d9746a3db2c25c

This addresses the issue found by:
https://lab.llvm.org/buildbot/#/builders/144/builds/13023


  Commit: f7151248579330df8ea68003f60b778149e0f262
      https://github.com/llvm/llvm-project/commit/f7151248579330df8ea68003f60b778149e0f262
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M lldb/tools/lldb-dap/package.json

  Log Message:
  -----------
  [lldb-dap] Fix the vscode-uninstall command

The command was using the wrong publisher name ("llvm" rather than
"llvm-vs-code-extensions") resulting in the command complaining:

```
npm run vscode-uninstall

> lldb-dap at 0.2.6 vscode-uninstall
> code --uninstall-extension llvm.lldb-dap

Extension 'llvm.lldb-dap' is not installed.
Make sure you use the full extension ID, including the publisher, e.g.: ms-dotnettools.csharp
```


  Commit: 0ccd18ead138e9efc56b6c16ded6c3f4df86ae91
      https://github.com/llvm/llvm-project/commit/0ccd18ead138e9efc56b6c16ded6c3f4df86ae91
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

  Log Message:
  -----------
  Typo fix; NFC


  Commit: 384562495bae44be053c1bbd40c359ef4b82d803
      https://github.com/llvm/llvm-project/commit/384562495bae44be053c1bbd40c359ef4b82d803
  Author: John Harrison <harjohn at google.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M lldb/include/lldb/Host/Socket.h
    M lldb/include/lldb/Host/common/TCPSocket.h
    M lldb/include/lldb/Host/posix/DomainSocket.h
    M lldb/source/Host/common/TCPSocket.cpp
    M lldb/source/Host/posix/DomainSocket.cpp
    M lldb/unittests/Host/SocketTest.cpp

  Log Message:
  -----------
  [lldb] For a host socket, add a method to print the listening address. (#118330)

This is most useful if you are listening on an address like
'localhost:0' and want to know the resolved ip + port of the socket
listener.


  Commit: fc11b6790e7439edc5399d1c9626c538d5520e6c
      https://github.com/llvm/llvm-project/commit/fc11b6790e7439edc5399d1c9626c538d5520e6c
  Author: nawrinsu <nawrin.sultana at intel.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  [LLVM][Maintainers] Update LLVM maintainers for OpenMP runtime (#118521)


  Commit: cd04653c4e7d66e9d3cc8e442c4fd6ef124702a9
      https://github.com/llvm/llvm-project/commit/cd04653c4e7d66e9d3cc8e442c4fd6ef124702a9
  Author: wldfngrs <wldfngrs at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/math/index.rst
    M libc/newhdrgen/yaml/math.yaml
    M libc/src/math/CMakeLists.txt
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/sincosf16_utils.h
    A libc/src/math/generic/sinf16.cpp
    M libc/src/math/generic/tanpif16.cpp
    A libc/src/math/sinf16.h
    M libc/test/src/math/CMakeLists.txt
    A libc/test/src/math/sinf16_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/sinf16_test.cpp

  Log Message:
  -----------
  [libc][math][c23] Add sinf16 C23 math function (#116674)

Co-authored-by: OverMighty <its.overmighty at gmail.com>


  Commit: 2d57333da432921762323718351a21532867588c
      https://github.com/llvm/llvm-project/commit/2d57333da432921762323718351a21532867588c
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M flang/lib/Lower/ConvertExprToHLFIR.cpp

  Log Message:
  -----------
  [flang] Fix crash in HLFIR generation (#118399)

Structure constructors with multiple components would crash when
components were from parent types. The search for the right parent
component must be done anew for each component.

Fixes https://github.com/llvm/llvm-project/issues/118270,
https://github.com/llvm/llvm-project/issues/96994, and
https://github.com/llvm/llvm-project/issues/105848.


  Commit: d6cd214dd6ae35ea50be4fdc296ef9091f762375
      https://github.com/llvm/llvm-project/commit/d6cd214dd6ae35ea50be4fdc296ef9091f762375
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

  Log Message:
  -----------
  [ThinLTO][LowerTypeTests] Don't compute address taken set unless CFI (NFC) (#118508)

The AddressTaken set used for CFI with regular LTO was being computed on
the ExportSummary regardless of whether any CFI metadata existed. In the
case of ThinLTO, the ExportSummary is the global summary index for the
target, and the lack of guard in this code meant this was being computed
on the ThinLTO index even when there was an empty regular LTO module,
since the backend is called on the combined module to generate the
expected output file (normally this is trivial as there is no IR).

Move the computation of the AddressTaken set into the condition checking
for CFI to avoid this overhead. This change resulted in a 20% speedup in
the thin link of a large target. It looks like the outer loop has
existed here for several years, but likely became a larger overhead
after the inner loop was added very recently in PR113987.

I will send a separate patch to refactor the ThinLTO backend handling to
avoid invoking the opt pipeline if the module is empty, in case there
are other summary-based analyses in some of the passes now or in the
future. This change is still desireable as by default regular LTO
modules contain summaries, or we can have split thin and regular LTO
modules, and if they don't involve CFI these would still unnecessarily
compute the AddressTaken set.


  Commit: fdd09e9de579e6915d467c1b72efb8c653739602
      https://github.com/llvm/llvm-project/commit/fdd09e9de579e6915d467c1b72efb8c653739602
  Author: Rashmi Mudduluru <r_mudduluru at apple.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
    M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
    M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp

  Log Message:
  -----------
  [ASTMatchers] AST matcher support for ObjC pointers (#117021)

Add `ObjCInterfaceDecl` to the list of types supported by the `hasType`
and `hasDeclaration` matchers, `ObjCObjectPointerType` to the list of
types supported by `pointee`.
These AST matcher improvements will help the new WebKit checker for
unsafe casts
([https://github.com/llvm/llvm-project/pull/114606](https://github.com/llvm/llvm-project/pull/114606))
match on unsafe Objective-C pointer casts.


  Commit: e0ae7793fca0c78919bc41ffd407acb62146ad47
      https://github.com/llvm/llvm-project/commit/e0ae7793fca0c78919bc41ffd407acb62146ad47
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M libc/CMakeLists.txt
    M libc/cmake/modules/LLVMLibCHeaderRules.cmake
    R libc/config/baremetal/api.td
    R libc/config/gpu/api.td
    R libc/config/linux/api.td
    R libc/config/public_api.td
    M libc/docs/dev/header_generation.rst
    M libc/docs/gpu/building.rst
    M libc/include/CMakeLists.txt
    R libc/spec/bsd_ext.td
    R libc/spec/gnu_ext.td
    R libc/spec/gpu_ext.td
    R libc/spec/linux.td
    R libc/spec/llvm_libc_ext.td
    R libc/spec/llvm_libc_stdfix_ext.td
    R libc/spec/posix.td
    R libc/spec/spec.td
    R libc/spec/stdc.td
    R libc/spec/stdc_ext.td
    M libc/test/src/CMakeLists.txt
    R libc/utils/HdrGen/CMakeLists.txt
    R libc/utils/HdrGen/Command.cpp
    R libc/utils/HdrGen/Command.h
    R libc/utils/HdrGen/Generator.cpp
    R libc/utils/HdrGen/Generator.h
    R libc/utils/HdrGen/IncludeFileCommand.cpp
    R libc/utils/HdrGen/IncludeFileCommand.h
    R libc/utils/HdrGen/Main.cpp
    R libc/utils/HdrGen/PrototypeTestGen/CMakeLists.txt
    R libc/utils/HdrGen/PrototypeTestGen/PrototypeTestGen.cpp
    R libc/utils/HdrGen/PublicAPICommand.cpp
    R libc/utils/HdrGen/PublicAPICommand.h
    R libc/utils/HdrGen/README.md
    R libc/utils/LibcTableGenUtil/APIIndexer.cpp
    R libc/utils/LibcTableGenUtil/APIIndexer.h
    R libc/utils/LibcTableGenUtil/CMakeLists.txt
    M llvm/CMakeLists.txt
    M llvm/runtimes/CMakeLists.txt

  Log Message:
  -----------
  [libc] delete hdrgen (#117220)

Thanks to the effort of @RoseZhang03 and @aaryanshukla under the
guidance of
@michaelrj-google and @amykhuang, we now have newhdrgen and no longer
have a
dependency on TableGen and thus LLVM in order to start bootstrapping a
full
build.

This PR removes:
- LIBC_HDRGEN_EXE; the in tree newhdrgen is the only hdrgen that can be
used.
- LIBC_USE_NEW_HEADER_GEN; newhdrgen is the default and only option.
- LIBC_HDRGEN_ONLY; there is no need to have a distinct build step for
old
  hdrgen.
- libc-api-test and libc-api-test-tidy build targets.
- Deletes all .td files.

It does not rename newhdrgen to just hdrgen. Will follow up with a
distinct PR
for that.

Link: #117209
Link: #117254
Fixes: #117208


  Commit: a0c4f854cad2b97e44a1b58dc1fd982e1c4d60f3
      https://github.com/llvm/llvm-project/commit/a0c4f854cad2b97e44a1b58dc1fd982e1c4d60f3
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M libc/src/__support/ctype_utils.h
    M libc/src/__support/high_precision_decimal.h
    M libc/src/__support/integer_literals.h
    M libc/src/__support/integer_to_string.h
    M libc/src/__support/str_to_float.h
    M libc/src/__support/str_to_integer.h
    M libc/src/ctype/isxdigit.cpp
    M libc/src/ctype/isxdigit_l.cpp
    M libc/src/ctype/toupper.cpp
    M libc/src/ctype/toupper_l.cpp
    M libc/src/stdio/printf_core/fixed_converter.h
    M libc/src/stdio/printf_core/float_dec_converter.h
    M libc/src/stdio/printf_core/float_hex_converter.h
    M libc/src/stdio/printf_core/float_inf_nan_converter.h
    M libc/src/stdio/printf_core/int_converter.h
    M libc/src/stdio/scanf_core/converter_utils.h
    M libc/src/stdio/scanf_core/float_converter.cpp
    M libc/src/stdio/scanf_core/int_converter.cpp
    M libc/src/stdio/scanf_core/ptr_converter.cpp
    M libc/test/UnitTest/MemoryMatcher.cpp
    M libc/test/src/__support/CPP/stringview_test.cpp
    M libc/test/src/ctype/isalnum_test.cpp
    M libc/test/src/ctype/isalpha_test.cpp
    M libc/test/src/ctype/isdigit_test.cpp
    M libc/test/src/ctype/islower_test.cpp
    M libc/test/src/ctype/isupper_test.cpp
    M libc/test/src/ctype/isxdigit_test.cpp
    M libc/test/src/ctype/tolower_test.cpp
    M libc/test/src/ctype/toupper_test.cpp
    M libc/test/src/stdlib/StrtolTest.h
    M libc/test/src/string/strcmp_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel

  Log Message:
  -----------
  [libc] Change ctype to be encoding independent (#110574)

The previous implementation of the ctype functions assumed ASCII.
This patch changes to a switch/case implementation that looks odd, but
actually is easier for the compiler to understand and optimize.


  Commit: 249755cedb17ffa707253edcef1a388f807caa35
      https://github.com/llvm/llvm-project/commit/249755cedb17ffa707253edcef1a388f807caa35
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/DroppedVariableStats.h
    M llvm/include/llvm/CodeGen/MachineFunctionPass.h
    M llvm/lib/CodeGen/DroppedVariableStats.cpp
    M llvm/lib/CodeGen/MachineFunctionPass.cpp
    M llvm/unittests/CodeGen/CMakeLists.txt
    A llvm/unittests/CodeGen/DroppedVariableStatsMIRTest.cpp

  Log Message:
  -----------
  Reland "Add a pass to collect dropped var stats for MIR" (#117044)

Moved the MIR Test to the unittests/CodeGen folder

This is patch is part of a stack of patches, and follows
https://github.com/llvm/llvm-project/pull/117042

I moved the MIR test to the unittests/CodeGen folder 

I am trying to reland https://github.com/llvm/llvm-project/pull/115566


  Commit: 51553227f010e3a9a439b2e57af15a6797f69a90
      https://github.com/llvm/llvm-project/commit/51553227f010e3a9a439b2e57af15a6797f69a90
  Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M offload/CMakeLists.txt
    M offload/cmake/OpenMPTesting.cmake
    R offload/liboffload/API/APIDefs.td
    R offload/liboffload/API/CMakeLists.txt
    R offload/liboffload/API/Common.td
    R offload/liboffload/API/Device.td
    R offload/liboffload/API/OffloadAPI.td
    R offload/liboffload/API/Platform.td
    R offload/liboffload/API/README.md
    R offload/liboffload/CMakeLists.txt
    R offload/liboffload/README.md
    R offload/liboffload/exports
    R offload/liboffload/include/OffloadImpl.hpp
    R offload/liboffload/include/generated/OffloadAPI.h
    R offload/liboffload/include/generated/OffloadEntryPoints.inc
    R offload/liboffload/include/generated/OffloadFuncs.inc
    R offload/liboffload/include/generated/OffloadImplFuncDecls.inc
    R offload/liboffload/include/generated/OffloadPrint.hpp
    R offload/liboffload/src/Helpers.hpp
    R offload/liboffload/src/OffloadImpl.cpp
    R offload/liboffload/src/OffloadLib.cpp
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/test/lit.cfg
    M offload/test/lit.site.cfg.in
    R offload/test/tools/offload-tblgen/default_returns.td
    R offload/test/tools/offload-tblgen/entry_points.td
    R offload/test/tools/offload-tblgen/functions_basic.td
    R offload/test/tools/offload-tblgen/functions_code_loc.td
    R offload/test/tools/offload-tblgen/functions_ranged_param.td
    R offload/test/tools/offload-tblgen/print_enum.td
    R offload/test/tools/offload-tblgen/print_function.td
    R offload/test/tools/offload-tblgen/type_tagged_enum.td
    R offload/tools/offload-tblgen/APIGen.cpp
    R offload/tools/offload-tblgen/CMakeLists.txt
    R offload/tools/offload-tblgen/EntryPointGen.cpp
    R offload/tools/offload-tblgen/FuncsGen.cpp
    R offload/tools/offload-tblgen/GenCommon.hpp
    R offload/tools/offload-tblgen/Generators.hpp
    R offload/tools/offload-tblgen/PrintGen.cpp
    R offload/tools/offload-tblgen/RecordTypes.hpp
    R offload/tools/offload-tblgen/offload-tblgen.cpp
    M offload/unittests/CMakeLists.txt
    R offload/unittests/OffloadAPI/CMakeLists.txt
    R offload/unittests/OffloadAPI/common/Environment.cpp
    R offload/unittests/OffloadAPI/common/Environment.hpp
    R offload/unittests/OffloadAPI/common/Fixtures.hpp
    R offload/unittests/OffloadAPI/device/olDeviceInfo.hpp
    R offload/unittests/OffloadAPI/device/olGetDevice.cpp
    R offload/unittests/OffloadAPI/device/olGetDeviceCount.cpp
    R offload/unittests/OffloadAPI/device/olGetDeviceInfo.cpp
    R offload/unittests/OffloadAPI/device/olGetDeviceInfoSize.cpp
    R offload/unittests/OffloadAPI/platform/olGetPlatform.cpp
    R offload/unittests/OffloadAPI/platform/olGetPlatformCount.cpp
    R offload/unittests/OffloadAPI/platform/olGetPlatformInfo.cpp
    R offload/unittests/OffloadAPI/platform/olGetPlatformInfoSize.cpp
    R offload/unittests/OffloadAPI/platform/olPlatformInfo.hpp

  Log Message:
  -----------
  Revert "Reland of #108413: [Offload] Introduce offload-tblgen and initial new API implementation" (#118541)

Reverts llvm/llvm-project#118503

Broke bot
https://lab.llvm.org/staging/#/builders/131/builds/9701/steps/5/logs/stdio


  Commit: d8b5af45040431c44c1766aa505a6edb786ef81b
      https://github.com/llvm/llvm-project/commit/d8b5af45040431c44c1766aa505a6edb786ef81b
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/DroppedVariableStats.h
    M llvm/include/llvm/CodeGen/MachineFunctionPass.h
    M llvm/lib/CodeGen/DroppedVariableStats.cpp
    M llvm/lib/CodeGen/MachineFunctionPass.cpp
    M llvm/unittests/CodeGen/CMakeLists.txt
    R llvm/unittests/CodeGen/DroppedVariableStatsMIRTest.cpp

  Log Message:
  -----------
  Revert "Reland "Add a pass to collect dropped var stats for MIR" (#117044)"

This reverts commit 249755cedb17ffa707253edcef1a388f807caa35.

Broke https://lab.llvm.org/buildbot/#/builders/160/builds/9420

Note: This is test shard 99 of 154.
[==========] Running 2 tests from 2 test suites.
[----------] Global test environment set-up.
[----------] 1 test from DroppedVariableStatsMIR
[ RUN      ] DroppedVariableStatsMIR.InlinedAt

--
exit: -11


  Commit: 80987ef4b609301c0f4cf2de62f91aff6d32418f
      https://github.com/llvm/llvm-project/commit/80987ef4b609301c0f4cf2de62f91aff6d32418f
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    R llvm/include/llvm/CodeGen/DroppedVariableStats.h
    M llvm/include/llvm/Passes/StandardInstrumentations.h
    M llvm/lib/CodeGen/CMakeLists.txt
    R llvm/lib/CodeGen/DroppedVariableStats.cpp
    M llvm/lib/Passes/StandardInstrumentations.cpp
    M llvm/unittests/CodeGen/CMakeLists.txt
    R llvm/unittests/CodeGen/DroppedVariableStatsIRTest.cpp
    M llvm/unittests/IR/CMakeLists.txt
    A llvm/unittests/IR/DroppedVariableStatsTest.cpp

  Log Message:
  -----------
  Revert "Reland [NFC] Move DroppedVariableStats to its own file and redesign it to be extensible. (#117042)"

This reverts commit acf3b1aa932b2237c181686e52bc61584a80a3ff.

Broke https://lab.llvm.org/buildbot/#/builders/76/builds/5002

tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/BackendUtil.cpp.o:(.toc+0x258): undefined reference to `vtable for llvm::DroppedVariableStatsIR'


  Commit: 9bf6365237f3a8a401afc0a69d2fb6d1b809ce68
      https://github.com/llvm/llvm-project/commit/9bf6365237f3a8a401afc0a69d2fb6d1b809ce68
  Author: Lee Wei <lee10202013 at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/test/Transforms/ObjCARC/allocas.ll
    M llvm/test/Transforms/ObjCARC/basic.ll
    M llvm/test/Transforms/ObjCARC/cfg-hazards.ll
    M llvm/test/Transforms/ObjCARC/contract-testcases.ll
    M llvm/test/Transforms/ObjCARC/empty-block.ll
    M llvm/test/Transforms/ObjCARC/path-overflow.ll
    M llvm/test/Transforms/Reassociate/2011-01-26-UseAfterFree.ll
    M llvm/test/Transforms/Reassociate/2012-06-08-InfiniteLoop.ll
    M llvm/test/Transforms/Reassociate/add_across_block_crash.ll
    M llvm/test/Transforms/Reassociate/infloop-deadphi.ll
    M llvm/test/Transforms/Reassociate/reassociate-landingpad.ll
    M llvm/test/Transforms/SCCP/2004-12-10-UndefBranchBug.ll
    M llvm/test/Transforms/SCCP/2006-10-23-IPSCCP-Crash.ll
    M llvm/test/Transforms/SCCP/2008-01-27-UndefCorrelate.ll
    M llvm/test/Transforms/SCCP/PR26044.ll
    M llvm/test/Transforms/SCCP/crash.ll
    M llvm/test/Transforms/SCCP/domtree-update.ll
    M llvm/test/Transforms/SCCP/fp-bc-icmp-const-fold.ll
    M llvm/test/Transforms/SCCP/ipsccp-preserve-pdt.ll
    M llvm/test/Transforms/SCCP/pr49582-iterator-invalidation.ll
    M llvm/test/Transforms/SCCP/return-zapped.ll
    M llvm/test/Transforms/SCCP/solve-after-each-resolving-undefs-for-function.ll
    M llvm/test/Transforms/SCCP/switch-constantfold-crash.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/minimum-sizes.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/reorder-fmuladd-crash.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/trunc-insertion.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_7zip.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_bullet.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_bullet3.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_dequeue.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_flop7.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_lencod-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_lencod.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_mandeltext.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_sim4b1.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_smallpt.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_vectorizeTree.ll
    M llvm/test/Transforms/SLPVectorizer/X86/cse.ll
    M llvm/test/Transforms/SLPVectorizer/X86/memory-runtime-checks.ll
    M llvm/test/Transforms/SLPVectorizer/X86/no-scheduled-instructions.ll
    M llvm/test/Transforms/SLPVectorizer/X86/ordering.ll
    M llvm/test/Transforms/SLPVectorizer/X86/partail.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi_overalignedtype.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr16571.ll
    M llvm/test/Transforms/SLPVectorizer/X86/remark_unsupported.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder_repeated_ops.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder_with_reordered_users.ll
    M llvm/test/Transforms/SLPVectorizer/X86/resched.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reuse-extracts-in-wider-vect.ll
    M llvm/test/Transforms/SLPVectorizer/X86/revectorized_rdx_crash.ll
    M llvm/test/Transforms/SLPVectorizer/X86/value-bug-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/value-bug.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vectorize-widest-phis.ll
    M llvm/test/Transforms/SLPVectorizer/slp-umax-rdx-matcher-crash.ll
    M llvm/test/Transforms/Scalarizer/crash-bug.ll
    M llvm/test/Transforms/Scalarizer/dbgloc-bug-inseltpoison.ll
    M llvm/test/Transforms/Scalarizer/dbgloc-bug.ll
    M llvm/test/Transforms/Scalarizer/phi-unreachable-pred.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/2011-06-02-CritSwitch.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/2012-04-30-LoopUnswitch-LPad-Crash.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/2015-09-18-Addrspace.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/delete-dead-blocks.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/formDedicatedAfterTrivial1.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/guards.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/pr37888.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/preserve-analyses.ll
    M llvm/test/Transforms/SimplifyCFG/2004-12-10-SimplifyCFGCrash.ll
    M llvm/test/Transforms/SimplifyCFG/2006-06-12-InfLoop.ll
    M llvm/test/Transforms/SimplifyCFG/branch-on-undef.ll
    M llvm/test/Transforms/SimplifyCFG/fold-branch-to-common-dest.ll
    M llvm/test/Transforms/SimplifyCFG/pr34131.ll
    M llvm/test/Transforms/Sink/dead-user.ll
    M llvm/test/Transforms/SpeculativeExecution/PR46267.ll
    M llvm/test/Transforms/StructurizeCFG/loop-continue-phi.ll

  Log Message:
  -----------
  [llvm] Remove `br i1 undef` from some regression tests [NFC] (#118419)

This PR removes tests with `br i1 undef` under
`llvm/tests/Transforms/ObjCARC, Reassociate, SCCP, SLPVectorizer...`.
After this PR, I'll continue to fix tests under `llvm/tests/CodeGen`,
which has more UB tests than `llvm/tests/Transforms`.


  Commit: fef54d0393fda144a23d764f96d42f5e1d17ab3e
      https://github.com/llvm/llvm-project/commit/fef54d0393fda144a23d764f96d42f5e1d17ab3e
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    A llvm/lib/Target/AMDGPU/AMDGPURegBankLegalize.cpp
    A llvm/lib/Target/AMDGPU/AMDGPURegBankSelect.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui-regbanklegalize.mir
    A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui-regbankselect.mir
    A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui-salu-float.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui-salu-float.mir
    A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui.mir

  Log Message:
  -----------
  AMDGPU/GlobalISel: Add skeletons for new register bank select passes (#112862)

New register bank select for AMDGPU will be split in two passes:
- AMDGPURegBankSelect: select banks based on machine uniformity analysis
- AMDGPURegBankLegalize: lower instructions that can't be inst-selected
  with register banks assigned by AMDGPURegBankSelect.
AMDGPURegBankLegalize is similar to legalizer but with context of
uniformity analysis. Does not change already assigned banks.
Main goal of AMDGPURegBankLegalize is to provide high level table-like
overview of how to lower generic instructions based on available target
features and uniformity info (uniform vs divergent).
See RegBankLegalizeRules.

Summary of new features:
At the moment register bank select assigns register bank to output
register using simple algorithm:
- one of the inputs is vgpr output is vgpr
- all inputs are sgpr output is sgpr.
When function does not contain divergent control flow propagating
register banks like this works. In general, first point is still correct
but second is not when function contains divergent control flow.
Examples:
- Phi with uniform inputs that go through divergent branch
- Instruction with temporal divergent use.
To fix this AMDGPURegBankSelect will use machine uniformity analysis
to assign vgpr to each divergent and sgpr to each uniform instruction.
But some instructions are only available on VALU (for example floating
point instructions before gfx1150) and we need to assign vgpr to them.
Since we are no longer propagating register banks we need to ensure that
uniform instructions get their inputs in sgpr in some way.
In AMDGPURegBankLegalize uniform instructions that are only available on
VALU will be reassigned to vgpr on all operands and read-any-lane vgpr
output to original sgpr output.


  Commit: 45ff28746f5f6350a95d8d9a3e3b3a62b932bce9
      https://github.com/llvm/llvm-project/commit/45ff28746f5f6350a95d8d9a3e3b3a62b932bce9
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/ConstraintSystem.h
    M llvm/test/Transforms/ConstraintElimination/constraint-overflow.ll

  Log Message:
  -----------
  [ConstraintSystem] Fix signed overflow in negate.

Use AddOverflow for potentially overflowing addition to fixed signed
integer overflow.

Compile-time impact is in the noise
https://llvm-compile-time-tracker.com/compare.php?from=bfb26202e05ee2932b4368b5fca607df01e8247f&to=195b0707148b567c674235e59712458e7ce1bb0e&stat=instructions:u


  Commit: 69e9ceb04343ee661b53a49d61158a0e81250d32
      https://github.com/llvm/llvm-project/commit/69e9ceb04343ee661b53a49d61158a0e81250d32
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

  Log Message:
  -----------
  [gn build] Port 80987ef4b609


  Commit: 7417ba67305747469e9636af68476faf12eefbcc
      https://github.com/llvm/llvm-project/commit/7417ba67305747469e9636af68476faf12eefbcc
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

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


  Commit: b5b15c1973935da943e8cee26dc961c6dbe339b9
      https://github.com/llvm/llvm-project/commit/b5b15c1973935da943e8cee26dc961c6dbe339b9
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/docs/tools/dump_ast_matchers.py

  Log Message:
  -----------
  [ast matcher][NFC] make dump_ast_matchers.py run in any path (#117942)


  Commit: d5956fb8f999e60af8bede8b17b02ca3a7b7cf4f
      https://github.com/llvm/llvm-project/commit/d5956fb8f999e60af8bede8b17b02ca3a7b7cf4f
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M bolt/lib/Passes/VeneerElimination.cpp
    M bolt/test/AArch64/veneer-lld-abs.s

  Log Message:
  -----------
  [BOLT][AArch64] Add support for short LLD thunks/veneers (#118422)

When a callee function is closer than 256MB from its call site, LLD
linker can strategically create a short thunk for the function with a
single branch instruction (that covers +/-128MB). Detect and convert
such thunks into direct calls in BOLT.


  Commit: a9bf16d961e9bb0923b401bc26697c6ca707a1f5
      https://github.com/llvm/llvm-project/commit/a9bf16d961e9bb0923b401bc26697c6ca707a1f5
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp
    M clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp
    M clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
    M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
    M clang/lib/StaticAnalyzer/Core/SVals.cpp

  Log Message:
  -----------
  [StaticAnalyzer] Migrate away from PointerUnion::{is,get} (NFC) (#118421)

Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:

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

I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.


  Commit: c8060423fe153fcb8febbebc4a043123b7a29a7b
      https://github.com/llvm/llvm-project/commit/c8060423fe153fcb8febbebc4a043123b7a29a7b
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M libcxx/include/__atomic/atomic.h

  Log Message:
  -----------
  [libc++] Drop dependency on __functional/operations.h from <atomic> (#117302)

This should reduce the preprocessed size of the atomic header and other
headers in the synchronization library.


  Commit: 5522d2462ed261a9c60fda2d56c65978a70a1793
      https://github.com/llvm/llvm-project/commit/5522d2462ed261a9c60fda2d56c65978a70a1793
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Passes/Pipelines.h
    M flang/lib/Optimizer/Passes/Pipelines.cpp
    M flang/lib/Optimizer/Transforms/AbstractResult.cpp
    M flang/test/Driver/bbc-mlir-pass-pipeline.f90
    M flang/test/Driver/mlir-debug-pass-pipeline.f90
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Fir/basic-program.fir

  Log Message:
  -----------
  [flang][cuda] Allow AbstractResult to run in gpu.module (#118529)

in CUDA Fortran, device function are converted to `gpu.func` inside the
`gpu.module` operation. Update the AbstractResult pass to be able to run
on `func.func` and `gpu.func` operations inside the `gpu.module`.


  Commit: 0c8928d456ac3ef23ed25bfc9e5d491dd7b62a11
      https://github.com/llvm/llvm-project/commit/0c8928d456ac3ef23ed25bfc9e5d491dd7b62a11
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    A 0001-Reland-Add-a-pass-to-collect-dropped-var-stats-for-M.patch
    A 0001-Reland-NFC-Move-DroppedVariableStats-to-its-own-file.patch
    A llvm/include/llvm/CodeGen/DroppedVariableStats.h
    M llvm/include/llvm/Passes/StandardInstrumentations.h
    M llvm/lib/CodeGen/CMakeLists.txt
    A llvm/lib/CodeGen/DroppedVariableStats.cpp
    M llvm/lib/Passes/StandardInstrumentations.cpp
    M llvm/unittests/CodeGen/CMakeLists.txt
    A llvm/unittests/CodeGen/DroppedVariableStatsIRTest.cpp
    M llvm/unittests/IR/CMakeLists.txt
    R llvm/unittests/IR/DroppedVariableStatsTest.cpp

  Log Message:
  -----------
  Reland "[NFC] Move DroppedVariableStats to its own file and redesign it to be extensible. (#117042)" (#118546)

Removed the virtual destructor in the derived
class DroppedVariableStatsIR


  Commit: 1e7171f692d0fad37aad0674c6b7c904540a9a0c
      https://github.com/llvm/llvm-project/commit/1e7171f692d0fad37aad0674c6b7c904540a9a0c
  Author: David Green <david.green at arm.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/concat-vector.ll
    M llvm/test/CodeGen/AArch64/vecreduce-add.ll

  Log Message:
  -----------
  [AArch64] Add tablegen patterns for concat(extract-high, extract-high) (#118286)

A `concat(extract-high(x), extract-high(y))` is the top half of x
inserted into the bottom half of y. This patch adds a tablegen pattern
to make sure that we generate a single i64 lane insert.


  Commit: e2472d3b120659ba7cd0e0dd0c6bf1260957fe47
      https://github.com/llvm/llvm-project/commit/e2472d3b120659ba7cd0e0dd0c6bf1260957fe47
  Author: Matthias Braun <matze at braunis.de>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/test/CodeGen/attr-target-x86.c

  Log Message:
  -----------
  Rework attr-target-x86 test (#117091)

Rework the attr-target-x86 test so the CHECK lines for the attributes
are next to their corresponding `__attribute__`.


  Commit: b206ba1867763a2b09e33649446599538c84d334
      https://github.com/llvm/llvm-project/commit/b206ba1867763a2b09e33649446599538c84d334
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

  Log Message:
  -----------
  [gn build] Port 0c8928d456ac


  Commit: f2fa9ac6169758268bc16c46ec80da2e88ad7f2c
      https://github.com/llvm/llvm-project/commit/f2fa9ac6169758268bc16c46ec80da2e88ad7f2c
  Author: k-kashapov <52855633+k-kashapov at users.noreply.github.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

  Log Message:
  -----------
  [nfc][MSan] Change for-loop to ArgNo instead of drop_begin (#117553)

As discussed in
https://github.com/llvm/llvm-project/pull/109284#discussion_r1838830571
Changed for loop to use `ArgNo` instead of `drop_begin` to keep loop
code consistent with other helpers.

Co-authored-by: Kamil Kashapov <kashapov at ispras.ru>


  Commit: c7d38591be8b5c581c228313d2972cb758221cc2
      https://github.com/llvm/llvm-project/commit/c7d38591be8b5c581c228313d2972cb758221cc2
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/lib/ASTMatchers/Dynamic/Registry.cpp

  Log Message:
  -----------
  [ast matcher] add `ExportDecl` in dynamically matchers (#118258)


  Commit: ea6cdb9a0708330089d583ce20aeaf81eec94ff7
      https://github.com/llvm/llvm-project/commit/ea6cdb9a0708330089d583ce20aeaf81eec94ff7
  Author: Matthias Braun <matze at braunis.de>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/lib/Basic/Targets/X86.cpp
    M clang/test/CodeGen/attr-target-x86.c

  Log Message:
  -----------
  allow prefer 256 bit attribute target (#117092)

This allows
`__attribute__((target("prefer-256-bit")))` /
`__attribute__((target("no-prefer-256-bit")))` to create variants of a
functions with 256/512 bit vector sizes within the same application.


  Commit: c8b7ec2edd8d84729070e455002d1e78bdceddc5
      https://github.com/llvm/llvm-project/commit/c8b7ec2edd8d84729070e455002d1e78bdceddc5
  Author: Akira Hatanaka <ahatanak at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticLexKinds.td
    M clang/test/Lexer/gnu-flags.c
    M clang/test/Preprocessor/macro_fn.c

  Log Message:
  -----------
  Define a diagnostic group for missing variadic macro arguments (#116855)

Make the new diagnostic group a subgroup of the following diagnostic
groups:

-Wpre-c23-compat
-Wgnu-zero-variadic-macro-arguments
-Wc++20-extensions
-Wc23-extensions

This change is needed as 5231005193afb8db01afe9a8a1aa308d25f60ba1 made
it impossible to use -Wno-gnu-zero-variadic-macro-argumentsis to silence
the warning.

rdar://139234984


  Commit: 1afb81dfaf902c1c42bd91fec1a7385e6e1529d3
      https://github.com/llvm/llvm-project/commit/1afb81dfaf902c1c42bd91fec1a7385e6e1529d3
  Author: Kyungwoo Lee <kyulee at meta.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/include/llvm/IR/StructuralHash.h
    M llvm/lib/CodeGen/MachineStableHash.cpp
    M llvm/lib/IR/StructuralHash.cpp
    A llvm/test/CodeGen/AArch64/cgdata-merge-gvar-nsconst.ll
    A llvm/test/CodeGen/AArch64/cgdata-merge-gvar-objc.ll
    A llvm/test/CodeGen/AArch64/cgdata-merge-gvar-string.ll
    A llvm/test/CodeGen/AArch64/cgdata-outline-gvar.ll

  Log Message:
  -----------
  [StructuralHash] Global Variable (#118412)

This update enhances the implementation of structural hashing for global
variables, using their initial contents. Private global variables or
constants are often used for metadata, where their names are not unique.
This can lead to the creation of different hash results although they
could be merged by the linker as they are effectively identical.
- Refine the hashing of GlobalVariables for strings or certain
Objective-C metadata cases that have section names. This can be further
extended to other scenarios.
- Expose StructuralHash for GlobalVariable so that this API can be
utilized by MachineStableHashing, which is also employed in the global
function outliner.

This change significantly improves size reduction by an additional 1% on
the LLD binary when the global function outliner and merger are enabled
together. As discussed in the RFC
https://discourse.llvm.org/t/loh-conflicting-with-machineoutliner/83279/8?u=kyulee-com,
if we disable or relocate the LOH pass, the size impact could increase
to 4%.


  Commit: a201ba1b57aa57df8e31603b496793fa39d31936
      https://github.com/llvm/llvm-project/commit/a201ba1b57aa57df8e31603b496793fa39d31936
  Author: Kunwar Grover <groverkss at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/test/Dialect/Vector/canonicalize.mlir

  Log Message:
  -----------
  [mlir][Vector] Add support for 0-d shapes in extract-shape_cast folder (#116650)

The extract <-> shape cast folder was conservatively asserting and
failing on 0-d vectors. This pr fixes this.

This pr also adds more tests for 0d cases and updates related tests to
better reflect what they test.


  Commit: e9dc6c5fbb6d2c2c93095acb6ff4ca0b515057ed
      https://github.com/llvm/llvm-project/commit/e9dc6c5fbb6d2c2c93095acb6ff4ca0b515057ed
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

  Log Message:
  -----------
  CodeGen: Don't assert when printing null GlobalAddress operands (#115531)


  Commit: 35cce408eef1a253df12c0023c993d78b180b1f3
      https://github.com/llvm/llvm-project/commit/35cce408eef1a253df12c0023c993d78b180b1f3
  Author: Dan Gohman <dev at sunfishcode.online>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Basic/Targets/WebAssembly.cpp
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/WebAssembly/WebAssembly.td
    M llvm/test/CodeGen/WebAssembly/target-features-cpus.ll

  Log Message:
  -----------
  [WebAssembly] Support the new "Lime1" CPU (#112035)

This adds WebAssembly support for the new [Lime1 CPU].

First, this defines some new target features. These are subsets of
existing
features that reflect implementation concerns:

- "call-indirect-overlong" - implied by "reference-types"; just the
overlong
encoding for the `call_indirect` immediate, and not the actual reference
   types.

 - "bulk-memory-opt" - implied by "bulk-memory": just `memory.copy` and
   `memory.fill`, and not the other instructions in the bulk-memory
    proposal.

Next, this defines a new target CPU, "lime1", which enables
mutable-globals,
bulk-memory-opt, multivalue, sign-ext, nontrapping-fptoint,
extended-const,
and call-indirect-overlong. Unlike the default "generic" CPU, "lime1" is
meant
to be frozen, and followed up by "lime2" and so on when new features are
desired.

[Lime1 CPU]:
https://github.com/WebAssembly/tool-conventions/blob/main/Lime.md#lime1

---------

Co-authored-by: Heejin Ahn <aheejin at gmail.com>


  Commit: 410cbe3cf28913cca2fc61b3437306b841d08172
      https://github.com/llvm/llvm-project/commit/410cbe3cf28913cca2fc61b3437306b841d08172
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/test/CodeGen/amdgpu-address-spaces.cpp
    M clang/test/CodeGenCUDA/amdgpu-code-object-version.cu
    M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
    M clang/test/CodeGenHIP/default-attributes.hip
    M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
    A clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_abi_version_600.bc
    A clang/test/Driver/Inputs/rocm_resource_dir/lib/amdgcn/bitcode/oclc_abi_version_600.bc
    A clang/test/Driver/Inputs/rocm_resource_dir/lib64/amdgcn/bitcode/oclc_abi_version_600.bc
    M clang/test/Driver/hip-device-libs.hip
    M clang/test/OpenMP/amdgcn_target_global_constructor.cpp
    M libc/cmake/modules/prepare_libc_gpu_build.cmake
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    A llvm/test/CodeGen/AMDGPU/default_amdhsa_code_object_version.ll
    M offload/plugins-nextgen/common/src/Utils/ELF.cpp

  Log Message:
  -----------
  [AMDGPU] Use COV6 by default (#118515)


  Commit: 259bdc0033d1abacc80ad34f0a8ed86f6e218571
      https://github.com/llvm/llvm-project/commit/259bdc0033d1abacc80ad34f0a8ed86f6e218571
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    R 0001-Reland-Add-a-pass-to-collect-dropped-var-stats-for-M.patch
    R 0001-Reland-NFC-Move-DroppedVariableStats-to-its-own-file.patch
    R llvm/include/llvm/CodeGen/DroppedVariableStats.h
    M llvm/include/llvm/Passes/StandardInstrumentations.h
    M llvm/lib/CodeGen/CMakeLists.txt
    R llvm/lib/CodeGen/DroppedVariableStats.cpp
    M llvm/lib/Passes/StandardInstrumentations.cpp
    M llvm/unittests/CodeGen/CMakeLists.txt
    R llvm/unittests/CodeGen/DroppedVariableStatsIRTest.cpp
    M llvm/unittests/IR/CMakeLists.txt
    A llvm/unittests/IR/DroppedVariableStatsTest.cpp

  Log Message:
  -----------
  Revert "Reland "[NFC] Move DroppedVariableStats to its own file and redesign it to be extensible. (#117042)" (#118546)"

This reverts commit 0c8928d456ac3ef23ed25bfc9e5d491dd7b62a11.

Broke Bot: https://lab.llvm.org/buildbot/#/builders/76/builds/5008

error: undefined reference to `vtable for llvm::DroppedVariableStatsIR'


  Commit: 67d8e1754d7707c90aa15a15ea5bbb430108a162
      https://github.com/llvm/llvm-project/commit/67d8e1754d7707c90aa15a15ea5bbb430108a162
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

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

  Log Message:
  -----------
  [gn build] Port 259bdc0033d1


  Commit: 14a259f85b6cbe6827677d94990c8803e31c847d
      https://github.com/llvm/llvm-project/commit/14a259f85b6cbe6827677d94990c8803e31c847d
  Author: Owen Anderson <resistor at mac.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/GlobalOpt.cpp
    A llvm/test/Transforms/GlobalOpt/malloc-promote-addrspace.ll

  Log Message:
  -----------
  GlobalOpt: Use the correct address space when creating a "*.init" global. (#118562)


  Commit: 68bcba6d7a1cc18996c0bcb7c62267c62d2040d0
      https://github.com/llvm/llvm-project/commit/68bcba6d7a1cc18996c0bcb7c62267c62d2040d0
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/test/CodeGen/amdgpu-address-spaces.cpp
    M clang/test/CodeGenCUDA/amdgpu-code-object-version.cu
    M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
    M clang/test/CodeGenHIP/default-attributes.hip
    M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
    R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_abi_version_600.bc
    R clang/test/Driver/Inputs/rocm_resource_dir/lib/amdgcn/bitcode/oclc_abi_version_600.bc
    R clang/test/Driver/Inputs/rocm_resource_dir/lib64/amdgcn/bitcode/oclc_abi_version_600.bc
    M clang/test/Driver/hip-device-libs.hip
    M clang/test/OpenMP/amdgcn_target_global_constructor.cpp
    M libc/cmake/modules/prepare_libc_gpu_build.cmake
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    R llvm/test/CodeGen/AMDGPU/default_amdhsa_code_object_version.ll
    M offload/plugins-nextgen/common/src/Utils/ELF.cpp

  Log Message:
  -----------
  Revert "[AMDGPU] Use COV6 by default (#118515)"

This reverts commit 410cbe3cf28913cca2fc61b3437306b841d08172 because some
buildbots are not ready yet.


  Commit: 6a0d6fc2e92bcfb7cb01a4c6cdd751a9b4b4c159
      https://github.com/llvm/llvm-project/commit/6a0d6fc2e92bcfb7cb01a4c6cdd751a9b4b4c159
  Author: Kyungwoo Lee <kyulee at meta.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/include/llvm/IR/StructuralHash.h
    M llvm/lib/CodeGen/MachineStableHash.cpp
    M llvm/lib/IR/StructuralHash.cpp
    R llvm/test/CodeGen/AArch64/cgdata-merge-gvar-nsconst.ll
    R llvm/test/CodeGen/AArch64/cgdata-merge-gvar-objc.ll
    R llvm/test/CodeGen/AArch64/cgdata-merge-gvar-string.ll
    R llvm/test/CodeGen/AArch64/cgdata-outline-gvar.ll

  Log Message:
  -----------
  Revert "[StructuralHash] Global Variable (#118412)"

This reverts commit 1afb81dfaf902c1c42bd91fec1a7385e6e1529d3.


  Commit: 46de3a7064250bd2dfc7f8dc6e300474afa9fa97
      https://github.com/llvm/llvm-project/commit/46de3a7064250bd2dfc7f8dc6e300474afa9fa97
  Author: Sarah Spall <sarahspall at microsoft.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/include/clang/AST/Type.h
    M clang/lib/AST/Type.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaType.cpp
    A clang/test/AST/HLSL/ArrayOutArgExpr.hlsl
    M clang/test/CodeGenHLSL/ArrayAssignable.hlsl
    A clang/test/CodeGenHLSL/BasicFeatures/ArrayOutputArguments.hlsl
    M clang/test/SemaHLSL/ArrayTemporary.hlsl
    A clang/test/SemaHLSL/Language/ArrayOutputArgs-errors.hlsl

  Log Message:
  -----------
  [HLSL] get inout/out ABI for array parameters working (#111047)

Get inout/out parameters working for HLSL Arrays.
Utilizes the fix from #109323, and corrects the assignment behavior
slightly to allow for Non-LValues on the RHS.
Closes #106917

---------

Co-authored-by: Chris B <beanz at abolishcrlf.org>


  Commit: f6f16b5f541773bb074dd042746456deff169de2
      https://github.com/llvm/llvm-project/commit/f6f16b5f541773bb074dd042746456deff169de2
  Author: Augie Fackler <augie at google.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel

  Log Message:
  -----------
  [bazel] update for a0c4f854cad2b97e44a1b58dc1fd982e1c4d60f3


  Commit: caa8aa551bf8d2f29e76aad4ac6dcea6940eef13
      https://github.com/llvm/llvm-project/commit/caa8aa551bf8d2f29e76aad4ac6dcea6940eef13
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

  Log Message:
  -----------
  [SelectionDAG] Rename CallOptions::IsSExt to IsSigned. NFC (#118574)

This is eventually passed to shouldSignExtendTypeInLibCall which calls
it IsSigned.


  Commit: 3dc97557d1ac0cd7924b9679efbfc8f916f5365e
      https://github.com/llvm/llvm-project/commit/3dc97557d1ac0cd7924b9679efbfc8f916f5365e
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M libc/CMakeLists.txt
    M llvm/cmake/modules/CrossCompile.cmake

  Log Message:
  -----------
  [libc] Fix the GPU build when building inside the NATIVE project (#118573)

Summary:
We use the NATIVE directory for cross-compiling tools that need to be
run on the host. This was not forwarding the CMake arguments we used to
check if this was a GPU compile that created its own tools. Forward that
and simplify.

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


  Commit: e08e5e2c426467342dbe79fbf3ea9723c17a07d1
      https://github.com/llvm/llvm-project/commit/e08e5e2c426467342dbe79fbf3ea9723c17a07d1
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M mlir/lib/Transforms/RemoveDeadValues.cpp
    M mlir/test/Transforms/remove-dead-values.mlir

  Log Message:
  -----------
  [mlir][transforms] Use `isExternal` instead of `isDeclaration` for `FunctionOpInterface` (#116573)

This PR fixes a bug in `RemoveDeadValues` where the
`FunctionOpInterface` does not have the `isDeclaration` method. As a
result, we should use the `isExternal` method instead. Fixes #116347.


  Commit: a93b77ce49978dd8fb0d60d9aec8e300b67ce0b8
      https://github.com/llvm/llvm-project/commit/a93b77ce49978dd8fb0d60d9aec8e300b67ce0b8
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

  Log Message:
  -----------
  [memprof] Fix IndexedMemProfRecord::clear (#118533)

This patch ensures that IndexedMemProfRecord::clear clears every field
of IndexedMemProfRecord.

This fix is not critical at the moment.  The only use of this function
is in RecordWriterTrait::EmitData to release the memory we are done
with.  That is, we never clear the data structure for the purpose of
reusing it.


  Commit: c1afcaf33b03638fd533d14b0d3f65cd5c50755c
      https://github.com/llvm/llvm-project/commit/c1afcaf33b03638fd533d14b0d3f65cd5c50755c
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-deinterleave-load.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-changes-length.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shufflevector-vnsrl.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll

  Log Message:
  -----------
  [RISCV] Match deinterleave(4,8) shuffles to SHL/TRUNC when legal (#118509)

We can extend the existing SHL+TRUNC lowering used for deinterleave2 for
deinterleave4, and deinterleave8 when the result types are small enough
to allow the shift to be legal. On RV64, this means i8 and i16 results
for deinterleave4 and i8 results for deinterleave8.


  Commit: f947d5afd951fe0883e8afe2d00c00d6a97e29bd
      https://github.com/llvm/llvm-project/commit/f947d5afd951fe0883e8afe2d00c00d6a97e29bd
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shufflevector-vnsrl.ll

  Log Message:
  -----------
  [RISCV] Reduce redundancy in vnsrl tests

Triggered by discussion on pr118509.


  Commit: 95566af789d208b8fc422644ab282a43911041f2
      https://github.com/llvm/llvm-project/commit/95566af789d208b8fc422644ab282a43911041f2
  Author: Max Winkler <max.enrico.winkler at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/lib/AST/MicrosoftMangle.cpp
    A clang/test/CodeGenCXX/ms-uneval-context-crash.cpp

  Log Message:
  -----------
  [Clang][AST] Fix MS Mangle concept uneval context template instantiation crash (#117845)

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

MSVC mangling got inadvertently broken here,
https://github.com/llvm/llvm-project/pull/83997, when it was fixed what
decl context a lambda is apart of for uneval contexts.

https://godbolt.org/z/K6jb5v145 for reference.

Given the following code snippet
```
template <typename T>
concept C = requires(const T& t)
{
    { T::test([](){}) };
};

template<typename T, typename = void>
struct Widget;

template <C T>
struct Widget<T> {};

struct Baz
{
    template<typename F>
    static constexpr decltype(auto) test(F&& f) {}
};

void test()
{
    Widget<Baz> w;
}
```
`Baz::test` has a deduced return type which means we must instantiate
that template even in an unevaluated context.
The lambda inside the concept is within the decl context of `struct
Widget<T> {};`. So we end up needing to mangle a name of
`Baz::test<Widget<template-type-0-0>::lambda()>>()` since the lambda
isn't apart of an instantiated substituted class `Widget` yet at the
point the lambda is instantiated.

Upon template instantation of `test` we end up asking for the mangled
name so we can add this instantiation to `CodeGenModule::DefferredDecls`
since `test` is now referenced but not yet used.

I think the longer term more correct solution is to key `DefferedDecls`
off of something else than the mangled name to avoid having to mangle
names for instantations that are referenced but will never be used since
they are only instantiated from an unevaluated context.

As a fix for the regression I just created a custom mangling scheme for
this case since MSVC has no comparable naming scheme as such a template
will never be emitted into the resulting obj as it will never be used.


  Commit: 982575fd0668aca94d400ea575c1b5d3ea398e37
      https://github.com/llvm/llvm-project/commit/982575fd0668aca94d400ea575c1b5d3ea398e37
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M lld/COFF/Config.h
    M lld/COFF/Driver.cpp
    M lld/COFF/InputFiles.cpp
    M lld/COFF/InputFiles.h
    M lld/COFF/Symbols.cpp
    M lld/COFF/Symbols.h

  Log Message:
  -----------
  [lld-link] Add context-aware diagnostic functions (#118430)

Similar to #112319 for ELF. While there is some initial boilerplate, it
can simplify some call sites that use Twine, especially when a printed
element uses `ctx` or toString.


  Commit: 442ee78cb414cd7101482bb677e62631e94e5480
      https://github.com/llvm/llvm-project/commit/442ee78cb414cd7101482bb677e62631e94e5480
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M lldb/tools/lldb-dap/README.md

  Log Message:
  -----------
  [lldb-dap] Fix Markdown tables in README.md

The markdown tables in the README aren't getting rendered correctly on
the LLDB-DAP page in the Visual Studio arketplace [1]. This is a
somewhat speculative fix as the table itself appears to be correct. Even
if this change doesn't fix it, the new formatting significantly improves
the readability.

[1] https://marketplace.visualstudio.com/items?itemName=llvm-vs-code-extensions.lldb-dap


  Commit: 3e11ae69abd17a80759ae1d9565d555f6a869304
      https://github.com/llvm/llvm-project/commit/3e11ae69abd17a80759ae1d9565d555f6a869304
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

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

  Log Message:
  -----------
  [ORC] Merge ostream operators for SymbolStringPtrs into SymbolStringPool.h. NFC.

These are simple and commonly used. Having them in the SymbolStringPool header
saves clients from having to #include "DebugUtils.h" everywhere.


  Commit: 932c5249ff6b3f31f3b67d944cf5ead156b5dd2c
      https://github.com/llvm/llvm-project/commit/932c5249ff6b3f31f3b67d944cf5ead156b5dd2c
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

  Log Message:
  -----------
  [CodeGen] Fix warning after #115531


  Commit: bc66e9aaa69cf50634929f3bf10e40b336a6abb6
      https://github.com/llvm/llvm-project/commit/bc66e9aaa69cf50634929f3bf10e40b336a6abb6
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M lld/COFF/Driver.cpp
    M lld/COFF/DriverUtils.cpp
    M lld/COFF/PDB.cpp

  Log Message:
  -----------
  [lld-link] Replace message(...) with Msg(ctx)

to avoid the global ctx.


  Commit: 4f41862c5a5241654a37ee994ed0074a815d3633
      https://github.com/llvm/llvm-project/commit/4f41862c5a5241654a37ee994ed0074a815d3633
  Author: Kyungwoo Lee <kyulee at meta.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/include/llvm/IR/StructuralHash.h
    M llvm/lib/CodeGen/MachineStableHash.cpp
    M llvm/lib/IR/StructuralHash.cpp
    A llvm/test/CodeGen/AArch64/cgdata-merge-gvar-nsconst.ll
    A llvm/test/CodeGen/AArch64/cgdata-merge-gvar-objc.ll
    A llvm/test/CodeGen/AArch64/cgdata-merge-gvar-string.ll
    A llvm/test/CodeGen/AArch64/cgdata-outline-gvar.ll

  Log Message:
  -----------
  Reapply "[StructuralHash] Global Variable (#118412)"

This reverts commit 6a0d6fc2e92bcfb7cb01a4c6cdd751a9b4b4c159.


  Commit: 109e4a147faa80aa0ef4da92da203dd6732ee415
      https://github.com/llvm/llvm-project/commit/109e4a147faa80aa0ef4da92da203dd6732ee415
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/IR/Type.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    A llvm/test/CodeGen/RISCV/vector-tuple-zeroinitializer.ll

  Log Message:
  -----------
  [RISCV] Handle zeroinitializer of vector tuple Type (#113995)

It doesn't make sense to add a new generic ISD to handle riscv tuple
type. Instead we use `SPLAT_VECTOR` for ISD and further lower to
`VMV_V_X`.

Note: If there's `visitSPLAT_VECTOR` in generic DAG combiner, it needs
to skip riscv vector tuple type.

Stack on https://github.com/llvm/llvm-project/pull/114329


  Commit: 9c9d4b9e73c19842c4fde581cec0295abed8c977
      https://github.com/llvm/llvm-project/commit/9c9d4b9e73c19842c4fde581cec0295abed8c977
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/Core.cpp
    M llvm/lib/ExecutionEngine/Orc/Shared/CMakeLists.txt
    A llvm/lib/ExecutionEngine/Orc/Shared/SymbolStringPool.cpp

  Log Message:
  -----------
  [ORC] Move ostream operator for SymbolStringPtrBase into OrcShared.

This will allow clients outside ORC (e.g. JITLink) to use the operator without
taking a dependence on ORC.


  Commit: 5e7c88bf4cca17080dd50556b4b57efa2ca569b0
      https://github.com/llvm/llvm-project/commit/5e7c88bf4cca17080dd50556b4b57efa2ca569b0
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

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

  Log Message:
  -----------
  [gn build] Port 9c9d4b9e73c1


  Commit: b076fbb8443d93fd4a6815cb9828559e5af14cfb
      https://github.com/llvm/llvm-project/commit/b076fbb8443d93fd4a6815cb9828559e5af14cfb
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.h
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp

  Log Message:
  -----------
  [TargetLowering] Use Type* instead of EVT in shouldSignExtendTypeInLibCall. (#118587)

I want to use this function for GISel too so Type * is a better common
interface. All of the callers already convert EVT to Type * as needed
by calling lowering anyway.


  Commit: 7be3326200ef382705d8e6b2d7dc5378af96b34a
      https://github.com/llvm/llvm-project/commit/7be3326200ef382705d8e6b2d7dc5378af96b34a
  Author: Nathan Ridge <zeratul976 at hotmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang-tools-extra/clangd/ClangdLSPServer.cpp
    M clang-tools-extra/clangd/ClangdLSPServer.h
    M clang-tools-extra/clangd/ClangdServer.cpp
    M clang-tools-extra/clangd/ClangdServer.h
    M clang-tools-extra/clangd/XRefs.cpp
    M clang-tools-extra/clangd/XRefs.h
    M clang-tools-extra/clangd/index/Background.cpp
    M clang-tools-extra/clangd/index/Background.h
    M clang-tools-extra/clangd/index/FileIndex.cpp
    M clang-tools-extra/clangd/index/FileIndex.h
    M clang-tools-extra/clangd/index/Index.cpp
    M clang-tools-extra/clangd/index/Index.h
    M clang-tools-extra/clangd/index/MemIndex.cpp
    M clang-tools-extra/clangd/index/MemIndex.h
    M clang-tools-extra/clangd/index/Merge.cpp
    M clang-tools-extra/clangd/index/Merge.h
    M clang-tools-extra/clangd/index/ProjectAware.cpp
    M clang-tools-extra/clangd/index/Ref.h
    M clang-tools-extra/clangd/index/Serialization.cpp
    M clang-tools-extra/clangd/index/Serialization.h
    M clang-tools-extra/clangd/index/SymbolCollector.cpp
    M clang-tools-extra/clangd/index/SymbolCollector.h
    M clang-tools-extra/clangd/index/dex/Dex.cpp
    M clang-tools-extra/clangd/index/dex/Dex.h
    M clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp
    M clang-tools-extra/clangd/index/remote/Client.cpp
    M clang-tools-extra/clangd/index/remote/Index.proto
    M clang-tools-extra/clangd/index/remote/Service.proto
    M clang-tools-extra/clangd/index/remote/marshalling/Marshalling.cpp
    M clang-tools-extra/clangd/index/remote/marshalling/Marshalling.h
    M clang-tools-extra/clangd/index/remote/server/Server.cpp
    M clang-tools-extra/clangd/test/index-serialization/Inputs/sample.idx
    M clang-tools-extra/clangd/test/type-hierarchy-ext.test
    M clang-tools-extra/clangd/test/type-hierarchy.test
    M clang-tools-extra/clangd/tool/Check.cpp
    M clang-tools-extra/clangd/tool/ClangdMain.cpp
    M clang-tools-extra/clangd/unittests/BackgroundIndexTests.cpp
    M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
    M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
    M clang-tools-extra/clangd/unittests/DexTests.cpp
    M clang-tools-extra/clangd/unittests/FileIndexTests.cpp
    M clang-tools-extra/clangd/unittests/IndexTests.cpp
    M clang-tools-extra/clangd/unittests/RenameTests.cpp
    M clang-tools-extra/clangd/unittests/TestTU.cpp
    M clang-tools-extra/clangd/unittests/TestWorkspace.cpp

  Log Message:
  -----------
  [clangd] Re-land "support outgoing calls in call hierarchy" (#117673)

Co-authored-by: Quentin Chateau <quentin.chateau at gmail.com>


  Commit: 52aff97f40c19671be7d1f5eecc2985ebf260a49
      https://github.com/llvm/llvm-project/commit/52aff97f40c19671be7d1f5eecc2985ebf260a49
  Author: Anutosh Bhat <andersonbhat491 at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M lld/wasm/Driver.cpp

  Log Message:
  -----------
  [lld][wasm] Clear lazyBitcodeFiles while resetting context (#118440)

Hi @sbc100 

I was looking into a use case involving the link function (which got my
attention to reset).

I see that `lazyBitcodeFiles` variable was introduced here
https://github.com/llvm/llvm-project/pull/114327 but I don't see it
being reset while destroying the context eventually. Hopefully this
should be the correct way to address it.


  Commit: 1534f456945060e27861000f5f2b16bc1b9e0c1e
      https://github.com/llvm/llvm-project/commit/1534f456945060e27861000f5f2b16bc1b9e0c1e
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M lld/COFF/DebugTypes.cpp
    M lld/COFF/Driver.cpp
    M lld/COFF/DriverUtils.cpp
    M lld/COFF/InputFiles.cpp
    M lld/COFF/SymbolTable.cpp
    M lld/COFF/Writer.cpp

  Log Message:
  -----------
  [lld-link] Replace warn(...) with Warn(ctx)


  Commit: 59bc03cf8e9df134e591c989abb1c068e4201008
      https://github.com/llvm/llvm-project/commit/59bc03cf8e9df134e591c989abb1c068e4201008
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M lld/COFF/PDB.cpp

  Log Message:
  -----------
  [lld-link] Simplify warnUnusable. NFC


  Commit: 92ed7e292443de1d89754a59a533ded160d544eb
      https://github.com/llvm/llvm-project/commit/92ed7e292443de1d89754a59a533ded160d544eb
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/Passes/PassRegistry.def

  Log Message:
  -----------
  [CodeGen][PM] Use errs() instead of dbgs() in printer passes (#118469)

Printing passes is not exactly a debug activity, it is used in release (and dbgs() is errs() in release)


  Commit: ff281f7d37ead15bdbdbfccb4b82ea93013b1a00
      https://github.com/llvm/llvm-project/commit/ff281f7d37ead15bdbdbfccb4b82ea93013b1a00
  Author: ronryvchin <94285266+ronryvchin at users.noreply.github.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M compiler-rt/include/profile/InstrProfData.inc
    M llvm/include/llvm/ProfileData/InstrProf.h
    M llvm/include/llvm/ProfileData/InstrProfData.inc
    M llvm/include/llvm/ProfileData/InstrProfReader.h
    M llvm/include/llvm/ProfileData/InstrProfWriter.h
    M llvm/include/llvm/Transforms/Instrumentation/CFGMST.h
    M llvm/lib/ProfileData/InstrProfReader.cpp
    M llvm/lib/ProfileData/InstrProfWriter.cpp
    M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
    M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
    A llvm/test/Transforms/PGOProfile/loop_entries_gen.ll
    A llvm/test/Transforms/PGOProfile/loop_entries_use.ll
    M llvm/tools/llvm-profdata/llvm-profdata.cpp

  Log Message:
  -----------
  [PGO] Add option to always instrumenting loop entries (#116789)

This patch extends the PGO infrastructure with an option to prefer the
instrumentation of loop entry blocks.
This option is a generalization of
https://github.com/llvm/llvm-project/commit/19fb5b467bb97f95eace1f3637d2d1041cebd3ce,
and helps to cover cases where the loop exit is never executed.
An example where this can occur are event handling loops.

Note that change does NOT change the default behavior.


  Commit: 5cd3e9736266a86f730f6cfbdb83226b6c78b149
      https://github.com/llvm/llvm-project/commit/5cd3e9736266a86f730f6cfbdb83226b6c78b149
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
    M llvm/test/MachineVerifier/RISCV/subreg-liveness.mir
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vmv.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP600/vmv.s

  Log Message:
  -----------
  [RISCV] Mark vmvNr.v as implicitly using vtype (#118414)

This was pointed out in
https://github.com/llvm/llvm-project/pull/118283#issuecomment-2512895919.
We cannot move these between vtype definitions as they depend on SEW and
require vill to be clear.


  Commit: 94d6b1cce5bb9449971a027e352385e72b059a3a
      https://github.com/llvm/llvm-project/commit/94d6b1cce5bb9449971a027e352385e72b059a3a
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

  Log Message:
  -----------
  [clangd] Fix warnings

This patch fixes:

  clang-tools-extra/clangd/XRefs.cpp:2360:11: error: unused type alias
  'SK' [-Werror,-Wunused-local-typedef]

  clang-tools-extra/clangd/XRefs.cpp:2361:10: error: unused variable
  'Kind' [-Werror,-Wunused-variable]


  Commit: 154c7c0bf272adc67d3ffc541a01fe8025843fd2
      https://github.com/llvm/llvm-project/commit/154c7c0bf272adc67d3ffc541a01fe8025843fd2
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/SemaCXX/lambda-capture-type-deduction.cpp

  Log Message:
  -----------
  [Clang] Don't add top-level const qualifiers to captured function types (#118050)

This aligns with the logic in `TreeTransform::RebuildQualifiedType()`
where we refrain from adding const qualifiers to function types.
Previously, we seemed to overlook this edge case when copy-capturing a
variable that is of function type within a const-qualified lambda.

This issue also reveals other related problems as in incorrect type
printout and a suspicious implementation in DeduceTemplateArguments. I
decide to leave them in follow-up work.

Fixes #84961


  Commit: b1a48af56a62b8c0d5636c9404251700264fcd70
      https://github.com/llvm/llvm-project/commit/b1a48af56a62b8c0d5636c9404251700264fcd70
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/PowerPC/pr38087.ll
    M llvm/test/CodeGen/X86/avx10_2fptosi_satcvtds.ll
    M llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll
    M llvm/test/CodeGen/X86/fpclamptosat_vec.ll
    M llvm/test/CodeGen/X86/freeze-vector.ll
    M llvm/test/CodeGen/X86/vector-half-conversions.ll
    M llvm/test/CodeGen/X86/widen_conv-3.ll

  Log Message:
  -----------
  [DAG] SimplifyDemandedVectorElts - add handling for INT<->FP conversions (#117884)


  Commit: 455b4fd01ae9b2a78be98bcd26db2b700709c545
      https://github.com/llvm/llvm-project/commit/455b4fd01ae9b2a78be98bcd26db2b700709c545
  Author: Mariusz Sikora <mariusz.sikora at amd.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
    M llvm/test/CodeGen/AMDGPU/multilevel-break.ll
    M llvm/test/CodeGen/AMDGPU/nested-loop-conditions.ll

  Log Message:
  -----------
  [AMDGPU] Emit amdgcn.if.break in the same BB as amdgcn.loop (#118081)

Before this change if.break was placed in wrong loop level which
resulted in accumulating values only from last iteration of the inner
loop.


  Commit: 2a30bfcef368667247ebbe30be84f73b92dbe800
      https://github.com/llvm/llvm-project/commit/2a30bfcef368667247ebbe30be84f73b92dbe800
  Author: Markus Böck <markus.boeck02 at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M mlir/include/mlir/IR/OpImplementation.h
    M mlir/test/Dialect/LLVMIR/invalid.mlir
    M mlir/test/Dialect/Linalg/transform-ops-invalid.mlir
    M mlir/test/Dialect/SCF/invalid.mlir
    M mlir/test/Dialect/SPIRV/IR/memory-ops.mlir
    M mlir/test/Dialect/Tensor/invalid.mlir
    M mlir/test/Dialect/Vector/invalid.mlir

  Log Message:
  -----------
  [mlir] Improve error message when number of operands and types differ (#118488)

If using a variadic operand, the error message given if the number of
types and operands do not match would be along the lines of:
```
3 operands present, but expected 2
```

This error message is confusing for multiple reasons, particular for
beginners:
* If the intention is to have 3 operands, it does not point out why it
expects 2. The user may actually just want to add a type to the type
list
* It reads as if a verifier error rather than a parser error, giving the
impression the Op only supports 2 operands.

This PR attempts to improve the error message by first noting the issue
("number of operands and types mismatch") and mentioning how many
operands and types it received.


  Commit: 4df18ab7da17953277c7879782a37f4ed8e39beb
      https://github.com/llvm/llvm-project/commit/4df18ab7da17953277c7879782a37f4ed8e39beb
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M mlir/unittests/Target/LLVM/CMakeLists.txt

  Log Message:
  -----------
  [mlir] Specify deps via `LLVM_LINK_COMPONENTS` (#118542)

This specifies the dependencies to link against with
`LLVM_LINK_COMPONENTS` for the
`mlir/test/Target/LLVM/MLIRTargetLLVMTests` binary.

Before, the dependencies where directly added to the
`target_link_libraries()` call which caused the problems I describe
next.

When doing a build of LLVM with MLIR I want to link against `libLLVM.so`
instead of statically linking `libLLVMSupport.a`. MLIR on the other side
seems to statically link against `libLLVMSupport.a` because when I link
to the shared library `libLLVM.so` I get:

```
CommandLine Error: Option 'aarch64-ptrauth-auth-checks' registered more than once!
```

This error indicates that the `Support` library is linked twice in the
`MLIRTargetLLVMTest` binary.

Here's the creation of the `MLIRTargetLLVMTest` binary before (Notice
the `libLLVMSupport.a`):

```
[6535/6847] : && /usr/bin/clang++ -O2 -flto=thin -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS --config=/usr/lib/rpm/redhat/redhat-hardened-clang.cfg -fstack-protector-strong -mbranch-protection=standard -fasynchronous-unwind-tables -D_DEFAULT_SOURCE -Dasm=__asm__ -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wundef -Werror=mismatched-tags -O2 -g -DNDEBUG -Wl,-z,relro -Wl,--as-needed  -Wl,-z,pack-relative-relocs -Wl,-z,now --config=/usr/lib/rpm/redhat/redhat-hardened-clang-ld.cfg  -flto=thin -ffat-lto-objects -Wl,--build-id=sha1    -Wl,--gc-sections  -fno-lto tools/mlir/unittests/Target/LLVM/CMakeFiles/MLIRTargetLLVMTests.dir/SerializeNVVMTarget.cpp.o tools/mlir/unittests/Target/LLVM/CMakeFiles/MLIRTargetLLVMTests.dir/SerializeROCDLTarget.cpp.o tools/mlir/unittests/Target/LLVM/CMakeFiles/MLIRTargetLLVMTests.dir/SerializeToLLVMBitcode.cpp.o -o tools/mlir/unittests/Target/LLVM/MLIRTargetLLVMTests  -Wl,-rpath,/builddir/build/BUILD/llvm-19.1.3-build/llvm-project-19.1.3.src/llvm/redhat-linux-build/lib64  lib64/libllvm_gtest_main.a  lib64/libllvm_gtest.a  lib64/libMLIRTargetLLVM.a  lib64/libMLIRNVVMTarget.a  lib64/libMLIRROCDLTarget.a  lib64/libMLIRGPUDialect.a  lib64/libMLIRNVVMDialect.a  lib64/libMLIRLLVMDialect.a  lib64/libMLIRLLVMToLLVMIRTranslation.a  lib64/libMLIRBuiltinToLLVMIRTranslation.a  lib64/libMLIRNVVMToLLVMIRTranslation.a  lib64/libMLIRROCDLToLLVMIRTranslation.a  lib64/libMLIRGPUToLLVMIRTranslation.a  lib64/libLLVMAArch64CodeGen.a  lib64/libLLVMAArch64Desc.a  lib64/libLLVMAArch64Info.a  -lpthread  lib64/libMLIRTargetLLVM.a  lib64/libMLIRROCDLDialect.a  lib64/libMLIRExecutionEngineUtils.a  lib64/libMLIRGPUDialect.a  lib64/libMLIRMemRefDialect.a  lib64/libMLIRArithUtils.a  lib64/libMLIRDialectUtils.a  lib64/libMLIRComplexDialect.a  lib64/libMLIRArithAttrToLLVMConversion.a  lib64/libMLIRArithDialect.a  lib64/libMLIRCastInterfaces.a  lib64/libMLIRDialect.a  lib64/libMLIRInferIntRangeCommon.a  lib64/libMLIRUBDialect.a  lib64/libMLIRShapedOpInterfaces.a  lib64/libMLIRTargetLLVMIRExport.a  lib64/libMLIRDLTIDialect.a  lib64/libMLIRLLVMIRTransforms.a  lib64/libMLIRNVVMDialect.a  lib64/libMLIRLLVMDialect.a  lib64/libMLIRFuncDialect.a  lib64/libMLIRTransforms.a  lib64/libMLIRMemorySlotInterfaces.a  lib64/libMLIRCopyOpInterface.a  lib64/libMLIRRuntimeVerifiableOpInterface.a  lib64/libMLIRTranslateLib.a  lib64/libMLIRParser.a  lib64/libMLIRBytecodeReader.a  lib64/libMLIRAsmParser.a  lib64/libMLIRTransformUtils.a  lib64/libMLIRSubsetOpInterface.a  lib64/libMLIRValueBoundsOpInterface.a  lib64/libMLIRDestinationStyleOpInterface.a  lib64/libMLIRRewrite.a  lib64/libMLIRRewritePDL.a  lib64/libMLIRPDLToPDLInterp.a  lib64/libMLIRPass.a  lib64/libMLIRAnalysis.a  lib64/libMLIRControlFlowInterfaces.a  lib64/libMLIRInferIntRangeInterface.a  lib64/libMLIRCallInterfaces.a  lib64/libMLIRDataLayoutInterfaces.a  lib64/libMLIRViewLikeInterface.a  lib64/libMLIRLoopLikeInterface.a  lib64/libMLIRPresburger.a  lib64/libMLIRPDLInterpDialect.a  lib64/libMLIRFunctionInterfaces.a  lib64/libMLIRPDLDialect.a  lib64/libMLIRSideEffectInterfaces.a  lib64/libMLIRInferTypeOpInterface.a  lib64/libMLIRIR.a  lib64/libMLIRSupport.a  lib64/libLLVM.so.19.1  lib64/libLLVMAArch64Utils.a  lib64/libLLVMAsmPrinter.a  lib64/libLLVMCFGuard.a  lib64/libLLVMGlobalISel.a  lib64/libLLVMSelectionDAG.a  lib64/libLLVMCodeGen.a  lib64/libLLVMScalarOpts.a  lib64/libLLVMAggressiveInstCombine.a  lib64/libLLVMInstCombine.a  lib64/libLLVMBitWriter.a  lib64/libLLVMObjCARCOpts.a  lib64/libLLVMCodeGenTypes.a  lib64/libLLVMTarget.a  lib64/libLLVMVectorize.a  lib64/libLLVMTransformUtils.a  lib64/libLLVMAnalysis.a  lib64/libLLVMProfileData.a  lib64/libLLVMSymbolize.a  lib64/libLLVMDebugInfoDWARF.a  lib64/libLLVMDebugInfoPDB.a  lib64/libLLVMObject.a  lib64/libLLVMMCParser.a  lib64/libLLVMMC.a  lib64/libLLVMIRReader.a  lib64/libLLVMBitReader.a  lib64/libLLVMAsmParser.a  lib64/libLLVMTextAPI.a  lib64/libLLVMDebugInfoCodeView.a  lib64/libLLVMDebugInfoMSF.a  lib64/libLLVMDebugInfoBTF.a  lib64/libLLVMCore.a  lib64/libLLVMBinaryFormat.a  lib64/libLLVMRemarks.a  lib64/libLLVMBitstreamReader.a  lib64/libLLVMTargetParser.a  lib64/libLLVMSupport.a  lib64/libLLVMDemangle.a  -lrt  -ldl  -lm  /usr/lib64/libz.so  /usr/lib64/libzstd.so && :
```

Here's the full error:

```
[24/25] cd /builddir/build/BUILD/llvm-19.1.3-build/llvm-project-19.1.3.src/llvm/redhat-linux-build/tools/mlir/test && /usr/bin/python3 /builddir/build/BUILD/llvm-19.1.3-build/llvm-project-19.1.3.src/llvm/redhat-linux-build/./bin/llvm-lit -vv /builddir/build/BUILD/llvm-19.1.3-build/llvm-project-19.1.3.src/llvm/redhat-linux-build/tools/mlir/test
: CommandLine Error: Option 'aarch64-ptrauth-auth-checks' registered more than once!
LLVM ERROR: inconsistency in registered CommandLine options
llvm-lit: /builddir/build/BUILD/llvm-19.1.3-build/llvm-project-19.1.3.src/llvm/utils/lit/lit/formats/googletest.py:38: warning: unable to discover google-tests in '/builddir/build/BUILD/llvm-19.1.3-build/llvm-project-19.1.3.src/llvm/redhat-linux-build/tools/mlir/unittests/Target/LLVM/./MLIRTargetLLVMTests': Command '['/builddir/build/BUILD/llvm-19.1.3-build/llvm-project-19.1.3.src/llvm/redhat-linux-build/tools/mlir/unittests/Target/LLVM/./MLIRTargetLLVMTests', '--gtest_list_tests', '--gtest_filter=-*DISABLED_*']' died with <Signals.SIGABRT: 6>.. Process output: b''
error: filter did not match any tests (of 2704 discovered).  Use '--allow-empty-runs' to suppress this error.
FAILED: tools/mlir/test/CMakeFiles/check-mlir /builddir/build/BUILD/llvm-19.1.3-build/llvm-project-19.1.3.src/llvm/redhat-linux-build/tools/mlir/test/CMakeFiles/check-mlir
```

Here's the CMake invocation:

```
/usr/bin/cmake -S . -B redhat-linux-build -DCMAKE_C_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_CXX_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_Fortran_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_INSTALL_DO_STRIP:BOOL=OFF -DCMAKE_INSTALL_PREFIX:PATH=/usr -DINCLUDE_INSTALL_DIR:PATH=/usr/include -DLIB_INSTALL_DIR:PATH=/usr/lib64 -DSYSCONF_INSTALL_DIR:PATH=/etc -DSHARE_INSTALL_PREFIX:PATH=/usr/share -DLIB_SUFFIX=64 -DBUILD_SHARED_LIBS:BOOL=ON -G Ninja '' -DCLANG_BUILD_EXAMPLES:BOOL=OFF -DCLANG_CONFIG_FILE_SYSTEM_DIR=/etc/clang/ -DCLANG_DEFAULT_PIE_ON_LINUX=OFF -DCLANG_DEFAULT_UNWINDLIB=libgcc -DCLANG_ENABLE_ARCMT:BOOL=ON -DCLANG_ENABLE_STATIC_ANALYZER:BOOL=ON -DCLANG_INCLUDE_DOCS:BOOL=ON -DCLANG_INCLUDE_TESTS:BOOL=ON -DCLANG_LINK_CLANG_DYLIB=ON -DCLANG_PLUGIN_SUPPORT:BOOL=ON '-DCLANG_REPOSITORY_STRING=Fedora 19.1.3-5.fc42' -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR=../clang-tools-extra -DCLANG_RESOURCE_DIR=../lib/clang/19 -DCOMPILER_RT_INCLUDE_TESTS:BOOL=OFF -DCOMPILER_RT_INSTALL_PATH=/usr/lib/clang/19 -DLLVM_ENABLE_DOXYGEN:BOOL=OFF -DLLVM_ENABLE_SPHINX:BOOL=ON -DLLVM_BUILD_DOCS:BOOL=ON -DSPHINX_EXECUTABLE=/usr/bin/sphinx-build-3 -DSPHINX_OUTPUT_HTML:BOOL=OFF -DSPHINX_OUTPUT_MAN:BOOL=ON -DSPHINX_WARNINGS_AS_ERRORS=OFF -DLLDB_DISABLE_CURSES:BOOL=OFF -DLLDB_DISABLE_LIBEDIT:BOOL=OFF -DLLDB_DISABLE_PYTHON:BOOL=OFF -DLLDB_ENFORCE_STRICT_TEST_REQUIREMENTS:BOOL=ON -DLLVM_APPEND_VC_REV:BOOL=OFF -DLLVM_BUILD_EXAMPLES:BOOL=OFF -DLLVM_BUILD_EXTERNAL_COMPILER_RT:BOOL=ON -DLLVM_BUILD_LLVM_DYLIB:BOOL=ON -DLLVM_BUILD_RUNTIME:BOOL=ON -DLLVM_BUILD_TOOLS:BOOL=ON -DLLVM_BUILD_UTILS:BOOL=ON -DLLVM_COMMON_CMAKE_UTILS=/usr/share/llvm/cmake -DLLVM_DEFAULT_TARGET_TRIPLE=aarch64-redhat-linux-gnu -DLLVM_DYLIB_COMPONENTS=all -DLLVM_ENABLE_EH=ON -DLLVM_ENABLE_FFI:BOOL=ON -DLLVM_ENABLE_LIBCXX:BOOL=OFF -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON '-DLLVM_ENABLE_PROJECTS=clang;clang-tools-extra;lld;lldb;mlir' -DLLVM_ENABLE_RTTI:BOOL=ON '-DLLVM_ENABLE_RUNTIMES=compiler-rt;openmp;offload' -DLLVM_ENABLE_ZLIB:BOOL=ON -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=AVR -DLLVM_INCLUDE_BENCHMARKS=OFF -DLLVM_INCLUDE_EXAMPLES:BOOL=ON -DLLVM_INCLUDE_TOOLS:BOOL=ON -DLLVM_INCLUDE_UTILS:BOOL=ON -DLLVM_INSTALL_TOOLCHAIN_ONLY:BOOL=OFF -DLLVM_INSTALL_UTILS:BOOL=ON -DLLVM_LINK_LLVM_DYLIB:BOOL=ON -DLLVM_PARALLEL_LINK_JOBS=1 -DLLVM_TARGETS_TO_BUILD=all -DLLVM_TOOLS_INSTALL_DIR:PATH=bin -DLLVM_UNREACHABLE_OPTIMIZE:BOOL=OFF -DLLVM_USE_PERF:BOOL=ON -DLLVM_UTILS_INSTALL_DIR:PATH=bin -DMLIR_INCLUDE_DOCS:BOOL=ON -DMLIR_INCLUDE_TESTS:BOOL=ON -DMLIR_INCLUDE_INTEGRATION_TESTS:BOOL=OFF -DMLIR_INSTALL_AGGREGATE_OBJECTS=OFF -DMLIR_BUILD_MLIR_C_DYLIB=ON -DMLIR_ENABLE_BINDINGS_PYTHON:BOOL=ON -DOPENMP_INSTALL_LIBDIR=lib64 -DLIBOMP_INSTALL_ALIASES=OFF -DLLVM_BUILD_TESTS:BOOL=ON -DLLVM_INCLUDE_TESTS:BOOL=ON -DLLVM_INSTALL_GTEST:BOOL=ON -DLLVM_LIT_ARGS=-vv -DLLVM_UNITTEST_LINK_FLAGS=-fno-lto -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/usr -DENABLE_LINKER_BUILD_ID:BOOL=ON -DOFFLOAD_INSTALL_LIBDIR=lib64 -DPython3_EXECUTABLE=/usr/bin/python3 -DCMAKE_SKIP_INSTALL_RPATH:BOOL=ON -DPPC_LINUX_DEFAULT_IEEELONGDOUBLE=ON -DLLVM_LIBDIR_SUFFIX=64 -DLLVM_BINUTILS_INCDIR=/usr/include -DLLVM_VERSION_SUFFIX=
```


  Commit: 3b0cb8979624bc052587712650bfd52f77eb69d3
      https://github.com/llvm/llvm-project/commit/3b0cb8979624bc052587712650bfd52f77eb69d3
  Author: Mészáros Gergely <gergely.meszaros at intel.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

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

  Log Message:
  -----------
  [clang-repl][CMake][MSVC] Use LINKER: instead of `-Wl` (#118518)

This should be more portable, and avoids passing the option to
`clang-cl` when linking, because `clang-cl` accepts any `-W` flags
(normally warning flags) during linking (#118516).


  Commit: d9b4bdbff597d0ed98dd82674e456ac4c751a6a0
      https://github.com/llvm/llvm-project/commit/d9b4bdbff597d0ed98dd82674e456ac4c751a6a0
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/LiveDebugVariables.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/CodeGen/CodeGen.cpp
    M llvm/lib/CodeGen/LiveDebugVariables.cpp
    M llvm/lib/CodeGen/RegAllocBasic.cpp
    M llvm/lib/CodeGen/RegAllocGreedy.cpp
    M llvm/lib/CodeGen/RegAllocGreedy.h
    M llvm/lib/CodeGen/StackSlotColoring.cpp
    M llvm/lib/CodeGen/VirtRegMap.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Target/LoongArch/LoongArchDeadRegisterDefinitions.cpp
    M llvm/lib/Target/RISCV/RISCVDeadRegisterDefinitions.cpp
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp

  Log Message:
  -----------
  [CodeGen][NewPM] Port LiveDebugVariables to NPM (#115468)

The existing analysis was already a pimpl wrapper.

I have extracted legacy pass logic to a LDVImpl wrapper named
`LiveDebugVariables` which is the analysis::Result now. This controls
whether to activate the LDV (depending on `-live-debug-variables` and
DIsubprogram) itself.

The legacy and new analysis only construct the LiveDebugVariables.

VirtRegRewriter will test this.


  Commit: 2137ded301adb430e0616cd835da9838e4fd79ce
      https://github.com/llvm/llvm-project/commit/2137ded301adb430e0616cd835da9838e4fd79ce
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/Maintainers.md
    A openmp/Maintainers.md

  Log Message:
  -----------
  [OpenMP] Add Maintainers.md file


  Commit: bba2507c19ff678c5d7b18e0b220406be87451fe
      https://github.com/llvm/llvm-project/commit/bba2507c19ff678c5d7b18e0b220406be87451fe
  Author: Mészáros Gergely <gergely.meszaros at intel.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M compiler-rt/CMakeLists.txt
    M compiler-rt/lib/asan/CMakeLists.txt

  Log Message:
  -----------
  [compiler-rt][MSVC][CMake] Wrap Linker flags for ICX (#118496)

RFC:
https://discourse.llvm.org/t/rfc-cmake-linker-flags-need-wl-equivalent-for-intel-c-icx-on-windows/82446

My previous pass missed some flags because I used
`-Werror=unknown-argument`, but `/D`, `/I` and `/O` are accepted by
clang (even when only linking), but mean different things than intended
for `link.exe`.


  Commit: 720864907d1acd9766b5f8140065938c1083cba8
      https://github.com/llvm/llvm-project/commit/720864907d1acd9766b5f8140065938c1083cba8
  Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir

  Log Message:
  -----------
  [TOSA] Use attributes for unsigned rescale (#118075)

Unsigned integer types are uncommon enough in MLIR that there is no
operation to cast a scalar from signless to unsigned and vice versa.
Currently tosa.rescale uses builtin.unrealized_conversion_cast which
does not lower. Instead, this commit introduces optional attributes to
indicate unsigned input or output, named similarly to those in the TOSA
specification. This is more in line with the rest of MLIR where specific
operations rather than values are signed/unsigned.


  Commit: 73731d6873b6fb0757c3065aaf2452eaccd0eebc
      https://github.com/llvm/llvm-project/commit/73731d6873b6fb0757c3065aaf2452eaccd0eebc
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAGISel.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    A llvm/test/TableGen/dag-isel-instrument.td
    M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp

  Log Message:
  -----------
  [llvm-tblgen] Increase Coverage Index Size (#118329)


  Commit: f68b0e36997322eeda8fd199ea80deb1b49c5410
      https://github.com/llvm/llvm-project/commit/f68b0e36997322eeda8fd199ea80deb1b49c5410
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
    M llvm/test/Transforms/AggressiveInstCombine/AArch64/or-load.ll
    M llvm/test/Transforms/AggressiveInstCombine/X86/or-load.ll

  Log Message:
  -----------
  [AggressiveInstCombine] Use APInt and avoid truncation when folding loads

A miscompilation issue has been addressed with improved handling.

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


  Commit: 46829e5430aa3f086389549538d5289769d67076
      https://github.com/llvm/llvm-project/commit/46829e5430aa3f086389549538d5289769d67076
  Author: LiqinWeng <liqin.weng at spacemit.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/cttz_elts.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-and.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-max.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-min.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-or.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-scalable-fp.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-scalable-int.ll
    M llvm/test/Analysis/CostModel/RISCV/vp-intrinsics.ll

  Log Message:
  -----------
  [RISCV][CostModel] Correct the cost of some reductions (#118072)

Reductions include: and/or/max/min


  Commit: 69b47845403e78f61987945033e1fd72e9dc044a
      https://github.com/llvm/llvm-project/commit/69b47845403e78f61987945033e1fd72e9dc044a
  Author: Rin Dobrescu <irina.dobrescu at arm.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/512tvb-sve-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-basic-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-clear-upper-regs.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-neon-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-sve-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-zero-dependency.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-basic-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-clear-upper-regs.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-neon-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-sve-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-zero-lat-movs.s

  Log Message:
  -----------
  [AArch64] Fix scheduling information for arithmetic and logical instructions. (#113542)

This patch corrects scheduling information relating to Neoverse-V2
arithmetic and logical instructions.


  Commit: 2c739dfd53fde0995f91c8a2c11ec803041bac86
      https://github.com/llvm/llvm-project/commit/2c739dfd53fde0995f91c8a2c11ec803041bac86
  Author: Hugo Trachino <hugo.trachino at huawei.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
    M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir

  Log Message:
  -----------
  [MLIR][Arith] Add ExpandOps to convertArithToLLVM (#117305)

Arith Floor and Ceil ops would not get lowered when running
--convert-arith-to-llvm.


  Commit: 5cbc42142714a31ecb4ef7f674ba577946202e6e
      https://github.com/llvm/llvm-project/commit/5cbc42142714a31ecb4ef7f674ba577946202e6e
  Author: Dmitri Gribenko <gribozavr at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

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

  Log Message:
  -----------
  [bazel] Port 9c9d4b9e73c1


  Commit: 03aae4fbaea4d3bf9364bc04bcbb5898816ab5ae
      https://github.com/llvm/llvm-project/commit/03aae4fbaea4d3bf9364bc04bcbb5898816ab5ae
  Author: Jerry-Ge <jerry.ge at arm.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td

  Log Message:
  -----------
  [MLIR][TOSA] Update CustomOp input and output names (#118408)

Update input name from input to input_list
Update output name from outputs to output_list

To match specification:
https://www.mlplatform.org/tosa/tosa_spec.html#_custom

Signed-off-by: Jerry Ge <jerry.ge at arm.com>


  Commit: caf8942cd9e52fca35992ab34af0a1cec1866759
      https://github.com/llvm/llvm-project/commit/caf8942cd9e52fca35992ab34af0a1cec1866759
  Author: Kai Sasaki <lewuathe at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    A mlir/test/Transforms/invalid-outer-loop-size.mlir
    M mlir/test/lib/Dialect/SCF/TestLoopParametricTiling.cpp

  Log Message:
  -----------
  [mlir][transform] Guard parametric loop tiling pass from no option (#118254)

`test-extract-fixed-outer-loops` pass always crash without any
`test-outer-loop-sizes` option. We need to keep the pass from crash by
checking the option existence.

Fix https://github.com/llvm/llvm-project/issues/61716,
https://github.com/llvm/llvm-project/issues/116360

---------

Co-authored-by: Mehdi Amini <joker.eph at gmail.com>


  Commit: 2202f0e093d84081ff098c6720bc8e2302a56061
      https://github.com/llvm/llvm-project/commit/2202f0e093d84081ff098c6720bc8e2302a56061
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/store-constant.ll

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

This needs to be expanded to a wider range of tests but for now just focus on #111126


  Commit: 78db4e9f7b93953e425b3b69636925a557bff7eb
      https://github.com/llvm/llvm-project/commit/78db4e9f7b93953e425b3b69636925a557bff7eb
  Author: Jan Ječmen <JanJecmen at users.noreply.github.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp

  Log Message:
  -----------
  [NFC][IRCE] Don't require LoopStructure to determine IRCE profitability (#116384)

This refactoring hoists the profitability check earlier in the pipeline,
so that for loops that are not profitable to transform there is no
iteration over the basic blocks or LoopStructure computation.

Motivated by PR #104659 that tweaks how the profitability of individual
branches is evaluated.


  Commit: 4b5e7fa4de54e00df007ae5e2675393fd046aa59
      https://github.com/llvm/llvm-project/commit/4b5e7fa4de54e00df007ae5e2675393fd046aa59
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    A clang/lib/AST/ByteCode/BitcastBuffer.cpp
    A clang/lib/AST/ByteCode/BitcastBuffer.h
    M clang/lib/AST/ByteCode/Boolean.h
    M clang/lib/AST/ByteCode/Integral.h
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
    M clang/lib/AST/CMakeLists.txt
    A clang/test/AST/ByteCode/builtin-bit-cast-bitfields.cpp
    M clang/test/AST/ByteCode/builtin-bit-cast.cpp
    A clang/unittests/AST/ByteCode/BitcastBuffer.cpp
    M clang/unittests/AST/ByteCode/CMakeLists.txt

  Log Message:
  -----------
  [clang][bytecode] Handle bitcasts involving bitfields (#116843)

Copy the data one bit at a time, leaving optimizations for future work.
Adds a BitcastBuffer that takes care of pushing the bits in the right
order.


  Commit: 4675db5f394ebadd8a56bb17e2344da5c7779a68
      https://github.com/llvm/llvm-project/commit/4675db5f394ebadd8a56bb17e2344da5c7779a68
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/dag-combine-concat-vectors.ll
    A llvm/test/CodeGen/AArch64/extract-vector-cmp.ll
    M llvm/test/CodeGen/X86/vselect.ll

  Log Message:
  -----------
  [DAGCombiner] Add support for scalarising extracts of a vector setcc (#117566)

For IR like this:

%icmp = icmp ult <4 x i32> %a, splat (i32 5)
%res = extractelement <4 x i1> %icmp, i32 1

where there is only one use of %icmp we can take a similar approach
to what we already do for binary ops such add, sub, etc. and convert
this into

%ext = extractelement <4 x i32> %a, i32 1
%res = icmp ult i32 %ext, 5

For AArch64 targets at least the scalar boolean result will almost
certainly need to be in a GPR anyway, since it will probably be
used by branches for control flow. I've tried to reuse existing code
in scalarizeExtractedBinop to also work for setcc.

NOTE: The optimisations don't apply for tests such as
extract_icmp_v4i32_splat_rhs in the file

CodeGen/AArch64/extract-vector-cmp.ll

because scalarizeExtractedBinOp only works if one of the input
operands is a constant.


  Commit: adf892d743d91afc1af7893f97c770db31c26916
      https://github.com/llvm/llvm-project/commit/adf892d743d91afc1af7893f97c770db31c26916
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/AST/BUILD.gn
    M llvm/utils/gn/secondary/clang/unittests/AST/ByteCode/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 4b5e7fa4de54


  Commit: 52b9d0beb6225d1ffe89e2921774f0df0b3e7969
      https://github.com/llvm/llvm-project/commit/52b9d0beb6225d1ffe89e2921774f0df0b3e7969
  Author: Andrzej Warzynski <andrzej.warzynski at arm.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
    M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir

  Log Message:
  -----------
  Revert "[MLIR][Arith] Add ExpandOps to convertArithToLLVM (#117305)"

Failing bot:
  * https://lab.llvm.org/buildbot/#/builders/138/builds/729

Also, not all discussions have been resolved:
  * https://github.com/llvm/llvm-project/pull/117305#discussion_r1861194201

This reverts commit 2c739dfd53fde0995f91c8a2c11ec803041bac86.


  Commit: 54db16221c92eb52efbea90ad5b5d2a1d00cda3e
      https://github.com/llvm/llvm-project/commit/54db16221c92eb52efbea90ad5b5d2a1d00cda3e
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    R clang/lib/AST/ByteCode/BitcastBuffer.cpp
    R clang/lib/AST/ByteCode/BitcastBuffer.h
    M clang/lib/AST/ByteCode/Boolean.h
    M clang/lib/AST/ByteCode/Integral.h
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
    M clang/lib/AST/CMakeLists.txt
    R clang/test/AST/ByteCode/builtin-bit-cast-bitfields.cpp
    M clang/test/AST/ByteCode/builtin-bit-cast.cpp
    R clang/unittests/AST/ByteCode/BitcastBuffer.cpp
    M clang/unittests/AST/ByteCode/CMakeLists.txt

  Log Message:
  -----------
  Revert "[clang][bytecode] Handle bitcasts involving bitfields (#116843)"

This reverts commit 4b5e7fa4de54e00df007ae5e2675393fd046aa59.

This breaks builders:
https://lab.llvm.org/buildbot/#/builders/154/builds/8464

I guess some more testing on 32 bit hosts is needed.


  Commit: a30f7e190b8a4b6cdb9d9c050be4af660f237931
      https://github.com/llvm/llvm-project/commit/a30f7e190b8a4b6cdb9d9c050be4af660f237931
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/AST/BUILD.gn
    M llvm/utils/gn/secondary/clang/unittests/AST/ByteCode/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 54db16221c92


  Commit: ecbe4d1e360e25c0634a3a62fbd01e8df5bb0c1b
      https://github.com/llvm/llvm-project/commit/ecbe4d1e360e25c0634a3a62fbd01e8df5bb0c1b
  Author: John Brawn <john.brawn at arm.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/test/CodeGen/X86/cx-complex-range.c
    M clang/test/CodeGen/cx-complex-range.c
    M clang/test/CodeGen/matrix-type-operators-fast-math.c
    M clang/test/CodeGen/nofpclass.c
    M clang/test/CodeGenCUDA/amdgpu-atomic-ops.cu
    M clang/test/CodeGenHIP/printf_nonhostcall.cpp
    M clang/test/Headers/__clang_hip_math_ocml_rounded_ops.hip
    M llvm/docs/LangRef.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/Operator.h
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/test/Assembler/fast-math-flags.ll
    M llvm/test/Bitcode/compatibility.ll
    M llvm/test/Transforms/InstCombine/fpcast.ll

  Log Message:
  -----------
  [IR] Allow fast math flags on fptrunc and fpext (#115894)

This consists of:
 * Make these instructions part of FPMathOperator.
* Adjust bitcode/ir readers/writers to expect fast math flags on these
instructions.
 * Make IRBuilder set the fast math flags on these instructions.
 * Update langref and release notes.
* Update a bunch of tests. Some of these are due to InstCombineCasts
incorrectly adding fast math flags to fptrunc, which will be fixed in a
later patch.


  Commit: 12ca72ba7f11fb880794a37cffdea5f47e3062f4
      https://github.com/llvm/llvm-project/commit/12ca72ba7f11fb880794a37cffdea5f47e3062f4
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    A clang/lib/AST/ByteCode/BitcastBuffer.cpp
    A clang/lib/AST/ByteCode/BitcastBuffer.h
    M clang/lib/AST/ByteCode/Boolean.h
    M clang/lib/AST/ByteCode/Integral.h
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
    M clang/lib/AST/CMakeLists.txt
    A clang/test/AST/ByteCode/builtin-bit-cast-bitfields.cpp
    M clang/test/AST/ByteCode/builtin-bit-cast.cpp
    A clang/unittests/AST/ByteCode/BitcastBuffer.cpp
    M clang/unittests/AST/ByteCode/CMakeLists.txt

  Log Message:
  -----------
  Reapply "[clang][bytecode] Handle bitcasts involving bitfields (#116843)"

This reverts commit 54db16221c92eb52efbea90ad5b5d2a1d00cda3e.

Check for existence of __SIZOEF_INT128__ so we don't run those
tests on targets that don't have int128.


  Commit: 8c46413f343d0a5b8db48d958890b9038f03b70d
      https://github.com/llvm/llvm-project/commit/8c46413f343d0a5b8db48d958890b9038f03b70d
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/utils/vim/ftplugin/llvm.vim

  Log Message:
  -----------
  [vim] Improve iskeyword for LLVM IR (#117905)

This patch sets the 'iskeyword' variable to characters found in LLVM IR
identifiers. Keywords are used in many places in vim, most notably being
treated as word boundaries for commands like 'w' and '*'. The aim with
this is to improve the navigability and editability of LLVM IR files as
now one is able to: skip over entire identifiers with motions (e.g.,
`w/e/b`); yank/delete whole identifiers (e.g., `diw`); highlight/search
for the identifier under the cursor (`*`), etc.

More complicated LLVM identifiers including quotation marks are not
supported. The 'iskeyword' variable is just a list of characters, not a
regex, and including quotation marks and all the characters permitted in
quoted identifiers would expand the scope to almost everything and
become less usable. These types of identifiers are rare by comparison.

Note that this does change how words are considered across the entire
LLVM IR file, so including strings, comments, names, etc. Given that the
majority of editing/navigating LLVM IR is working with and across
values, this is arguably a worthwhile trade-off.


  Commit: 4d70f5fe130d129efc0157342fb027f7b7b3bc22
      https://github.com/llvm/llvm-project/commit/4d70f5fe130d129efc0157342fb027f7b7b3bc22
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/AST/BUILD.gn
    M llvm/utils/gn/secondary/clang/unittests/AST/ByteCode/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 12ca72ba7f11


  Commit: 04b26f0eb7c3822fd5349b31e5ad544ea5a7929e
      https://github.com/llvm/llvm-project/commit/04b26f0eb7c3822fd5349b31e5ad544ea5a7929e
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M offload/CMakeLists.txt
    M offload/cmake/OpenMPTesting.cmake
    M offload/plugins-nextgen/CMakeLists.txt
    M offload/plugins-nextgen/amdgpu/CMakeLists.txt
    M offload/plugins-nextgen/common/CMakeLists.txt
    M offload/test/CMakeLists.txt

  Log Message:
  -----------
  [offload] Standalone build fixes (#118173)

A fair number of fixes to get standalone builds of offload working —
mostly copying missing bits from openmp. It's almost ready — I still
need to figure out why some of the tsts aren't linking to the right
libraries.


  Commit: 0adab6b1af5b1874099b1e97fdcea2ce5020d79a
      https://github.com/llvm/llvm-project/commit/0adab6b1af5b1874099b1e97fdcea2ce5020d79a
  Author: SpencerAbson <Spencer.Abson at arm.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/test/Preprocessor/aarch64-target-features.c
    M clang/test/Preprocessor/init-aarch64.c
    A clang/test/Sema/aarch64-sve-intrinsics/acle_neon_sve_bridge.cpp

  Log Message:
  -----------
  [AArch64][Clang] Define __ARM_NEON_SVE_BRIDGE unconditionally (#118272)

The meaning of `__ARM_NEON_SVE_BRIDGE` was changed here:
https://github.com/ARM-software/acle/pull/362

Such that it should be defined to `1` if the `arm_neon_sve_bridge.h`
header file is available, which is the case for Clang.


  Commit: 041e5c96c4bd247a3dd6099f49143ee66d9205d8
      https://github.com/llvm/llvm-project/commit/041e5c96c4bd247a3dd6099f49143ee66d9205d8
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

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

  Log Message:
  -----------
  [X86] getMemoryOpCost - ensure we pass through OpInfo / Instruction args to base getMemoryOpCost calls

Nothing really uses these yet, but we shouldn't be losing the info.

We can also pass on the OpInfo arg to the getMemoryOpCost constant load call to indicate if its constant/uniform/pow2 etc.

Prep cleanup for #111126


  Commit: 148fdc519cd25b36db9da61a6c6cabe86268dc58
      https://github.com/llvm/llvm-project/commit/148fdc519cd25b36db9da61a6c6cabe86268dc58
  Author: Thorsten Schütt <schuett at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/docs/GlobalISel/GenericOpcode.rst
    M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
    M llvm/include/llvm/Support/TargetOpcodes.def
    M llvm/include/llvm/Target/GenericOpcodes.td
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir
    A llvm/test/MachineVerifier/test_abd_su.mir
    M llvm/test/TableGen/GlobalISelEmitter.td

  Log Message:
  -----------
  [GlobalISel] Add G_ABDS and G_ABDU instructions (#118122)

The DAG has the same instructions: the signed and unsigned absolute
difference of it's input. For AArch64, they map to uabd and sabd for
Neon and SVE. The Neon and SVE instructions will require custom
patterns.

They are pseudo opcodes and are not imported by the IRTranslator. We
need combines to create them.

PowerPC, ARM, and AArch64 have native instructions.

/// i.e trunc(abs(sext(Op0) - sext(Op1))) becomes abds(Op0, Op1) 
///  or trunc(abs(zext(Op0) - zext(Op1))) becomes abdu(Op0, Op1)

For GlobalISel, we are going to write the combines in MIR patterns.

see:
llvm/test/CodeGen/AArch64/abd-combine.ll

- [ ] combine into abd
- [ ] legalize and add td patterns


  Commit: 9d952422b49b4519a293744533735967d43995b0
      https://github.com/llvm/llvm-project/commit/9d952422b49b4519a293744533735967d43995b0
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M flang/lib/Semantics/resolve-directives.cpp
    A flang/test/Semantics/OpenMP/do21.f90

  Log Message:
  -----------
  [Flang][OpenMP] Issue an error for loop directive without a loop (#118039)

Fixes #107500


  Commit: 75af62839b60a10439e8a31362d234b02c3958ba
      https://github.com/llvm/llvm-project/commit/75af62839b60a10439e8a31362d234b02c3958ba
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/test/Transforms/ConstraintElimination/gep-arithmetic.ll

  Log Message:
  -----------
  [ConstraintElim] Add tests for gep nuw (NFC)


  Commit: 140df02aa2917fd9971af3bbf3145e513c1a8b2b
      https://github.com/llvm/llvm-project/commit/140df02aa2917fd9971af3bbf3145e513c1a8b2b
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/X86/store-constant.ll

  Log Message:
  -----------
  [SLP][X86] Update test coverage for #111126

I'd copied the test case from #118016 instead of the original #111126 test case


  Commit: a88653a2cd4f22ff2ac4cb25214caf3e5fd27aff
      https://github.com/llvm/llvm-project/commit/a88653a2cd4f22ff2ac4cb25214caf3e5fd27aff
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/IR/Operator.cpp
    M llvm/test/Transforms/GVN/opaque-ptr.ll
    M llvm/test/Transforms/InstCombine/gep-vector-indices.ll
    M llvm/test/Transforms/InstSimplify/gep.ll

  Log Message:
  -----------
  [LLVM][IR] When evaluating GEP offsets don't assume ConstantInt is a scalar. (#117162)


  Commit: 920ea4af64d92486b75dc13e25bff32deda287b4
      https://github.com/llvm/llvm-project/commit/920ea4af64d92486b75dc13e25bff32deda287b4
  Author: Nathan Gauër <brioche at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

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

  Log Message:
  -----------
  [SPIR-V] Replace assert with report_fatal (#118617)

Irreducible must always be rejected, not only in debug builds.

Signed-off-by: Nathan Gauër <brioche at google.com>


  Commit: 026fbe519e16a4993601d2bac509e182081fc068
      https://github.com/llvm/llvm-project/commit/026fbe519e16a4993601d2bac509e182081fc068
  Author: Maksim Ivanov <emaxx at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/www/hacking.html

  Log Message:
  -----------
  [clang][www] Remove ClangDataFormat.py from docs (#117943)

The script was removed in
https://github.com/llvm/llvm-project/pull/96385.

Instead, mention the LLVM formatter as it's still very useful for
Clang's code.


  Commit: 2e85138c0d06c0cc17569d375ce7a75e60cc6dd0
      https://github.com/llvm/llvm-project/commit/2e85138c0d06c0cc17569d375ce7a75e60cc6dd0
  Author: Balazs Benics <benicsbalazs at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/include/clang/AST/AttrIterator.h
    M clang/lib/CodeGen/CGLoopInfo.cpp

  Log Message:
  -----------
  [clang][NFC] Generalize getSpecificAttr for const attributes (#116606)

This patch allows using `getSpecificAttr` for getting `const`
attributes. Previously, if users of this API would want to get a const
Attribute pointer, they had to pass `getSpecificAttr<const XYZ>()`, to
get it compile. It feels like an arbitrary limitation as the constness
was already encoded in the Attribute container's value type.


  Commit: 8271195de05742ed7079d7882fbebc2daecbd7e2
      https://github.com/llvm/llvm-project/commit/8271195de05742ed7079d7882fbebc2daecbd7e2
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/test/SemaCXX/new-delete.cpp

  Log Message:
  -----------
  [Clang] Deleting an incomplete enum type is not an error (#118455)

The changes introduced in #97733 accidentally prevented to delete an
incomplete enum (the validity of which has been confirmed by CWG2925

Fixes #99278


  Commit: 99b862efba9c2db5ec0aa32f62b5bc78df61d7a4
      https://github.com/llvm/llvm-project/commit/99b862efba9c2db5ec0aa32f62b5bc78df61d7a4
  Author: Oliver Stannard <oliver.stannard at arm.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    A llvm/test/CodeGen/ARM/vector-trunc.ll

  Log Message:
  -----------
  [DAGISel][ARM] Fix vector truncate combine for big-endian (#118101)

This DAG combine was incorrect for big-endian targets, because it
assumes that when a bitcast changes the lane width, the
least-significant bits of the wider lanes are in the lower-numbered
lanes of the smaller type, which is only true for little-endian.


  Commit: 7235ac90517b61f8a5b5bd4e6a55437c094d6156
      https://github.com/llvm/llvm-project/commit/7235ac90517b61f8a5b5bd4e6a55437c094d6156
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M lld/COFF/Writer.cpp
    A lld/test/COFF/deploadflag-cfg-short.s

  Log Message:
  -----------
  [LLD][COFF] Check load config size before setting its DependentLoadFlags (#118535)

Merge prepareLoadConfig and checkLoadConfigGuardData to share helper
macros.


  Commit: 7b6e0d9fc3993f3e3df596fd16d97e2ed2e1d0aa
      https://github.com/llvm/llvm-project/commit/7b6e0d9fc3993f3e3df596fd16d97e2ed2e1d0aa
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
    M llvm/test/Transforms/LowerMatrixIntrinsics/dot-product-transpose-int.ll
    M llvm/test/Transforms/LowerMatrixIntrinsics/transpose-opts-lifting.ll

  Log Message:
  -----------
  [Matrix] Use DenseMap for ShapeMap instead of ValueMap. (#118282)

ValueMap automatically updates entries with the new value if they have
been RAUW. This can lead to instructions that are expected to not have
shape info to be added to the map (e.g. shufflevector as in the added
test case).

This leads to incorrect results. Originally it was used for transpose
optimizations, but they now all use updateShapeAndReplaceAllUsesWith,
which takes care of updating the shape info as needed.

This fixes a crash in the newly added test cases.

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


  Commit: a608607fd70503c20854bbc0f6f5182b51489b4f
      https://github.com/llvm/llvm-project/commit/a608607fd70503c20854bbc0f6f5182b51489b4f
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/test/Transforms/ConstraintElimination/gep-arithmetic.ll

  Log Message:
  -----------
  [ConstraintElim] Add support for decomposing gep nuw (#118639)

ConstraintElimination currently only supports decomposing gep nusw with
non-negative indices (with "non-negative" possibly being enforced via
pre-condition).

Add support for gep nuw, which directly gives us the necessary
guarantees for the decomposition.


  Commit: 3b904ae5ac5e9d759f3629e9a6b98f14bbfb304c
      https://github.com/llvm/llvm-project/commit/3b904ae5ac5e9d759f3629e9a6b98f14bbfb304c
  Author: Jérôme Duval <jerome.duval at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M libunwind/src/CMakeLists.txt
    M libunwind/src/UnwindCursor.hpp

  Log Message:
  -----------
  [libunwind][Haiku] Improve support (#115462)

* Signal frame unwinding on x86_64 from X512
* Header search for commpage_defs.h on non-standard paths

Unwind supported tests pass on Haiku x86_64

---------

Co-authored-by: Trung Nguyen <trungnt282910 at gmail.com>


  Commit: 7aec6dc477f8148ed066d10dfc7a012a51b6599c
      https://github.com/llvm/llvm-project/commit/7aec6dc477f8148ed066d10dfc7a012a51b6599c
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/BitcastBuffer.h
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
    M clang/lib/AST/ByteCode/Record.h
    M clang/test/AST/ByteCode/builtin-bit-cast.cpp

  Log Message:
  -----------
  [clang][bytecode] Initialize bases when bitcasting (#117179)

Base pointers do not get passed to the callback, so initialize them when iterating bases.


  Commit: 4e80c532c613cc93a43dcf71eaf6a30f96c27b6c
      https://github.com/llvm/llvm-project/commit/4e80c532c613cc93a43dcf71eaf6a30f96c27b6c
  Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M lldb/test/API/commands/register/register/aarch64_sme_z_registers/za_dynamic_resize/Makefile
    M lldb/test/API/commands/register/register/aarch64_sve_registers/rw_access_dynamic_resize/Makefile
    M lldb/test/API/functionalities/process_save_core_minidump/Makefile
    M lldb/test/API/tools/lldb-dap/threads/Makefile

  Log Message:
  -----------
  [lldb][tests] Fix passing pthread library to a linker for some API tests (#118530)

Specify ENABLE_THREADS := YES within test's Makefile instead of passing
-lpthread explicitly via the compiler's CFLAGS options.

Refactoring fix.

Co-authored-by: Vladimir Vereschaka <vvereschaka at accesssoftek.com>


  Commit: 4a7abfe0a7b9b43cc60115caab810f4c24e53f1c
      https://github.com/llvm/llvm-project/commit/4a7abfe0a7b9b43cc60115caab810f4c24e53f1c
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/test/Transforms/InstCombine/sub-gep.ll

  Log Message:
  -----------
  [InstCombine] Preserve nuw in OptimizePointerDifference

If both the geps and the subs are nuw the new sub is also nuw.

Proof: https://alive2.llvm.org/ce/z/mM8UvF


  Commit: ba43a102a929eb8aae60580e14f3192a705e1805
      https://github.com/llvm/llvm-project/commit/ba43a102a929eb8aae60580e14f3192a705e1805
  Author: cmtice <cmtice at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M lldb/source/ValueObject/ValueObject.cpp

  Log Message:
  -----------
  [LLDB] Fix error returns in CastToBasicType and CastToEnumType in ValueObject. (#117401)

Update the error returns in ValueObject::CastToBasicType and
ValueObject::CastToEnumType to create new errors and return a
ValueObjectConstResult with the error, rather tnan updating the error in
(and returning) the input ValueObject.


  Commit: b79007d8a6fed51ec2e06aeaec31968122cfcd09
      https://github.com/llvm/llvm-project/commit/b79007d8a6fed51ec2e06aeaec31968122cfcd09
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/IR/Operator.cpp
    M llvm/unittests/IR/InstructionsTest.cpp

  Log Message:
  -----------
  [IR] Fix accumulateConstantOffset() on zero-index GEP

These are degenerate but not malformed, so make sure we don't
crash.


  Commit: 66ed8fb9739402ae51b790a3541a07dfa85ff174
      https://github.com/llvm/llvm-project/commit/66ed8fb9739402ae51b790a3541a07dfa85ff174
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp

  Log Message:
  -----------
  [InstCombine] Fix use after free

Make sure we only access cached nowrap flags.


  Commit: 95e44d3670f402e0cb9b78fa3cce20d8edc1ac77
      https://github.com/llvm/llvm-project/commit/95e44d3670f402e0cb9b78fa3cce20d8edc1ac77
  Author: Alexander Shaposhnikov <ashaposhnikov at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/test/Instrumentation/MemorySanitizer/X86/sse41-intrinsics-x86.ll
    M llvm/test/Instrumentation/MemorySanitizer/i386/sse41-intrinsics-i386.ll

  Log Message:
  -----------
  [msan] Add handling for sse41_round_pd/sse41_round_ps (#118441)

Add handling for sse41_round_pd/sse41_round_ps similarly to
maybeHandleSimpleNomemIntrinsic.

Test plan: ninja check-all


  Commit: 1b95e76d8f10725f73c706881ccc49669e151f38
      https://github.com/llvm/llvm-project/commit/1b95e76d8f10725f73c706881ccc49669e151f38
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

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

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

This patch fixes:

  llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp:3840:14:
  error: unused variable 'NumArgOperands' [-Werror,-Wunused-variable]


  Commit: 85d15bd130930c96533419b0fc2e66d86b84af42
      https://github.com/llvm/llvm-project/commit/85d15bd130930c96533419b0fc2e66d86b84af42
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/store-constant.ll

  Log Message:
  -----------
  [TTI][X86] getMemoryOpCost - reduced costs when loading uniform values due to value reuse (#118642)

Similar to what we do for broadcast shuffles, when legalising load costs, if the value is known to be uniform, then we will only load a single vector and reuse this across the split legalised registers.

Fixes #111126


  Commit: 0a2116f4f96efc83bc729f0ed1a3d944b86cf1cb
      https://github.com/llvm/llvm-project/commit/0a2116f4f96efc83bc729f0ed1a3d944b86cf1cb
  Author: Andrea Faulds <andrea.faulds at amd.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
    M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir

  Log Message:
  -----------
  [mlir][spirv][vector] Support converting vector.from_elements to SPIR-V (#118540)

Closes #118098.


  Commit: d5ba143a6d8e8726c900dbfc381dab0e7d8b6a65
      https://github.com/llvm/llvm-project/commit/d5ba143a6d8e8726c900dbfc381dab0e7d8b6a65
  Author: John Harrison <harjohn at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M lldb/source/Host/common/TCPSocket.cpp
    M lldb/unittests/Host/SocketTest.cpp

  Log Message:
  -----------
  [lldb] Correct an issue when using Socket to listen on `localhost:0` on ipv4 and ipv6.  (#118565)

On systems supporting ting ipv4 and ipv6 the second socket to initialize 
will not update the listening address correctly after the call to `bind`.

This results in the second address listed in
`Socket::GetListeningConnectionURI` to have port `:0`, which is
incorrect.

To fix this, correct which address is used to detect the port and update
the unit tests to cover this use case.

Additionally, I updated the SocketTest's to only parameterize tests that
can work on ipv4 or ipv6. This means tests like
`SocketTest::DecodeHostAndPort` are only run once, instead of twice
since they do not change behavior based on parameters.

I also included a new unit test to cover listening on `localhost:0`,
validating both sockets correctly list the updated port.


  Commit: 06c831d7fbb02600ded1f793eaaa142d849db2a2
      https://github.com/llvm/llvm-project/commit/06c831d7fbb02600ded1f793eaaa142d849db2a2
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M libc/CMakeLists.txt
    M libc/cmake/modules/LLVMLibCHeaderRules.cmake
    M libc/docs/dev/header_generation.rst
    M libc/docs/dev/source_tree_layout.rst
    A libc/hdrgen/CMakeLists.txt
    A libc/hdrgen/class_implementation/classes/enumeration.py
    A libc/hdrgen/class_implementation/classes/function.py
    A libc/hdrgen/class_implementation/classes/macro.py
    A libc/hdrgen/class_implementation/classes/object.py
    A libc/hdrgen/class_implementation/classes/type.py
    A libc/hdrgen/gpu_headers.py
    A libc/hdrgen/header.py
    A libc/hdrgen/tests/expected_output/test_header.h
    A libc/hdrgen/tests/input/test_small.h.def
    A libc/hdrgen/tests/input/test_small.yaml
    A libc/hdrgen/tests/test_integration.py
    A libc/hdrgen/yaml/arpa/inet.yaml
    A libc/hdrgen/yaml/assert.yaml
    A libc/hdrgen/yaml/ctype.yaml
    A libc/hdrgen/yaml/dirent.yaml
    A libc/hdrgen/yaml/dlfcn.yaml
    A libc/hdrgen/yaml/elf.yaml
    A libc/hdrgen/yaml/errno.yaml
    A libc/hdrgen/yaml/fcntl.yaml
    A libc/hdrgen/yaml/features.yaml
    A libc/hdrgen/yaml/fenv.yaml
    A libc/hdrgen/yaml/float.yaml
    A libc/hdrgen/yaml/gpu/rpc.yaml
    A libc/hdrgen/yaml/inttypes.yaml
    A libc/hdrgen/yaml/limits.yaml
    A libc/hdrgen/yaml/link.yaml
    A libc/hdrgen/yaml/locale.yaml
    A libc/hdrgen/yaml/malloc.yaml
    A libc/hdrgen/yaml/math.yaml
    A libc/hdrgen/yaml/pthread.yaml
    A libc/hdrgen/yaml/sched.yaml
    A libc/hdrgen/yaml/search.yaml
    A libc/hdrgen/yaml/setjmp.yaml
    A libc/hdrgen/yaml/signal.yaml
    A libc/hdrgen/yaml/spawn.yaml
    A libc/hdrgen/yaml/stdbit.yaml
    A libc/hdrgen/yaml/stdckdint.yaml
    A libc/hdrgen/yaml/stdfix.yaml
    A libc/hdrgen/yaml/stdint.yaml
    A libc/hdrgen/yaml/stdio.yaml
    A libc/hdrgen/yaml/stdlib.yaml
    A libc/hdrgen/yaml/string.yaml
    A libc/hdrgen/yaml/strings.yaml
    A libc/hdrgen/yaml/sys/auxv.yaml
    A libc/hdrgen/yaml/sys/epoll.yaml
    A libc/hdrgen/yaml/sys/ioctl.yaml
    A libc/hdrgen/yaml/sys/mman.yaml
    A libc/hdrgen/yaml/sys/prctl.yaml
    A libc/hdrgen/yaml/sys/random.yaml
    A libc/hdrgen/yaml/sys/resource.yaml
    A libc/hdrgen/yaml/sys/select.yaml
    A libc/hdrgen/yaml/sys/sendfile.yaml
    A libc/hdrgen/yaml/sys/socket.yaml
    A libc/hdrgen/yaml/sys/stat.yaml
    A libc/hdrgen/yaml/sys/statvfs.yaml
    A libc/hdrgen/yaml/sys/syscall.yaml
    A libc/hdrgen/yaml/sys/time.yaml
    A libc/hdrgen/yaml/sys/types.yaml
    A libc/hdrgen/yaml/sys/utsname.yaml
    A libc/hdrgen/yaml/sys/wait.yaml
    A libc/hdrgen/yaml/termios.yaml
    A libc/hdrgen/yaml/threads.yaml
    A libc/hdrgen/yaml/time.yaml
    A libc/hdrgen/yaml/uchar.yaml
    A libc/hdrgen/yaml/unistd.yaml
    A libc/hdrgen/yaml/wchar.yaml
    A libc/hdrgen/yaml_functions_sorted.py
    A libc/hdrgen/yaml_to_classes.py
    M libc/include/CMakeLists.txt
    R libc/newhdrgen/CMakeLists.txt
    R libc/newhdrgen/class_implementation/classes/enumeration.py
    R libc/newhdrgen/class_implementation/classes/function.py
    R libc/newhdrgen/class_implementation/classes/macro.py
    R libc/newhdrgen/class_implementation/classes/object.py
    R libc/newhdrgen/class_implementation/classes/type.py
    R libc/newhdrgen/gpu_headers.py
    R libc/newhdrgen/header.py
    R libc/newhdrgen/tests/expected_output/test_header.h
    R libc/newhdrgen/tests/input/test_small.h.def
    R libc/newhdrgen/tests/input/test_small.yaml
    R libc/newhdrgen/tests/test_integration.py
    R libc/newhdrgen/yaml/arpa/inet.yaml
    R libc/newhdrgen/yaml/assert.yaml
    R libc/newhdrgen/yaml/ctype.yaml
    R libc/newhdrgen/yaml/dirent.yaml
    R libc/newhdrgen/yaml/dlfcn.yaml
    R libc/newhdrgen/yaml/elf.yaml
    R libc/newhdrgen/yaml/errno.yaml
    R libc/newhdrgen/yaml/fcntl.yaml
    R libc/newhdrgen/yaml/features.yaml
    R libc/newhdrgen/yaml/fenv.yaml
    R libc/newhdrgen/yaml/float.yaml
    R libc/newhdrgen/yaml/gpu/rpc.yaml
    R libc/newhdrgen/yaml/inttypes.yaml
    R libc/newhdrgen/yaml/limits.yaml
    R libc/newhdrgen/yaml/link.yaml
    R libc/newhdrgen/yaml/locale.yaml
    R libc/newhdrgen/yaml/malloc.yaml
    R libc/newhdrgen/yaml/math.yaml
    R libc/newhdrgen/yaml/pthread.yaml
    R libc/newhdrgen/yaml/sched.yaml
    R libc/newhdrgen/yaml/search.yaml
    R libc/newhdrgen/yaml/setjmp.yaml
    R libc/newhdrgen/yaml/signal.yaml
    R libc/newhdrgen/yaml/spawn.yaml
    R libc/newhdrgen/yaml/stdbit.yaml
    R libc/newhdrgen/yaml/stdckdint.yaml
    R libc/newhdrgen/yaml/stdfix.yaml
    R libc/newhdrgen/yaml/stdint.yaml
    R libc/newhdrgen/yaml/stdio.yaml
    R libc/newhdrgen/yaml/stdlib.yaml
    R libc/newhdrgen/yaml/string.yaml
    R libc/newhdrgen/yaml/strings.yaml
    R libc/newhdrgen/yaml/sys/auxv.yaml
    R libc/newhdrgen/yaml/sys/epoll.yaml
    R libc/newhdrgen/yaml/sys/ioctl.yaml
    R libc/newhdrgen/yaml/sys/mman.yaml
    R libc/newhdrgen/yaml/sys/prctl.yaml
    R libc/newhdrgen/yaml/sys/random.yaml
    R libc/newhdrgen/yaml/sys/resource.yaml
    R libc/newhdrgen/yaml/sys/select.yaml
    R libc/newhdrgen/yaml/sys/sendfile.yaml
    R libc/newhdrgen/yaml/sys/socket.yaml
    R libc/newhdrgen/yaml/sys/stat.yaml
    R libc/newhdrgen/yaml/sys/statvfs.yaml
    R libc/newhdrgen/yaml/sys/syscall.yaml
    R libc/newhdrgen/yaml/sys/time.yaml
    R libc/newhdrgen/yaml/sys/types.yaml
    R libc/newhdrgen/yaml/sys/utsname.yaml
    R libc/newhdrgen/yaml/sys/wait.yaml
    R libc/newhdrgen/yaml/termios.yaml
    R libc/newhdrgen/yaml/threads.yaml
    R libc/newhdrgen/yaml/time.yaml
    R libc/newhdrgen/yaml/uchar.yaml
    R libc/newhdrgen/yaml/unistd.yaml
    R libc/newhdrgen/yaml/wchar.yaml
    R libc/newhdrgen/yaml_functions_sorted.py
    R libc/newhdrgen/yaml_to_classes.py
    M libc/src/math/docs/add_math_function.md

  Log Message:
  -----------
  [libc] rename newhdrgen to just hdrgen (#118545)

Link: #117208
Fixes: #117254


  Commit: 9e662066388318dbce65514c98aa5c9d70d7d264
      https://github.com/llvm/llvm-project/commit/9e662066388318dbce65514c98aa5c9d70d7d264
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Scalar/SimpleLoopUnswitch.h
    A llvm/include/llvm/Transforms/Utils/ExtraPassManager.h
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp

  Log Message:
  -----------
  [Passes] Generalize ShouldRunExtraVectorPasses to allow re-use (NFCI). (#118323)

Generalize ShouldRunExtraVectorPasses to ShouldRunExtraPasses, to allow
re-use for other transformations.

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


  Commit: e2c3d16282aca0f7e13f58170140647632d627c9
      https://github.com/llvm/llvm-project/commit/e2c3d16282aca0f7e13f58170140647632d627c9
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/docs/CodingStandards.rst

  Log Message:
  -----------
  [NFC] Eliminate need of Emacs tag and file name in file header (#118553)

- Simplify file header to not require file name and C++ Emacs tag.

See
https://discourse.llvm.org/t/is-c-in-header-files-still-relevant/83124/1


  Commit: 87c21bf0644c640e34c3eaa2e9a7c97eda0bf4a4
      https://github.com/llvm/llvm-project/commit/87c21bf0644c640e34c3eaa2e9a7c97eda0bf4a4
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
    M llvm/test/CodeGen/AMDGPU/lower-kernargs.ll

  Log Message:
  -----------
  [AMDGPU] Preserve `noundef` and `range` during kernel argument loads (#118395)

This commit ensures than noundef (which is frequently a prerequisite for
other annotations) and range() annotations on kernel arguments are
copied onto their corresponding load from the kernel argument structure.


  Commit: 4639a9a06387b7ae3b21255d2ac3545e6b183236
      https://github.com/llvm/llvm-project/commit/4639a9a06387b7ae3b21255d2ac3545e6b183236
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M lld/COFF/DebugTypes.cpp
    M lld/COFF/Driver.cpp
    M lld/COFF/ICF.cpp
    M lld/COFF/InputFiles.cpp
    M lld/COFF/PDB.cpp
    M lld/COFF/SymbolTable.cpp
    M lld/COFF/Writer.cpp

  Log Message:
  -----------
  [lld-link] Replace log(...) with Log


  Commit: bb9bb686741feeb2c65097ef750126477f96ff30
      https://github.com/llvm/llvm-project/commit/bb9bb686741feeb2c65097ef750126477f96ff30
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
    M mlir/test/Conversion/ArithToSPIRV/arith-to-spirv-unsupported.mlir

  Log Message:
  -----------
  [mlir][spirv] Handle vectors of integers of unsupported width (#118663)

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


  Commit: a8f927161bc25fe70d367c64e44211a15767d03e
      https://github.com/llvm/llvm-project/commit/a8f927161bc25fe70d367c64e44211a15767d03e
  Author: Kunwar Grover <groverkss at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

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

  Log Message:
  -----------
  [mlir][Vector] Fix vector.extract lowering to llvm for 0-d vectors (#117731)

The current implementation of lowering to llvm for vector.extract
incorrectly assumes that if the number of indices is zero, the operation
can be folded away. This PR removes this condition and relies on the
folder to do it instead.

This PR also unifies the logic for scalar extracts and slice extracts,
which as a side effect also enables vector.extract lowering for n-d
vector.extract with dynamic inner most dimension. (This was only
prevented by a conservative check in the old implementation)


  Commit: ef164ecedf01dc87805b62b7d14a91da42453d69
      https://github.com/llvm/llvm-project/commit/ef164ecedf01dc87805b62b7d14a91da42453d69
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M .github/workflows/docs.yml

  Log Message:
  -----------
  [libc++][libunwind] Fix documentation CI job after #118159 (#118555)


  Commit: ed2db3be619ddc0f459ab5ea4ad6ee36e006b759
      https://github.com/llvm/llvm-project/commit/ed2db3be619ddc0f459ab5ea4ad6ee36e006b759
  Author: Renaud Kauffmann <rkauffmann at nvidia.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
    M flang/test/Fir/CUDA/cuda-constructor-2.f90

  Log Message:
  -----------
  [flang][cuda] Do not register global constants (#118582)

Global constants have no symbols in library files. They are replaced
with literal constants during lowering before kernels are moved into a
GPU module. Do not register them because they will result in unresolved
symbols.


  Commit: ff5953804ea5b430710b07f1dae395bfcf6d35d0
      https://github.com/llvm/llvm-project/commit/ff5953804ea5b430710b07f1dae395bfcf6d35d0
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M lldb/tools/lldb-dap/package.json
    M lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
    M lldb/tools/lldb-dap/src-ts/extension.ts
    R lldb/tools/lldb-dap/src-ts/types.ts

  Log Message:
  -----------
  [lldb-dap] Support finding the lldb-dap binary (#118547)

Support finding the lldb-dap binary with `xcrun` on Darwin or in PATH on
all other platforms.

Unfortunately, this PR is larger than I would like because it removes
the `lldbDapOptions`. I believe these options are not necessary, and as
previously implemented, they caused a spurious warning with this change.
The problem was that the options were created before the custom factory.
By moving the creation logic into the factory, we make sure it's only
called after the factory has been registered. The upside is that this
simplifies the code and removes a level of indirection.


  Commit: b8d857efac57dc508873e8edbad44595f1980cd0
      https://github.com/llvm/llvm-project/commit/b8d857efac57dc508873e8edbad44595f1980cd0
  Author: bernhardu <bernhardu at mailbox.org>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

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

  Log Message:
  -----------
  [win/asan] Populate test for function GetInstructionSize. (#118204)

This puts the content of GetInstructionSize into a test.
There are 5 cases missing, which I have already or would like to propose
a fix later.


  Commit: e51a0b2e26b7c8c790ee4bf1176ba571bbe0d440
      https://github.com/llvm/llvm-project/commit/e51a0b2e26b7c8c790ee4bf1176ba571bbe0d440
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/arm64-indexed-vector-ldst-2.ll

  Log Message:
  -----------
  [llvm][AArch64] Fix a crash in performPostLD1Combine (#118538)

rdar://138004275


  Commit: 842d56315108a10a0b5f866d7a44dc676f5d2586
      https://github.com/llvm/llvm-project/commit/842d56315108a10a0b5f866d7a44dc676f5d2586
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M .github/workflows/libcxx-restart-preempted-jobs.yaml

  Log Message:
  -----------
  [libc++][CI] Also restart failed jobs when they fail for a spurious reason

Since we moved to a Docker-in-Docker setup, CI jobs sometimes fail due
to the Docker VM dying with 'context cancelled' errors. This is currently
not recognized as a spurious failure, which leads to the job not being
automatically restarted. This patch fixes that.

This commit only adds a test job with the new logic since this workflow
triggers on workflow_run, which means that the changes need to be on
`main` before they can be tested. Once this is tested to work properly,
I'll make it the default definition for the workflow.


  Commit: fe4bba65785072047f4dadba9b77f3cdf37e4ace
      https://github.com/llvm/llvm-project/commit/fe4bba65785072047f4dadba9b77f3cdf37e4ace
  Author: Oliver Hunt <github at nerget.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/utils/TableGen/ClangAttrEmitter.cpp

  Log Message:
  -----------
  Add support for referencable labels for attribute documentation (#118428)

The existing mechanism being used is to manually add a reference in the
documentation. These references link to the beginning of the text rather
than the heading for the attribute which is what this PR allows.

---------

Co-authored-by: Sirraide <aeternalmail at gmail.com>


  Commit: d057b53a7db43f33f4a9fd832115e613ebe0a67b
      https://github.com/llvm/llvm-project/commit/d057b53a7db43f33f4a9fd832115e613ebe0a67b
  Author: Dmitry Sidorov <dmitry.sidorov at intel.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/docs/SPIRVUsage.rst
    M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.cpp
    M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.h
    M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
    M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_joint_matrix/cooperative_matrix_bf16.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_joint_matrix/cooperative_matrix_checked.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_joint_matrix/cooperative_matrix_get_coord.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_joint_matrix/cooperative_matrix_packed.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_joint_matrix/cooperative_matrix_prefetch.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_joint_matrix/cooperative_matrix_tf32.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_cooperative_matrix/cooperative_matrix.ll

  Log Message:
  -----------
  [SPIR-V] Add SPV_INTEL_joint_matrix extension (#118578)

The spec is available here:
https://github.com/intel/llvm/pull/12497

The PR doesn't add OpCooperativeMatrixApplyFunctionINTEL instruction as
it's still experimental and not properly tested E2E.

The PR also fixes few bugs in the related code:
1. CooperativeMatrixMulAddKHR optional operand must be literal, not a
constant;
2. Fixed available capabilities table creation for a case, when a single
extension adds few capabilities, that occupy not contiguous op codes.

---------

Signed-off-by: Sidorov, Dmitry <dmitry.sidorov at intel.com>


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

  Changed paths:
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    A flang/test/Fir/CUDA/cuda-target-rewrite.mlir

  Log Message:
  -----------
  [flang][cuda] Run target rewrite in gpu.module (#118592)

Apply signature conversion for `func.func` in the gpu.module. More work
will need to be done for gpu.func op and implement the NVVM ABI for
conversion in the gpu module.


  Commit: 7748492c3749b7ba0b1d1a0203d2641413ec5d9b
      https://github.com/llvm/llvm-project/commit/7748492c3749b7ba0b1d1a0203d2641413ec5d9b
  Author: Brian Cain <bcain at quicinc.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonDepInstrInfo.td
    M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonPatterns.td
    M llvm/test/CodeGen/Hexagon/trap-crash.ll

  Log Message:
  -----------
  [hexagon] Add support for llvm.debugtrap (#117049)

Also: set `hasSideEffects` on `Y2_break` instruction.


  Commit: 8c36a823c2cc39740f7711da2d08ef85b0ace314
      https://github.com/llvm/llvm-project/commit/8c36a823c2cc39740f7711da2d08ef85b0ace314
  Author: hidekisaito <hidekido at amd.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M offload/plugins-nextgen/amdgpu/src/rtl.cpp

  Log Message:
  -----------
  Fix to account for multiple ISA enumeration (#118676)


  Commit: 77908345d06e05816c5e46b2c092022f9f6c90cf
      https://github.com/llvm/llvm-project/commit/77908345d06e05816c5e46b2c092022f9f6c90cf
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/fsxor-alignment.ll

  Log Message:
  -----------
  [X86] fsxor-alignment.ll - add nounwind to prevent cfi noise in an upcoming change


  Commit: 2567feaa13416d1d8c90c1dca6a176a57622c1d6
      https://github.com/llvm/llvm-project/commit/2567feaa13416d1d8c90c1dca6a176a57622c1d6
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

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

  Log Message:
  -----------
  [X86] Add fabs/fneg rmw style test coverage for #117557

Missed opportunity to avoid use of fpu for store(fabs(load()) style patterns


  Commit: 2757dc33ee4eea977d2194fa0ca79f7627b39030
      https://github.com/llvm/llvm-project/commit/2757dc33ee4eea977d2194fa0ca79f7627b39030
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    R flang/test/Fir/CUDA/cuda-target-rewrite.mlir

  Log Message:
  -----------
  Revert "[flang][cuda] Run target rewrite in gpu.module" (#118679)

Reverts llvm/llvm-project#118592


  Commit: 3dcc52d4646494664f2cec0b2475811947d449b0
      https://github.com/llvm/llvm-project/commit/3dcc52d4646494664f2cec0b2475811947d449b0
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

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

  Log Message:
  -----------
  [flang][OpenMP] Add comments to IsContiguous, improve formatting, NFC


  Commit: ee9e7867178bee16cc0976a83a8303c99c2f5326
      https://github.com/llvm/llvm-project/commit/ee9e7867178bee16cc0976a83a8303c99c2f5326
  Author: Daniel Paoliello <danpao at microsoft.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAArch64.def
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Headers/intrin.h
    M clang/test/CodeGen/arm64-microsoft-intrinsics.c

  Log Message:
  -----------
  [aarch64] Add support for the __{inc|add}x18{byte|word|dword|qword intrinsics (#117752)

Adds support for the following MSVC intrinsics:
* `__addx18byte`
* `__addx18word`
* `__addx18dword`
* `__addx18qword`
* `__incx18byte`
* `__incx18word`
* `__incx18dword`
* `__incx18qword`

These are documented at:
<https://learn.microsoft.com/en-us/cpp/intrinsics/arm64-intrinsics?view=msvc-170>


  Commit: 7347e5e89a671d675ba144e181e3d24bd072f527
      https://github.com/llvm/llvm-project/commit/7347e5e89a671d675ba144e181e3d24bd072f527
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/Analysis/reference.cpp
    M clang/test/Sema/warn-stringcompare.c
    M clang/test/SemaCXX/deprecated.cpp
    A clang/test/SemaCXX/warn-array-comparion.cpp
    M clang/test/SemaCXX/warn-self-comparisons.cpp

  Log Message:
  -----------
  [Clang] Add '-Warray-compare' flag for C++ below version 20 (#118031)

Currently, we support `-wdeprecated-array-compare` for C++20 or above
and don't report any warning for older versions, this PR supports
`-Warray-compare` for older versions and for GCC compatibility.

Fixes #114770


  Commit: e3446b9a079f1d911c96ae84d899d9ccd55a9951
      https://github.com/llvm/llvm-project/commit/e3446b9a079f1d911c96ae84d899d9ccd55a9951
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/test/SemaOpenACC/loop-construct-gang-clause.cpp
    M clang/test/SemaOpenACC/loop-construct-worker-clause.cpp

  Log Message:
  -----------
  [OpenACC] Fix bug with worker/vector/gang clause inside another

The original implementation rejected some valid constructs.  The rule is
supposed to be:

Gang-on-Kernel cannot have a gang in its region

Worker cannot have a worker or gang in its region

Vector cannot have worker, gang, or vector in its region.

The previous implementation improperly implemented that vector wasnt'
allowed in the other two.  This patch fixes it and adds testing for it.


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

  Changed paths:
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    A flang/test/Fir/CUDA/cuda-target-rewrite.mlir

  Log Message:
  -----------
  Reland "[flang][cuda] Run target rewrite in gpu.module" (#118682)

#118679


  Commit: 0d1e762da7ad22e31e98cf372a692027ff0bb610
      https://github.com/llvm/llvm-project/commit/0d1e762da7ad22e31e98cf372a692027ff0bb610
  Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

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

  Log Message:
  -----------
  [InstSimplify] Refine `abs(min/undef, true)` to `poison` (#118669)

Calls to `@llvm.abs(undef, i1 true)` and `@llvm.abs(INT_MIN, i1 true)`
can be optimized to `poison` instead of `undef`.

[Alive2](https://alive2.llvm.org/ce/z/Hg-2ug)


  Commit: 4cf2cf18c97d17c8e5662955c7048d072c711415
      https://github.com/llvm/llvm-project/commit/4cf2cf18c97d17c8e5662955c7048d072c711415
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/double-convert.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/float-convert.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir

  Log Message:
  -----------
  [RISCV][GISel] Stop over promoting G_SITOFP/UITOFP libcalls on RV64. (#118597)

When we have legal instructions we want to promote to sXLen and let isel
pattern matching removing the and/sext_inreg.

When using a libcall we want to use a 'si' libcall for small types
instead of 'di'. To match the RV64 ABI, we need to sign extend `unsigned
int` arguments. We reuse the shouldSignExtendTypeInLibCall hook from
SelectionDAG.


  Commit: 4b11ff72ab85c32e86e63b4d5e2c563eb85c2ccd
      https://github.com/llvm/llvm-project/commit/4b11ff72ab85c32e86e63b4d5e2c563eb85c2ccd
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M flang/test/Fir/CUDA/cuda-target-rewrite.mlir

  Log Message:
  -----------
  [flang][cuda] Fix test cuda-target-rewrite.mlir

Fix after buildbots issue


  Commit: 095c3c9d6ec349815563d47f951d4590b3d18333
      https://github.com/llvm/llvm-project/commit/095c3c9d6ec349815563d47f951d4590b3d18333
  Author: cmtice <cmtice at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    A lldb/test/API/commands/target/anon-struct/Makefile
    A lldb/test/API/commands/target/anon-struct/TestTargetVarAnonStruct.py
    A lldb/test/API/commands/target/anon-struct/main.cpp

  Log Message:
  -----------
  [LLDB] Fix crash in TypeSystemClang::GetIndexofChildMemberWithName. (#117808)

LLDB can crash in TypeSystemClang::GetIndexOfChildMemberWithName, at a
point where it pushes an index onto the child_indexes vector, tries to
call itself recursively, then tries to pop the entry from child_indexes.
The problem is that the recursive call can clear child_indexes, so that
this code ends up trying to pop an already empty vector. This change
saves the old vector before the push, then restores the saved vector
rather than trying to pop.


  Commit: c282d790243cf56e3ac8487b1b47430673957112
      https://github.com/llvm/llvm-project/commit/c282d790243cf56e3ac8487b1b47430673957112
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

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

  Log Message:
  -----------
  [flang][OpenMP] Use range-for to iterate over SymbolSourceMap, NFC

Avoid iterators, use structured bindings to unpack the [key, value]
pairs.


  Commit: 9302043bef24519b95ffce86569ca7c7c97300e9
      https://github.com/llvm/llvm-project/commit/9302043bef24519b95ffce86569ca7c7c97300e9
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M lldb/tools/lldb-dap/README.md

  Log Message:
  -----------
  [lldb-dap] Fix links to LLVM issue tracker and pull requests (#118681)

Currently, the link to the issue tracker takes you to the Github source
repository, rather than the Github issue tracker. This fixes the link
and includes the lldb-dap label in both the issue and PR URL.


  Commit: 9c5217c4edf945838ecf70ebc6004cc40c097232
      https://github.com/llvm/llvm-project/commit/9c5217c4edf945838ecf70ebc6004cc40c097232
  Author: ChiaHungDuan <chiahungduan at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/list.h
    M compiler-rt/lib/scudo/standalone/secondary.h

  Log Message:
  -----------
  [scudo] Use internal list to manage the LRU cache (#117946)


  Commit: c3d15188cfe243900895a4f2c4f36b84e14928b7
      https://github.com/llvm/llvm-project/commit/c3d15188cfe243900895a4f2c4f36b84e14928b7
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/lib/ProfileData/MemProfReader.cpp

  Log Message:
  -----------
  [memprof] Move YAML traits to MemProf.h (NFC) (#118668)

This patch moves the MemProf YAML traits to MemProf.h so that the YAML
writer can access them from outside MemProfReader.cpp in the future.


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

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

  Log Message:
  -----------
  [RISCV] Improve lowering of spread(2) shuffles (#118658)

A spread(2) shuffle is just a interleave with an undef lane. The
existing lowering was reusing the even lane for the undef value. This
was entirely legal, but non-optimal.


  Commit: 048fc2bc102cff806613592829ff275c0f2b826f
      https://github.com/llvm/llvm-project/commit/048fc2bc102cff806613592829ff275c0f2b826f
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCRegisterInfo.h
    M llvm/lib/CodeGen/LiveIntervals.cpp
    M llvm/lib/MC/MCRegisterInfo.cpp
    M llvm/test/CodeGen/AArch64/arm64-addrmode.ll
    M llvm/test/CodeGen/AArch64/nested-iv-regalloc.mir
    M llvm/test/CodeGen/AArch64/preserve_nonecc_varargs_darwin.ll

  Log Message:
  -----------
  [LiveIntervals] Ignore artificial regs when adding kill flags (#116963)

If parts of a physical register for a given liverange, as assigned by
the register allocator, can be used to store other values not
represented by this liverange, then `LiveIntervals::addKillFlags`
normally avoids adding a kill flag on the use of this register
when the value's liverange ends.

However, if all the other regunits are artificial, then we can
still safely add the kill flag, since those parts of the register
can never be accessed independently.


  Commit: d57892a2a153ab71a796f07e39d939eae6910c21
      https://github.com/llvm/llvm-project/commit/d57892a2a153ab71a796f07e39d939eae6910c21
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/dag-combine-concat-vectors.ll
    R llvm/test/CodeGen/AArch64/extract-vector-cmp.ll
    M llvm/test/CodeGen/X86/vselect.ll

  Log Message:
  -----------
  Revert "[DAGCombiner] Add support for scalarising extracts of a vector setcc" (#118693)

Reverts llvm/llvm-project#117566

Breaks libc++ tests with HWASAN
https://lab.llvm.org/buildbot/#/builders/55/builds/3959


  Commit: 5e769fb2342f2ff5986f62cc50550b8b4ab1985f
      https://github.com/llvm/llvm-project/commit/5e769fb2342f2ff5986f62cc50550b8b4ab1985f
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    A libc/config/windows/headers.txt

  Log Message:
  -----------
  [libc] add headers.txt for windows (#118675)

Link:
https://github.com/llvm/llvm-project/pull/117220#issuecomment-2518126598

---------

Co-authored-by: Michael Jones <michaelrj at google.com>


  Commit: e84c918cb42f9f0d1f7fda44bfacdaae13723e64
      https://github.com/llvm/llvm-project/commit/e84c918cb42f9f0d1f7fda44bfacdaae13723e64
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M mlir/include/mlir/IR/BuiltinTypes.h
    M mlir/include/mlir/IR/CommonTypeConstraints.td
    M mlir/include/mlir/IR/VectorTypes.h
    M mlir/lib/Dialect/Arith/IR/ArithOps.cpp

  Log Message:
  -----------
  [mlir] Use new VectorType wrappers CommonTypeConstraints.td (#118645)

As a follow-on for #87986, moves the VectorType convenience wrappers
(`FixedVectorType` and `ScalableVectorType`) to BuiltinTypes.h. This
allows us to use the new wrappers in "CommonTypeConstraints.td".


  Commit: e0f52538c9739d945e316eac0ddd92d26e4e380a
      https://github.com/llvm/llvm-project/commit/e0f52538c9739d945e316eac0ddd92d26e4e380a
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950.cl
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.bitop3.ll

  Log Message:
  -----------
  AMDGPU: Change bitop3 intrinsic operand to i32 (#118647)


  Commit: 431581b22a5269c2cd05c0a8e2155072d52f85a7
      https://github.com/llvm/llvm-project/commit/431581b22a5269c2cd05c0a8e2155072d52f85a7
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td

  Log Message:
  -----------
  AMDGPU: Simplify definition of bitop3 operand. NFC. (#118648)

Co-authored-by: Jay Foad <jay.foad at amd.com>


  Commit: 7954a0514ba7de40dba6c598af830fd1b7a8bf0c
      https://github.com/llvm/llvm-project/commit/7954a0514ba7de40dba6c598af830fd1b7a8bf0c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/CodeGen/attr-counted-by.c
    M clang/test/CodeGen/tbaa-pointers.c
    M clang/test/CodeGen/tbaa-reference.cpp
    M clang/test/CodeGenCXX/template-instantiation.cpp
    M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
    M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
    M clang/test/OpenMP/taskloop_strictmodifier_codegen.cpp
    M clang/unittests/CodeGen/TBAAMetadataTest.cpp

  Log Message:
  -----------
  [Clang] Enable -fpointer-tbaa by default. (#117244)

Support for more precise TBAA metadata has been added a while ago
(behind the -fpointer-tbaa flag). The more precise TBAA metadata allows
treating accesses of different pointer types as no-alias.

This helps to remove more redundant loads and stores in a number of
workloads.

Some highlights on the impact across llvm-test-suite's MultiSource,
SPEC2006 & SPEC2017 include:
 * +2% more NoAlias results for memory accesses
 * +3% more stores removed by DSE,
 * +4% more loops vectorized.

This closes a relatively big gap to GCC, which has been supporting
disambiguating based on pointer types for a long time.
(https://clang.godbolt.org/z/K7Wbhrz4q)

Pointer-TBAA support for pointers to builtin types has been added in
https://github.com/llvm/llvm-project/pull/76612.

Support for user-defined types has been added in
https://github.com/llvm/llvm-project/pull/110569.

There are 2 recent PRs with bug fixes for special cases uncovered during
testing:
 * https://github.com/llvm/llvm-project/pull/116991
 * https://github.com/llvm/llvm-project/pull/116596

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


  Commit: ce0f11325e0c62c5b81391589e9b93b412a85bc1
      https://github.com/llvm/llvm-project/commit/ce0f11325e0c62c5b81391589e9b93b412a85bc1
  Author: Augie Fackler <augie at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang-tools-extra/clangd/ClangdLSPServer.cpp
    M clang-tools-extra/clangd/ClangdLSPServer.h
    M clang-tools-extra/clangd/ClangdServer.cpp
    M clang-tools-extra/clangd/ClangdServer.h
    M clang-tools-extra/clangd/XRefs.cpp
    M clang-tools-extra/clangd/XRefs.h
    M clang-tools-extra/clangd/index/Background.cpp
    M clang-tools-extra/clangd/index/Background.h
    M clang-tools-extra/clangd/index/FileIndex.cpp
    M clang-tools-extra/clangd/index/FileIndex.h
    M clang-tools-extra/clangd/index/Index.cpp
    M clang-tools-extra/clangd/index/Index.h
    M clang-tools-extra/clangd/index/MemIndex.cpp
    M clang-tools-extra/clangd/index/MemIndex.h
    M clang-tools-extra/clangd/index/Merge.cpp
    M clang-tools-extra/clangd/index/Merge.h
    M clang-tools-extra/clangd/index/ProjectAware.cpp
    M clang-tools-extra/clangd/index/Ref.h
    M clang-tools-extra/clangd/index/Serialization.cpp
    M clang-tools-extra/clangd/index/Serialization.h
    M clang-tools-extra/clangd/index/SymbolCollector.cpp
    M clang-tools-extra/clangd/index/SymbolCollector.h
    M clang-tools-extra/clangd/index/dex/Dex.cpp
    M clang-tools-extra/clangd/index/dex/Dex.h
    M clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp
    M clang-tools-extra/clangd/index/remote/Client.cpp
    M clang-tools-extra/clangd/index/remote/Index.proto
    M clang-tools-extra/clangd/index/remote/Service.proto
    M clang-tools-extra/clangd/index/remote/marshalling/Marshalling.cpp
    M clang-tools-extra/clangd/index/remote/marshalling/Marshalling.h
    M clang-tools-extra/clangd/index/remote/server/Server.cpp
    M clang-tools-extra/clangd/test/index-serialization/Inputs/sample.idx
    M clang-tools-extra/clangd/test/type-hierarchy-ext.test
    M clang-tools-extra/clangd/test/type-hierarchy.test
    M clang-tools-extra/clangd/tool/Check.cpp
    M clang-tools-extra/clangd/tool/ClangdMain.cpp
    M clang-tools-extra/clangd/unittests/BackgroundIndexTests.cpp
    M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
    M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
    M clang-tools-extra/clangd/unittests/DexTests.cpp
    M clang-tools-extra/clangd/unittests/FileIndexTests.cpp
    M clang-tools-extra/clangd/unittests/IndexTests.cpp
    M clang-tools-extra/clangd/unittests/RenameTests.cpp
    M clang-tools-extra/clangd/unittests/TestTU.cpp
    M clang-tools-extra/clangd/unittests/TestWorkspace.cpp

  Log Message:
  -----------
  Revert "[clangd] Re-land "support outgoing calls in call hierarchy" (#117673)"

This reverts commit 7be3326200ef382705d8e6b2d7dc5378af96b34a.

Per https://protobuf.dev/programming-guides/dos-donts/#add-required
this will re-land tomorrow without the required fields.


  Commit: 2e425bf629f80c8f8582c266d25a384e7549198d
      https://github.com/llvm/llvm-project/commit/2e425bf629f80c8f8582c266d25a384e7549198d
  Author: Zequan Wu <zequanwu at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 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 llvm/include/llvm/DebugInfo/DWARF/DWARFDie.h
    M llvm/include/llvm/DebugInfo/DWARF/DWARFTypePrinter.h
    M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp

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

9de73b20404f0b2db1cbf70d164cfe0789d5bb94 lands a fix to DWARFTypePrinter that is used by lldb in this change.


  Commit: ac5dd455caaf286625f61b604291f2eaed9702f0
      https://github.com/llvm/llvm-project/commit/ac5dd455caaf286625f61b604291f2eaed9702f0
  Author: George Stagg <georgestagg at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/MC/WasmObjectWriter.cpp
    A llvm/test/MC/WebAssembly/init-array.s

  Log Message:
  -----------
  [WebAssembly] Support multiple `.init_array` fragments when writing Wasm objects (#111008)


  Commit: 6003be7ef14bd95647e1ea6ec9685c1310f8ce58
      https://github.com/llvm/llvm-project/commit/6003be7ef14bd95647e1ea6ec9685c1310f8ce58
  Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M flang/include/flang/Evaluate/target.h
    M flang/include/flang/Lower/PFTBuilder.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/Exceptions.h
    M flang/include/flang/Runtime/exceptions.h
    M flang/include/flang/Tools/TargetSetup.h
    M flang/lib/Evaluate/fold-logical.cpp
    M flang/lib/Evaluate/target.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/PFTBuilder.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Exceptions.cpp
    M flang/runtime/exceptions.cpp
    M flang/test/Evaluate/fold-ieee.f90
    M flang/test/Evaluate/folding18.f90
    A flang/test/Lower/Intrinsics/ieee_underflow.f90

  Log Message:
  -----------
  [flang] IEEE_GET_UNDERFLOW_MODE, IEEE_SET_UNDERFLOW_MODE (#118551)

Implement IEEE_GET_UNDERFLOW_MODE and IEEE_SET_UNDERFLOW_MODE. Update
IEEE_SUPPORT_UNDERFLOW_CONTROL to enable support for indvidual REAL
kinds.


  Commit: e6bd00c0f7017cf9652fec573d6554a3a95d4e28
      https://github.com/llvm/llvm-project/commit/e6bd00c0f7017cf9652fec573d6554a3a95d4e28
  Author: Marina Taylor <marina_taylor at apple.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

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

  Log Message:
  -----------
  [Inliner] Add a helper around `SimplifiedValues.lookup`. NFCI (#118646)


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

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/CUFOpConversion.h
    M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
    M flang/test/Fir/CUDA/cuda-data-transfer.fir
    A flang/test/Fir/CUDA/cuda-global-addr.mlir

  Log Message:
  -----------
  [flang][cuda] Get device address in fir.declare (#118591)

Add pattern that update fir.declare memref when it comes from a device
global and is not a descriptor. In that case, we recover the device
address that needs to be used in ops like `fir.array_coor` and so on.


  Commit: a7da702377ef857a6b2dccf5f07f77b489be1dd1
      https://github.com/llvm/llvm-project/commit/a7da702377ef857a6b2dccf5f07f77b489be1dd1
  Author: lntue <lntue at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M libc/src/__support/macros/optimization.h
    M libc/src/math/generic/atan2f.cpp
    M libc/src/math/generic/inv_trigf_utils.h

  Log Message:
  -----------
  [libc][math] Add small code size options for atan2f. (#118532)


  Commit: 35c7df1a219e99bc0e2aa2034e77f4e9c90566d3
      https://github.com/llvm/llvm-project/commit/35c7df1a219e99bc0e2aa2034e77f4e9c90566d3
  Author: Daniel Paoliello <danpao at microsoft.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAArch64.def
    M clang/include/clang/Basic/BuiltinsARM.def
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Headers/intrin0.h
    M clang/test/CodeGen/ms-intrinsics.c

  Log Message:
  -----------
  [aarch64][arm] Add support for the _Interlocked[Compare]ExchangePointer_{acq|nf|rel} MS intrinsics (#117645)

Adds support for the following MSVC intrinsics:
* `_InterlockedCompareExchangePointer_acq`
* `_InterlockedCompareExchangePointer_rel`
* `_InterlockedExchangePointer_acq`
* `_InterlockedExchangePointer_nf`
* `_InterlockedExchangePointer_rel`

These are documented at:
<https://learn.microsoft.com/en-us/cpp/intrinsics/arm64-intrinsics?view=msvc-170#interlocked-intrinsics>

NOTE: `_InterlockedCompareExchangePointer_nf` is not being added since
it already exists, although it was incorrectly added for all
architectures instead of being Arm & AArch64 specific.

This change also unifies how the pointer and non-pointer interlocked
compare-exchange intrinsics are being handled.


  Commit: 261d4bbb3bb847b90b9734daefe13618dea91613
      https://github.com/llvm/llvm-project/commit/261d4bbb3bb847b90b9734daefe13618dea91613
  Author: Luke Quinn <quic_lquinn at quicinc.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoZfa.td
    M llvm/test/CodeGen/RISCV/double-zfa.ll
    M llvm/test/CodeGen/RISCV/float-zfa.ll
    M llvm/test/CodeGen/RISCV/half-zfa.ll

  Log Message:
  -----------
  [RISCV] f32 roundeven pattern missed for Zfa (#118672)

f32 roundeven pattern was missing from RISCVInstrInfoZfa.td. Tests for
roundeven.f32/f16/f64 were missing.


  Commit: 004e75ef17c76598f7307adbe9a39d5ae6d5375a
      https://github.com/llvm/llvm-project/commit/004e75ef17c76598f7307adbe9a39d5ae6d5375a
  Author: AdityaK <hiraditya at msn.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Linux.cpp
    M clang/test/Driver/linux-ld.c

  Log Message:
  -----------
  Pack relocations for Android API >= 28 (#117624)

Patch copied from:
https://github.com/android/ndk/issues/909#issuecomment-649872696
Fixes: https://github.com/android/ndk/issues/909


  Commit: 8cffab821c4b96c73fc4ad5e8ca2417ced953c5a
      https://github.com/llvm/llvm-project/commit/8cffab821c4b96c73fc4ad5e8ca2417ced953c5a
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

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

  Log Message:
  -----------
  [Fuchsia] Remove libc from LLVM_ENABLE_PROJECTS (#118704)

This was only needed for old hdrgen which is no longer being used.


  Commit: b86a5993bc7be59b49879a0e768f53b7330f71b2
      https://github.com/llvm/llvm-project/commit/b86a5993bc7be59b49879a0e768f53b7330f71b2
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/cmake/modules/CrossCompile.cmake

  Log Message:
  -----------
  [libc] remove references to LIBC_HDRGEN_EXE (#118670)

Further cleanups from old hdrgen removal. I didn't realize there were
cmake
variables related to old hdrgen spread out throughout more of the source
tree.

Link: #117220
Link: #117208


  Commit: e6aec2c12095cc7debd1a8004c8535eef41f4c36
      https://github.com/llvm/llvm-project/commit/e6aec2c12095cc7debd1a8004c8535eef41f4c36
  Author: Jun Wang <jwang86 at yahoo.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/test/CodeGenCUDA/amdgpu-kernel-arg-pointer-type.cu
    M llvm/lib/Target/AMDGPU/AMDGPUAttributes.def
    M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
    M llvm/test/CodeGen/AMDGPU/addrspacecast-constantexpr.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-no-agpr.ll
    M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa-call.ll
    M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa.ll
    M llvm/test/CodeGen/AMDGPU/annotate-kernel-features.ll
    A llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-globalisel.ll
    A llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit.ll
    M llvm/test/CodeGen/AMDGPU/direct-indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/duplicate-attribute-indirect.ll
    M llvm/test/CodeGen/AMDGPU/flat-address-space.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch-reg.ll
    M llvm/test/CodeGen/AMDGPU/implicit-kernarg-backend-usage.ll
    M llvm/test/CodeGen/AMDGPU/implicitarg-offset-attributes.ll
    M llvm/test/CodeGen/AMDGPU/indirect-call-set-from-other-function.ll
    M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-hybrid.ll
    M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
    M llvm/test/CodeGen/AMDGPU/propagate-flat-work-group-size.ll
    M llvm/test/CodeGen/AMDGPU/propagate-waves-per-eu.ll
    M llvm/test/CodeGen/AMDGPU/recursive_global_initializer.ll
    M llvm/test/CodeGen/AMDGPU/remove-no-kernel-id-attribute.ll
    M llvm/test/CodeGen/AMDGPU/simple-indirect-call-2.ll
    M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-attribute-missing.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-multistep.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-nested-function-calls.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-prevent-attribute-propagation.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-propagate-attribute.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-recursion-test.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-test.ll

  Log Message:
  -----------
  [AMDGPU] Infer amdgpu-no-flat-scratch-init attribute in AMDGPUAttributor (#94647)

The AMDGPUAnnotateKernelFeatures pass infers the "amdgpu-calls" and
"amdgpu-stack-objects" attributes, which are used to infer whether we
need to initialize flat scratch. This is, however, not precise. Instead,
we should use AMDGPUAttributor and infer amdgpu-no-flat-scratch-init on
kernels. Refer to https://github.com/llvm/llvm-project/issues/63586 .


  Commit: 1b4cdc401a19e7c9f7679c94540a41340eb4e548
      https://github.com/llvm/llvm-project/commit/1b4cdc401a19e7c9f7679c94540a41340eb4e548
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC]update vop3 dasm test with latest script (#118686)

This is a NFC. Update dasm test for VOP3 using latest update script


  Commit: a2fc276ed2556c5da59f8b039bbb6d97f3003134
      https://github.com/llvm/llvm-project/commit/a2fc276ed2556c5da59f8b039bbb6d97f3003134
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M libc/utils/gpu/loader/amdgpu/amdhsa-loader.cpp

  Log Message:
  -----------
  [libc] Remove complicated header guards on HSA include

Summary:
This is much more standard now, we already require new HSA with what we
use, so no point checking for this.


  Commit: 2fea1ccb6221238674562533684c51b63de248d4
      https://github.com/llvm/llvm-project/commit/2fea1ccb6221238674562533684c51b63de248d4
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp

  Log Message:
  -----------
  [RISCV][GISel] Correct the widening predicate for G_SITOFP/G_UITOFP.

This happened to coincidentally work due to D and Zfh both depending
on the F extension.

It breaks when I tried to add fp128 libcall support.


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

  Changed paths:
    M llvm/include/llvm/ADT/APFloat.h
    M llvm/lib/Support/APFloat.cpp

  Log Message:
  -----------
  [llvm][NFC] `APFloat`: Add missing semantics to enum (#117291)

* Add missing semantics to the `Semantics` enum.
* Move all documentation of the semantics to the header file.
* Also rename some functions for consistency.


  Commit: fc201d6133bef41b306cc39da0e4aed2112656b0
      https://github.com/llvm/llvm-project/commit/fc201d6133bef41b306cc39da0e4aed2112656b0
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

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

  Log Message:
  -----------
  Revert "[InstCombine] Support gep nuw in icmp folds" (#118698)

Reverts llvm/llvm-project#118472

Breaks profile tests on i386
https://lab.llvm.org/buildbot/#/builders/66/builds/7009


  Commit: 758107f70a78d8d9c97438264c06ae7aa9e7cc5f
      https://github.com/llvm/llvm-project/commit/758107f70a78d8d9c97438264c06ae7aa9e7cc5f
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

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

  Log Message:
  -----------
  [RISCV] Improve spread(N) shuffle testing

Rework them now that spread(2) is special cased to ensure we still have
non-zero shift coverage.


  Commit: 09f4c26262a35c1e428cf8b01b6239c6f605a4c1
      https://github.com/llvm/llvm-project/commit/09f4c26262a35c1e428cf8b01b6239c6f605a4c1
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Fuchsia.cpp
    M clang/test/Driver/fuchsia.c

  Log Message:
  -----------
  [Driver][Fuchsia] Avoid "argument unused" warnings (#118416)

There should not be an error or warning reported for using
redundant options to control what goes into the link.  For
example, -nolibc -nostdlib.


  Commit: 1ef9410a96c1d9669a6feaf03fcab8d0a4a13bd5
      https://github.com/llvm/llvm-project/commit/1ef9410a96c1d9669a6feaf03fcab8d0a4a13bd5
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/test/CodeGenCUDA/amdgpu-kernel-arg-pointer-type.cu
    M llvm/lib/Target/AMDGPU/AMDGPUAttributes.def
    M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
    M llvm/test/CodeGen/AMDGPU/addrspacecast-constantexpr.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-no-agpr.ll
    M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa-call.ll
    M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa.ll
    M llvm/test/CodeGen/AMDGPU/annotate-kernel-features.ll
    R llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-globalisel.ll
    R llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit.ll
    M llvm/test/CodeGen/AMDGPU/direct-indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/duplicate-attribute-indirect.ll
    M llvm/test/CodeGen/AMDGPU/flat-address-space.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch-reg.ll
    M llvm/test/CodeGen/AMDGPU/implicit-kernarg-backend-usage.ll
    M llvm/test/CodeGen/AMDGPU/implicitarg-offset-attributes.ll
    M llvm/test/CodeGen/AMDGPU/indirect-call-set-from-other-function.ll
    M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-hybrid.ll
    M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
    M llvm/test/CodeGen/AMDGPU/propagate-flat-work-group-size.ll
    M llvm/test/CodeGen/AMDGPU/propagate-waves-per-eu.ll
    M llvm/test/CodeGen/AMDGPU/recursive_global_initializer.ll
    M llvm/test/CodeGen/AMDGPU/remove-no-kernel-id-attribute.ll
    M llvm/test/CodeGen/AMDGPU/simple-indirect-call-2.ll
    M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-attribute-missing.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-multistep.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-nested-function-calls.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-prevent-attribute-propagation.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-propagate-attribute.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-recursion-test.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-test.ll

  Log Message:
  -----------
  Revert "[AMDGPU] Infer amdgpu-no-flat-scratch-init attribute in AMDGPUAttributor (#94647)"

This reverts commit e6aec2c12095cc7debd1a8004c8535eef41f4c36.  Commit breaks "ninja check-llvm" on x86 host.


  Commit: 659834df0e86ac6e605a50118c12e99cfb61eb19
      https://github.com/llvm/llvm-project/commit/659834df0e86ac6e605a50118c12e99cfb61eb19
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M libc/docs/fenv.rst
    M libc/docs/setjmp.rst
    M libc/docs/signal.rst
    M libc/docs/stdbit.rst
    M libc/docs/threads.rst
    M libc/utils/docgen/docgen.py
    M libc/utils/docgen/setjmp.json

  Log Message:
  -----------
  docgen refresh (#118709)

- **[libc][docgen] Use Macro for macro table name**
- **fix setjmp json, otherwise can't regen**
- **regen all docs**


  Commit: 17f99accf23e1486404b6833a18d0d78a1ecd098
      https://github.com/llvm/llvm-project/commit/17f99accf23e1486404b6833a18d0d78a1ecd098
  Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M flang/test/Evaluate/fold-ieee.f90
    M flang/test/Evaluate/folding18.f90
    R flang/test/Lower/Intrinsics/ieee_underflow.f90

  Log Message:
  -----------
  [flang] build test fix/suppression (#118716)


  Commit: 32b821cab3064ae9a77a0f1d9916a286c7543735
      https://github.com/llvm/llvm-project/commit/32b821cab3064ae9a77a0f1d9916a286c7543735
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

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

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

This patch fixes:

  clang/lib/AST/MicrosoftMangle.cpp:1006:11: error: enumeration value
  'S_PPCDoubleDoubleLegacy' not handled in switch [-Werror,-Wswitch]


  Commit: df43af40ec1d139caa5cb870c7e35ff6b91cdbc3
      https://github.com/llvm/llvm-project/commit/df43af40ec1d139caa5cb870c7e35ff6b91cdbc3
  Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M flang/test/Evaluate/fold-ieee.f90

  Log Message:
  -----------
  Vkd1 (#118721)


  Commit: af4ae12780099d3df0b89bccc80fd69b240f345e
      https://github.com/llvm/llvm-project/commit/af4ae12780099d3df0b89bccc80fd69b240f345e
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

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

  Log Message:
  -----------
  [rtsan] Add fork/execve interceptors (#117198)


  Commit: 970d6d20967258528980c9b7feaaf3dd3acf9aa3
      https://github.com/llvm/llvm-project/commit/970d6d20967258528980c9b7feaaf3dd3acf9aa3
  Author: pcc <peter at pcc.me.uk>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M lld/ELF/Relocations.cpp
    M lld/ELF/Relocations.h
    M lld/ELF/Writer.cpp
    M lld/test/ELF/pack-dyn-relocs-ifunc.s

  Log Message:
  -----------
  ELF: Have __rela_iplt_{start,end} surround .rela.iplt with --pack-dyn-relocs=android.

In #86751 we moved the IRELATIVE relocations to .rela.plt when
--pack-dyn-relocs=android was enabled but we neglected to also move
the __rela_iplt_{start,end} symbols. As a result, static binaries
linked with this flag were unable to find their IRELATIVE relocations.
Fix it by having the symbols surround the correct section.

Reviewers: MaskRay, smithp35

Reviewed By: MaskRay

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


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

  Changed paths:
    M flang/include/flang/Runtime/CUDA/allocator.h
    M flang/include/flang/Runtime/CUDA/common.h
    M flang/include/flang/Runtime/allocatable.h
    M flang/include/flang/Runtime/allocator-registry.h
    M flang/include/flang/Runtime/descriptor.h
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
    M flang/runtime/CUDA/allocatable.cpp
    M flang/runtime/CUDA/allocator.cpp
    M flang/runtime/CUDA/descriptor.cpp
    M flang/runtime/allocatable.cpp
    M flang/runtime/array-constructor.cpp
    M flang/runtime/descriptor.cpp
    M flang/test/HLFIR/elemental-codegen.fir
    M flang/test/Lower/OpenACC/acc-declare.f90
    M flang/test/Lower/allocatable-polymorphic.f90
    M flang/test/Lower/allocatable-runtime.f90
    M flang/test/Lower/allocate-mold.f90
    M flang/test/Lower/polymorphic.f90
    M flang/unittests/Runtime/CUDA/Allocatable.cpp
    M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
    M flang/unittests/Runtime/CUDA/Memory.cpp

  Log Message:
  -----------
  [flang] Allow to pass an async id to allocate the descriptor (#118713)

This is a patch in preparation for the support stream ordered memory
allocator in CUDA Fortran.

This patch adds an asynchronous id to the AllocatableAllocate runtime
function and to Descriptor::Allocate so it can be passed down to the
registered allocator. It is up to the allocator to use this value or
not.

A follow up patch will implement that asynchronous allocator for CUDA
Fortran.


  Commit: 00d8ea3a4c8eba9aa0f14c352192e94cc40f8e2d
      https://github.com/llvm/llvm-project/commit/00d8ea3a4c8eba9aa0f14c352192e94cc40f8e2d
  Author: hev <wangrui at loongson.cn>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/test/CodeGen/LoongArch/fp16-promote.ll

  Log Message:
  -----------
  [LoongArch] Supports FP_TO_SINT operation for fp16 (#118303)

Fixes #118301


  Commit: 740ac4f0ffbab304e3f74ce8d1d0505479d0f800
      https://github.com/llvm/llvm-project/commit/740ac4f0ffbab304e3f74ce8d1d0505479d0f800
  Author: Igor Kudrin <ikudrin at accesssoftek.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/ObjectYAML/ELFEmitter.cpp
    M llvm/test/tools/yaml2obj/ELF/note-section.yaml

  Log Message:
  -----------
  Reland "[ObjectYAML][ELF] Take alignment into account when generating notes" (#118434)

This relands #118157 with a fix for the use of an uninitialized
variable and additional tests.

The System V ABI
(https://www.sco.com/developers/gabi/latest/ch5.pheader.html#note_section)
states that the note entries and their descriptor fields must be aligned
to 4 or 8 bytes for 32-bit or 64-bit objects respectively. In practice,
64-bit systems can use both alignments, with the actual format being
determined by the alignment of the segment. For example, the Linux
gABI extension (https://github.com/hjl-tools/linux-abi/wiki/linux-abi-draft.pdf)
contains a special note on this, see 2.1.7 "Alignment of Note Sections".

This patch adjusts the format of the generated notes to the specified
section alignment. Since `llvm-readobj` was fixed in a similar way in
https://reviews.llvm.org/D150022, "[Object] Fix handling of Elf_Nhdr
with sh_addralign=8", the generated notes can now be parsed
successfully by the tool.


  Commit: f98c9a9b3665c75a6bf01577734f16185710009d
      https://github.com/llvm/llvm-project/commit/f98c9a9b3665c75a6bf01577734f16185710009d
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    M clang/lib/Analysis/ExprMutationAnalyzer.cpp

  Log Message:
  -----------
  [mutation analyzer][NFC] combine `ConditionalOperator` `BinaryConditionalOperator` (#118602)


  Commit: 7b8cf147addf7d3fb4630475c40153226f5fdbd0
      https://github.com/llvm/llvm-project/commit/7b8cf147addf7d3fb4630475c40153226f5fdbd0
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

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

  Log Message:
  -----------
  [memprof] Update YAML traits for writer purposes (#118720)

For Frames, we prefer the inline notation for the brevity.

For PortableMemInfoBlock, we go through all member fields and print
out those that are populated.


  Commit: 7f72d71de7c3b7d36d9f463b1459a6d2f6c989e6
      https://github.com/llvm/llvm-project/commit/7f72d71de7c3b7d36d9f463b1459a6d2f6c989e6
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/openmp-reduction-array-sections.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-sections.mlir
    M mlir/test/Target/LLVMIR/openmp-wsloop-reduction-cleanup.mlir

  Log Message:
  -----------
  [OpenMP][OMPIRBuilder] Refactor reduction initialization logic into one util (#118447)

This refactors the logic needed to emit init logic for reductions by
moving some duplicated code into a shared util. The logic for doing is
quite involved and is needed for any construct that has reductions.
Moreover, when a construct has both private and reduction clauses, both
sets of clauses need to cooperate with each other when emitting the
logic needed for allocation and initialization. Therefore, this PR
clearly sets the boundaries for the logic needed to initialize
reductions.


  Commit: 50f8580e2cded758627b8d9478b56d5443aa6d7c
      https://github.com/llvm/llvm-project/commit/50f8580e2cded758627b8d9478b56d5443aa6d7c
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

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

  Log Message:
  -----------
  [memprof] Add IndexedMemProfData::addFrame (#118724)

This patch adds a helper function to replace an idiom like:

  FrameId Id = F.hash();
  MemProfData.Frames.try_emplace(Id, F);
  // Do something with Id.


  Commit: 0993335134dd893bcad31f7a4a24b00b7c11476a
      https://github.com/llvm/llvm-project/commit/0993335134dd893bcad31f7a4a24b00b7c11476a
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/openmp-todo.mlir
    A mlir/test/Target/LLVMIR/openmp-wsloop-private.mlir

  Log Message:
  -----------
  [OpenMP][OMPIRBuilder] Add delayed privatization support for `wsloop` (#118463)

Extend MLIR to LLVM lowering by adding support for `omp.wsloop` for
delayed privatization. This also refactors a few bit of code to isolate
the logic needed for `firstprivate` initialization in a shared util that
can be used across constructs that need it. The same is done for
`dealloc`
regions.

Parent PR: https://github.com/llvm/llvm-project/pull/118447. Only latest
commit is relevant for this PR.


  Commit: 44be794658f9cd477ffd718b0322d1970c534274
      https://github.com/llvm/llvm-project/commit/44be794658f9cd477ffd718b0322d1970c534274
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/Opcodes.td
    A clang/test/AST/ByteCode/amdgpu-nullptr.cl

  Log Message:
  -----------
  [clang][bytecode] Not all null pointers are 0 (#118601)

Get the Value from the ASTContext instead.


  Commit: a996a15b4c5287892f79c0ae029ea9319c8e44a5
      https://github.com/llvm/llvm-project/commit/a996a15b4c5287892f79c0ae029ea9319c8e44a5
  Author: Vladimir Vereschaka <vvereschaka at accesssoftek.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

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

  Log Message:
  -----------
  [CMake] Allow parametrizing of the static libraries in Cross ARM CMake cache. NFC. (#118737)

In order to support the cross-arm remote tests for LLDB project

(see 'lldb-remote-linux-*' public builders for details).


  Commit: dba0861cd7aa2717b0f36c76d77c097765f6ad57
      https://github.com/llvm/llvm-project/commit/dba0861cd7aa2717b0f36c76d77c097765f6ad57
  Author: Ben Shi <2283975856 at qq.com>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AVR/AVRInstrFormats.td
    M llvm/lib/Target/AVR/AVRInstrInfo.td
    M llvm/lib/Target/AVR/MCTargetDesc/AVRMCCodeEmitter.cpp
    M llvm/lib/Target/AVR/MCTargetDesc/AVRMCCodeEmitter.h
    M llvm/test/CodeGen/AVR/inline-asm/loadstore.ll

  Log Message:
  -----------
  [AVR] Simplify eocoding of load/store instructions (#118279)

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


  Commit: 3e0e1c13ce96dfe291ffaf9edc9876cdd5016a0d
      https://github.com/llvm/llvm-project/commit/3e0e1c13ce96dfe291ffaf9edc9876cdd5016a0d
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    A llvm/test/CodeGen/RISCV/GlobalISel/fp128.ll

  Log Message:
  -----------
  [RISCV][GISel] Support fp128 arithmetic and conversion for RV64. (#118707)

We can support these via libcalls in libgcc/compiler-rt or integer
operations for fneg/fabs/fcopysign. fp128 values will be passed in two
64-bit GPRs according to the psABI.

Supporting RV32 requires sret which is not supported by libcall handling
in LegalizerHelper.cpp yet. It doesn't call canLowerReturn.


  Commit: abc27039be63ce31afe42fc10510921b559db4fe
      https://github.com/llvm/llvm-project/commit/abc27039be63ce31afe42fc10510921b559db4fe
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.h
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [clang][bytecode] Pass __builtin_memcpy size along (#118649)

To DoBitCastPtr, so we know how many bytes we want to read.


  Commit: 0629e9e352fa8a2204e6165c61ce617f7096778e
      https://github.com/llvm/llvm-project/commit/0629e9e352fa8a2204e6165c61ce617f7096778e
  Author: Renat Idrisov <4032256+parsifal-47 at users.noreply.github.com>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    M mlir/lib/Transforms/RemoveDeadValues.cpp
    M mlir/test/Transforms/remove-dead-values.mlir

  Log Message:
  -----------
  [MLIR] Removing dead values for branches (#117501)

Fixing RemoveDeadValues to properly remove arguments from
BranchOpInterface operations.
This is a follow-up for:
https://github.com/llvm/llvm-project/pull/117405
cc: @joker-eph @codemzs

---------

Co-authored-by: Renat Idrisov <parsifal-47 at users.noreply.github.com>


  Commit: 71ac1eb50955fdcddfb77f2daa9a213839ff1a3e
      https://github.com/llvm/llvm-project/commit/71ac1eb50955fdcddfb77f2daa9a213839ff1a3e
  Author: Thorsten Schütt <schuett at gmail.com>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-cast.mir
    M llvm/test/CodeGen/AArch64/extract-vector-elt.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-amdgpu-cvt-f32-ubyte.mir
    M llvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll

  Log Message:
  -----------
  Revert "[GlobalISel] Combine [s,z]ext of undef into 0" (#118746)

Reverts llvm/llvm-project#117439


  Commit: f7560ee97b7441eb3f5b2d0744aad857fafa5855
      https://github.com/llvm/llvm-project/commit/f7560ee97b7441eb3f5b2d0744aad857fafa5855
  Author: Iuri Chaer <ichaer at splunk.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/lib/Format/CMakeLists.txt

  Log Message:
  -----------
  [clang-format] Add cmake target clang-format-style-options for updating ClangFormatStyleOptions.rst (#111513)

* Create a new `clang-format-style-options` build target which
re-generates ClangFormatStyleOptions.rst from its source header files.

As discussed in
https://github.com/llvm/llvm-project/pull/96804#discussion_r1718407404

---------

Co-authored-by: Owen Pan <owenpiano at gmail.com>


  Commit: 6bec1806c9cc90f6e72fc04698f4221c86c5f95e
      https://github.com/llvm/llvm-project/commit/6bec1806c9cc90f6e72fc04698f4221c86c5f95e
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/lib/Format/CMakeLists.txt

  Log Message:
  -----------
  [clang-format] Add plurals.txt to DEPENDS of style_options_depends


  Commit: a9a4a83b6132f076fd14ac31268deaa4bf1381d5
      https://github.com/llvm/llvm-project/commit/a9a4a83b6132f076fd14ac31268deaa4bf1381d5
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/docs/tools/dump_format_style.py
    A clang/test/Format/docs_updated.test
    M clang/test/Format/lit.local.cfg

  Log Message:
  -----------
  [clang-format] Add test to ensure formatting options docs are updated (#118154)

This patch adds a lit test to clang format to ensure that the
ClangFormatStyleOptions doc page has been updated appropriately. The
test just runs the automatic update script and diffs the outputs to
ensure they are the same.


  Commit: 636beb6a2833ee0290935f679252c1b662721b31
      https://github.com/llvm/llvm-project/commit/636beb6a2833ee0290935f679252c1b662721b31
  Author: Feng Zou <feng.zou at intel.com>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    M lld/ELF/Arch/X86_64.cpp
    M lld/test/ELF/invalid/broken-relaxation-x64.test
    M lld/test/ELF/pack-dyn-relocs-tls-x86-64.s
    M lld/test/ELF/tls-opt.s
    A lld/test/ELF/x86-64-tls-ie-err.s
    M lld/test/ELF/x86-64-tls-ie-local.s

  Log Message:
  -----------
  [X86][LLD] Handle R_X86_64_CODE_6_GOTTPOFF relocation type (#117675)

For

    add %reg1, name at GOTTPOFF(%rip), %reg2
    add name at GOTTPOFF(%rip), %reg1, %reg2
    {nf} add %reg1, name at GOTTPOFF(%rip), %reg2
    {nf} add name at GOTTPOFF(%rip), %reg1, %reg2
    {nf} add name at GOTTPOFF(%rip), %reg

add

    R_X86_64_CODE_6_GOTTPOFF = 50

in #117277.

Linker can treat R_X86_64_CODE_6_GOTTPOFF as R_X86_64_GOTTPOFF or
convert the instructions above to

    add $name at tpoff, %reg1, %reg2
    add $name at tpoff, %reg1, %reg2
    {nf} add $name at tpoff, %reg1, %reg2
    {nf} add $name at tpoff, %reg1, %reg2
    {nf} add $name at tpoff, %reg

if the first byte of the instruction at the relocation offset - 6 is
0x62 (namely, encoded w/EVEX prefix) when possible.

Binutils patch: bminor/binutils-gdb at 5bc71c2
Binutils mailthread:
https://sourceware.org/pipermail/binutils/2024-February/132351.html
ABI discussion:
https://groups.google.com/g/x86-64-abi/c/FhEZjCtDLFw/m/VHDjN4orAgAJ
Blog: https://kanrobert.github.io/rfc/All-about-APX-relocation


  Commit: fd3907ccb583df99e9c19d2fe84e4e7c52d75de9
      https://github.com/llvm/llvm-project/commit/fd3907ccb583df99e9c19d2fe84e4e7c52d75de9
  Author: Callum Fare <callum at codeplay.com>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    M offload/CMakeLists.txt
    M offload/cmake/OpenMPTesting.cmake
    A offload/liboffload/API/APIDefs.td
    A offload/liboffload/API/CMakeLists.txt
    A offload/liboffload/API/Common.td
    A offload/liboffload/API/Device.td
    A offload/liboffload/API/OffloadAPI.td
    A offload/liboffload/API/Platform.td
    A offload/liboffload/API/README.md
    A offload/liboffload/CMakeLists.txt
    A offload/liboffload/README.md
    A offload/liboffload/exports
    A offload/liboffload/include/OffloadImpl.hpp
    A offload/liboffload/include/generated/OffloadAPI.h
    A offload/liboffload/include/generated/OffloadEntryPoints.inc
    A offload/liboffload/include/generated/OffloadFuncs.inc
    A offload/liboffload/include/generated/OffloadImplFuncDecls.inc
    A offload/liboffload/include/generated/OffloadPrint.hpp
    A offload/liboffload/src/Helpers.hpp
    A offload/liboffload/src/OffloadImpl.cpp
    A offload/liboffload/src/OffloadLib.cpp
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/test/lit.cfg
    M offload/test/lit.site.cfg.in
    A offload/test/tools/offload-tblgen/default_returns.td
    A offload/test/tools/offload-tblgen/entry_points.td
    A offload/test/tools/offload-tblgen/functions_basic.td
    A offload/test/tools/offload-tblgen/functions_code_loc.td
    A offload/test/tools/offload-tblgen/functions_ranged_param.td
    A offload/test/tools/offload-tblgen/print_enum.td
    A offload/test/tools/offload-tblgen/print_function.td
    A offload/test/tools/offload-tblgen/type_tagged_enum.td
    A offload/tools/offload-tblgen/APIGen.cpp
    A offload/tools/offload-tblgen/CMakeLists.txt
    A offload/tools/offload-tblgen/EntryPointGen.cpp
    A offload/tools/offload-tblgen/FuncsGen.cpp
    A offload/tools/offload-tblgen/GenCommon.hpp
    A offload/tools/offload-tblgen/Generators.hpp
    A offload/tools/offload-tblgen/PrintGen.cpp
    A offload/tools/offload-tblgen/RecordTypes.hpp
    A offload/tools/offload-tblgen/offload-tblgen.cpp
    M offload/unittests/CMakeLists.txt
    A offload/unittests/OffloadAPI/CMakeLists.txt
    A offload/unittests/OffloadAPI/common/Environment.cpp
    A offload/unittests/OffloadAPI/common/Environment.hpp
    A offload/unittests/OffloadAPI/common/Fixtures.hpp
    A offload/unittests/OffloadAPI/device/olDeviceInfo.hpp
    A offload/unittests/OffloadAPI/device/olGetDevice.cpp
    A offload/unittests/OffloadAPI/device/olGetDeviceCount.cpp
    A offload/unittests/OffloadAPI/device/olGetDeviceInfo.cpp
    A offload/unittests/OffloadAPI/device/olGetDeviceInfoSize.cpp
    A offload/unittests/OffloadAPI/platform/olGetPlatform.cpp
    A offload/unittests/OffloadAPI/platform/olGetPlatformCount.cpp
    A offload/unittests/OffloadAPI/platform/olGetPlatformInfo.cpp
    A offload/unittests/OffloadAPI/platform/olGetPlatformInfoSize.cpp
    A offload/unittests/OffloadAPI/platform/olPlatformInfo.hpp

  Log Message:
  -----------
  Reland #118503: [Offload] Introduce offload-tblgen and initial new API implementation (#118614)

Reland #118503. Added a fix for builds with `-DBUILD_SHARED_LIBS=ON`
(see last commit). Otherwise the changes are identical.

---


### New API

Previous discussions at the LLVM/Offload meeting have brought up the
need for a new API for exposing the functionality of the plugins. This
change introduces a very small subset of a new API, which is primarily
for testing the offload tooling and demonstrating how a new API can fit
into the existing code base without being too disruptive. Exact designs
for these entry points and future additions can be worked out over time.

The new API does however introduce the bare minimum functionality to
implement device discovery for Unified Runtime and SYCL. This means that
the `urinfo` and `sycl-ls` tools can be used on top of Offload. A
(rough) implementation of a Unified Runtime adapter (aka plugin) for
Offload is available
[here](https://github.com/callumfare/unified-runtime/tree/offload_adapter).
Our intention is to maintain this and use it to implement and test
Offload API changes with SYCL.

### Demoing the new API

```sh
# From the runtime build directory
$ ninja LibomptUnitTests
$ OFFLOAD_TRACE=1 ./offload/unittests/OffloadAPI/offload.unittests 
```


### Open questions and future work
* Only some of the available device info is exposed, and not all the
possible device queries needed for SYCL are implemented by the plugins.
A sensible next step would be to refactor and extend the existing device
info queries in the plugins. The existing info queries are all strings,
but the new API introduces the ability to return any arbitrary type.
* It may be sensible at some point for the plugins to implement the new
API directly, and the higher level code on top of it could be made
generic, but this is more of a long-term possibility.


  Commit: 41cde465acfddb44d400b0a53bb57960762312a2
      https://github.com/llvm/llvm-project/commit/41cde465acfddb44d400b0a53bb57960762312a2
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/PointerAuthOptions.h
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/test/CodeGen/ptrauth-function-attributes.c
    M clang/test/Driver/aarch64-ptrauth.c

  Log Message:
  -----------
  [PAC][Driver] Add `-faarch64-jump-table-hardening` flag (#113149)

The flag is placed together with pointer authentication flags since they
serve the same security purpose of protecting against attacks on control
flow. The flag is not ABI-affecting and might be enabled separately if
needed, but it's also intended to be enabled as part of pauth-enabled
environments (e.g. pauthtest).

See also codegen implementation #97666.


  Commit: a9eb8f0e3dbaf16b6bd83eecb960b6ea8ecaa8c3
      https://github.com/llvm/llvm-project/commit/a9eb8f0e3dbaf16b6bd83eecb960b6ea8ecaa8c3
  Author: Benjamin Maxwell <macdue at dueutil.tech>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp
    M mlir/test/Dialect/ArmSME/vector-legalization.mlir

  Log Message:
  -----------
  [mlir][ArmSME] Fix crash on empty vector.mask in arm-sme-vector-legalization (#118613)

Fixes #118449


  Commit: 3a8ada67ff45aec5696d72212d516593c3d32893
      https://github.com/llvm/llvm-project/commit/3a8ada67ff45aec5696d72212d516593c3d32893
  Author: serge-sans-paille <sguelton at mozilla.com>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [clang][NFC] Fix miscellaneous typos in release notes


  Commit: 5d38a3406b11c70e6f0d1a880b78ed404aba2c36
      https://github.com/llvm/llvm-project/commit/5d38a3406b11c70e6f0d1a880b78ed404aba2c36
  Author: Christian Kandeler <christian.kandeler at qt.io>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

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

  Log Message:
  -----------
  [clangd] Consolidate two functions converting index to LSP locations (#117885)


  Commit: 61fe67a4017375fd675f75652e857e837f77fa51
      https://github.com/llvm/llvm-project/commit/61fe67a4017375fd675f75652e857e837f77fa51
  Author: Nathan Ridge <zeratul976 at hotmail.com>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    M clang-tools-extra/clangd/ClangdLSPServer.cpp
    M clang-tools-extra/clangd/ClangdLSPServer.h
    M clang-tools-extra/clangd/ClangdServer.cpp
    M clang-tools-extra/clangd/ClangdServer.h
    M clang-tools-extra/clangd/XRefs.cpp
    M clang-tools-extra/clangd/XRefs.h
    M clang-tools-extra/clangd/benchmarks/IndexBenchmark.cpp
    M clang-tools-extra/clangd/index/Background.cpp
    M clang-tools-extra/clangd/index/Background.h
    M clang-tools-extra/clangd/index/FileIndex.cpp
    M clang-tools-extra/clangd/index/FileIndex.h
    M clang-tools-extra/clangd/index/Index.cpp
    M clang-tools-extra/clangd/index/Index.h
    M clang-tools-extra/clangd/index/MemIndex.cpp
    M clang-tools-extra/clangd/index/MemIndex.h
    M clang-tools-extra/clangd/index/Merge.cpp
    M clang-tools-extra/clangd/index/Merge.h
    M clang-tools-extra/clangd/index/ProjectAware.cpp
    M clang-tools-extra/clangd/index/Ref.h
    M clang-tools-extra/clangd/index/Serialization.cpp
    M clang-tools-extra/clangd/index/Serialization.h
    M clang-tools-extra/clangd/index/SymbolCollector.cpp
    M clang-tools-extra/clangd/index/SymbolCollector.h
    M clang-tools-extra/clangd/index/dex/Dex.cpp
    M clang-tools-extra/clangd/index/dex/Dex.h
    M clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp
    M clang-tools-extra/clangd/index/remote/Client.cpp
    M clang-tools-extra/clangd/index/remote/Index.proto
    M clang-tools-extra/clangd/index/remote/Service.proto
    M clang-tools-extra/clangd/index/remote/marshalling/Marshalling.cpp
    M clang-tools-extra/clangd/index/remote/marshalling/Marshalling.h
    M clang-tools-extra/clangd/index/remote/server/Server.cpp
    M clang-tools-extra/clangd/test/index-serialization/Inputs/sample.idx
    M clang-tools-extra/clangd/test/type-hierarchy-ext.test
    M clang-tools-extra/clangd/test/type-hierarchy.test
    M clang-tools-extra/clangd/tool/Check.cpp
    M clang-tools-extra/clangd/tool/ClangdMain.cpp
    M clang-tools-extra/clangd/unittests/BackgroundIndexTests.cpp
    M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
    M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
    M clang-tools-extra/clangd/unittests/DexTests.cpp
    M clang-tools-extra/clangd/unittests/FileIndexTests.cpp
    M clang-tools-extra/clangd/unittests/IndexTests.cpp
    M clang-tools-extra/clangd/unittests/RenameTests.cpp
    M clang-tools-extra/clangd/unittests/TestTU.cpp
    M clang-tools-extra/clangd/unittests/TestWorkspace.cpp

  Log Message:
  -----------
  [clangd] support outgoing calls in call hierarchy (#117673)

This reverts commit ce0f11325e0c62c5b81391589e9b93b412a85bc1.


  Commit: c7ef0ac9fd28cb55b8c7c91a890b365cc688f9a9
      https://github.com/llvm/llvm-project/commit/c7ef0ac9fd28cb55b8c7c91a890b365cc688f9a9
  Author: Kadir Cetinkaya <kadircet at google.com>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    M clang-tools-extra/clangd/index/remote/Index.proto
    M clang-tools-extra/clangd/index/remote/marshalling/Marshalling.cpp

  Log Message:
  -----------
  [clangd] Drop required attributes from ContainedRef protos

Per https://protobuf.dev/programming-guides/dos-donts/#add-required this
is discouraged and we already handle errors when marshalling protos.
This also ensures new message types are consistent with the rest in the
file.


  Commit: a2acb2ff8b5307bb6b973820c4ededf1ddc49bb2
      https://github.com/llvm/llvm-project/commit/a2acb2ff8b5307bb6b973820c4ededf1ddc49bb2
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/test/Dialect/Linalg/vectorize-tensor-extract-masked.mlir
    M mlir/test/Dialect/Linalg/vectorize-tensor-extract.mlir

  Log Message:
  -----------
  [mlir][linalg] Fix vectorization of tensor.extract (#118105)

The example below demonstrates a "scalar read followed by a broadcast"
pattern for `tensor.extract`:

```mlir
 #map = affine_map<(d0, d1, d2) -> (d0, d1, d2)>
 func.func @scalar_broadcast(
    %init : tensor<1x1x3xi32>,
    %src: tensor<1x3x2x4xi32>,
    %idx :index) -> tensor<1x1x3xi32> {

   %c0 = arith.constant 0 :index

   %res = linalg.generic {
     indexing_maps = [#map],
     iterator_types = ["parallel", "parallel", "parallel"]}
     outs(%init : tensor<1x1x3xi32>) {
     ^bb0(%out: i32):
       %val = tensor.extract %src[%idx, %idx, %idx, %idx] : tensor<1x3x2x4xi32>
       linalg.yield %val : i32
   } -> tensor<1x1x3xi32>

   return %res : tensor<1x1x3xi32>
}
```

The default masking path within the Linalg vectorizer, which assumes an
identity masking map, is not suitable here. Indeed:

* identity != broadcast.

This patch ensures masking is handled in the `vectorizeTensorExtract`
hook, which has the necessary context for proper handling.

Fixes #116197


  Commit: 2e51e150e161bd5fb5b8adb8655744a672ced002
      https://github.com/llvm/llvm-project/commit/2e51e150e161bd5fb5b8adb8655744a672ced002
  Author: Yuanqiang Liu <liuyuanqiang.yqliu at bytedance.com>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    M mlir/include/mlir-c/Pass.h
    M mlir/lib/Bindings/Python/Pass.cpp
    M mlir/lib/CAPI/IR/Pass.cpp
    M mlir/python/mlir/_mlir_libs/_mlir/passmanager.pyi
    M mlir/test/python/pass_manager.py

  Log Message:
  -----------
  [MLIR][Python] enhance python ir printing with pringing flags (#117836)

Close https://github.com/llvm/llvm-project/pull/65854


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/combine-fabs.ll
    M llvm/test/CodeGen/X86/combine-fneg.ll
    M llvm/test/CodeGen/X86/fsxor-alignment.ll

  Log Message:
  -----------
  [X86] combineStore - fold scalar float store(fabs/fneg(load())) -> store(and/xor(load(),c)) (#118680)

As noted on #117557 - its not worth performing scalar float fabs/fneg on the fpu if we're not doing any other fp ops.

This is currently limited to store + load pairs - I could try to extend this further if necessary, but we need to be careful that we don't end up in an infinite loop with the DAGCombiner foldBitcastedFPLogic combine.

Fixes #117557


  Commit: 15de77db91c199f9431e81d0b85bb6984d1c5296
      https://github.com/llvm/llvm-project/commit/15de77db91c199f9431e81d0b85bb6984d1c5296
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

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

  Log Message:
  -----------
  [lldb] (Prepare to) speed up dwarf indexing (#118657)

Indexing a single DWARF unit is a fairly small task, which means the
overhead of enqueueing a task for each unit is not negligible (mainly
because introduces a lot of synchronization points for queue management,
memory allocation etc.). This is particularly true if the binary was
built with type units, as these are usually very small.

This essentially brings us back to the state before
https://reviews.llvm.org/D78337, but the new implementation is built on
the llvm ThreadPool, and I've added a small improvement -- we now
construct one "index set" per thread instead of one per unit, which
should lower the memory usage (fewer small allocations) and make the
subsequent merge step faster.

On its own this patch doesn't actually change the performance
characteristics because we still have one choke point -- progress
reporting. I'm leaving that for a separate patch, but I've tried that
simply removing the progress reporting gives us about a 30-60% speed
boost.


  Commit: 487a070bebdc1252b83e45f8990704b31c6264f1
      https://github.com/llvm/llvm-project/commit/487a070bebdc1252b83e45f8990704b31c6264f1
  Author: WANG Rui <wangrui at loongson.cn>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    M llvm/test/CodeGen/LoongArch/ir-instruction/sdiv-udiv-srem-urem-div32.ll

  Log Message:
  -----------
  [LoongArch][NFC] Pre-commit tests for sign-extension removal with div32 enabled


  Commit: 0772a0bd29afa33520abf1c5a8bae09a718954b2
      https://github.com/llvm/llvm-project/commit/0772a0bd29afa33520abf1c5a8bae09a718954b2
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

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

  Log Message:
  -----------
  Revert "[memprof] Update YAML traits for writer purposes (#118720)"

This reverts commit 7b8cf147addf7d3fb4630475c40153226f5fdbd0.

Breaks building on macOS
    https://lab.llvm.org/buildbot/#/builders/190/builds/10737
    https://lab.llvm.org/buildbot/#/builders/23/builds/5491
    https://green.lab.llvm.org/job/llvm.org/job/clang-stage1-cmake-RA-incremental/6076/


  Commit: 65ced158e912d2ddda75897914802056e78acf74
      https://github.com/llvm/llvm-project/commit/65ced158e912d2ddda75897914802056e78acf74
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    M lld/ELF/Arch/RISCV.cpp
    M lld/docs/ReleaseNotes.rst
    M llvm/include/llvm/BinaryFormat/ELFRelocs/RISCV.def

  Log Message:
  -----------
  [RISCV] Remove R_RISCV_RVC_LUI Relocation (#118714)

This was removed from the ABI in riscv-non-isa/riscv-elf-psabi-doc#398.
It is not emitted by LLVM, and seems to have been an internal
implementation detail in binutils.

This is a follow-up to 26ec5da744b8 which removed previous binutils
internal relocations when they were removed from the ABI.

The LLD implementation was not tested when it was added in
https://reviews.llvm.org/D39322


  Commit: 17dfdd3a86e0759ce67e54ca53f6174769ed7285
      https://github.com/llvm/llvm-project/commit/17dfdd3a86e0759ce67e54ca53f6174769ed7285
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    M clang/test/AST/ByteCode/builtin-bit-cast-bitfields.cpp

  Log Message:
  -----------
  [clang][bytecode][tests] Specify triple in bitfields tests

This still breaks on 32bit hosts otherwise.
See https://github.com/llvm/llvm-project/pull/116843


  Commit: 0cda970ecc8a885acf7298a61370a1368b0ea39b
      https://github.com/llvm/llvm-project/commit/0cda970ecc8a885acf7298a61370a1368b0ea39b
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    A flang/include/flang/Common/Fortran-consts.h
    M flang/include/flang/Common/Fortran.h
    M flang/include/flang/Common/format.h
    A flang/include/flang/Common/target-rounding.h
    M flang/include/flang/Evaluate/common.h
    M flang/include/flang/Evaluate/target.h
    M flang/include/flang/Runtime/cpp-type.h
    M flang/include/flang/Runtime/type-code.h
    M flang/runtime/format.h
    M flang/runtime/non-tbp-dio.h
    M flang/runtime/type-info.h
    M flang/unittests/Evaluate/fp-testing.cpp
    M flang/unittests/Evaluate/fp-testing.h
    M flang/unittests/Runtime/Complex.cpp

  Log Message:
  -----------
  [Flang][NFC] Split common headers to reduce dependencies. (#110244)

Fortran.h and target.h are defining symbols where some are used by both, the Fortran runtime (Flang-RT) and Fortran compiler (Flang), and others are used by Flang only. With the upcoming refactoring of the Fortran runtime into its own subproject (#110217), move the declarations that are used by both into new headers to minimize the amount of code that will need to be shared by Flang-RT and Flang.

Details:

 * `Fortran.h`: Flang-RT  only uses some enum definitions out of this file, but not `AsFortran` which is defined in `Fortran.cpp`. Moving the enums into `Fortran-consts.h` allows keeping `Fortran.cpp` within Flang.

 * `target.h`: Contains some floating-point definitions that is used by the non-GTest unittests in `fp-testing.h`. Flang-RT also uses some non-GTest as well. Moving those definitions avoids the dependence on the entire FortranEvaluate library.


  Commit: 4bf520d5db8cea81bf5dde3390ce8876c341b8d8
      https://github.com/llvm/llvm-project/commit/4bf520d5db8cea81bf5dde3390ce8876c341b8d8
  Author: U-BERGUFFLEN\meinersbur <llvm-project at meinersbur.de>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    M .ci/generate_test_report.py
    A .ci/metrics/Dockerfile
    A .ci/metrics/metrics.py
    A .ci/metrics/requirements.lock.txt
    A .ci/metrics/requirements.txt
    M .github/CODEOWNERS
    M .github/new-issues-labeler.yml
    A .github/workflows/build-metrics-container.yml
    M .github/workflows/docs.yml
    M .github/workflows/libcxx-build-and-test.yaml
    M .github/workflows/libcxx-build-containers.yml
    M .github/workflows/libcxx-restart-preempted-jobs.yaml
    R bolt/CODE_OWNERS.TXT
    A bolt/Maintainers.txt
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/include/bolt/Core/BinarySection.h
    M bolt/include/bolt/Profile/DataAggregator.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryEmitter.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Core/BinarySection.cpp
    M bolt/lib/Passes/ReorderFunctions.cpp
    M bolt/lib/Passes/SplitFunctions.cpp
    M bolt/lib/Passes/VeneerElimination.cpp
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    A bolt/test/AArch64/check-init-not-moved.s
    M bolt/test/AArch64/data-at-0-offset.c
    M bolt/test/AArch64/double_jump.cpp
    M bolt/test/AArch64/veneer-lld-abs.s
    M bolt/test/R_ABS.pic.lld.cpp
    M bolt/test/X86/double-jump.test
    M bolt/test/X86/dwarf5-df-inlined-subroutine-gc-sections-range.test
    A bolt/test/X86/exceptions-compact.s
    M bolt/test/X86/jmp-optimization.test
    M bolt/test/X86/match-functions-with-call-graph.test
    A bolt/test/X86/pie-eh-split-undo.s
    A bolt/test/eh-frame-hdr.test
    A bolt/test/eh-frame-overwrite.test
    M bolt/test/pie.test
    M bolt/test/runtime/X86/Inputs/pie-exceptions-failed-split.s
    M bolt/test/runtime/X86/instrumentation-indirect.c
    R bolt/test/runtime/X86/pie-exceptions-failed-split.test
    A bolt/test/runtime/X86/pie-exceptions-split.test
    M bolt/test/runtime/bolt-reserved.cpp
    M bolt/unittests/Core/CMakeLists.txt
    A bolt/unittests/Core/MemoryMaps.cpp
    M bolt/utils/bughunter.sh
    R clang-tools-extra/CODE_OWNERS.TXT
    A clang-tools-extra/Maintainers.txt
    M clang-tools-extra/clang-include-fixer/IncludeFixer.cpp
    M clang-tools-extra/clang-reorder-fields/ReorderFieldsAction.cpp
    M clang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidConstOrRefDataMembersCheck.cpp
    M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
    M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.h
    M clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
    M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
    M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.h
    M clang-tools-extra/clangd/ClangdLSPServer.cpp
    M clang-tools-extra/clangd/ClangdLSPServer.h
    M clang-tools-extra/clangd/ClangdServer.cpp
    M clang-tools-extra/clangd/ClangdServer.h
    M clang-tools-extra/clangd/Compiler.cpp
    M clang-tools-extra/clangd/InlayHints.cpp
    M clang-tools-extra/clangd/ModulesBuilder.cpp
    M clang-tools-extra/clangd/Preamble.cpp
    M clang-tools-extra/clangd/Protocol.cpp
    M clang-tools-extra/clangd/Protocol.h
    M clang-tools-extra/clangd/XRefs.cpp
    M clang-tools-extra/clangd/XRefs.h
    M clang-tools-extra/clangd/benchmarks/IndexBenchmark.cpp
    M clang-tools-extra/clangd/index/Background.cpp
    M clang-tools-extra/clangd/index/Background.h
    M clang-tools-extra/clangd/index/BackgroundRebuild.cpp
    M clang-tools-extra/clangd/index/FileIndex.cpp
    M clang-tools-extra/clangd/index/FileIndex.h
    M clang-tools-extra/clangd/index/Index.cpp
    M clang-tools-extra/clangd/index/Index.h
    M clang-tools-extra/clangd/index/MemIndex.cpp
    M clang-tools-extra/clangd/index/MemIndex.h
    M clang-tools-extra/clangd/index/Merge.cpp
    M clang-tools-extra/clangd/index/Merge.h
    M clang-tools-extra/clangd/index/ProjectAware.cpp
    M clang-tools-extra/clangd/index/Ref.h
    M clang-tools-extra/clangd/index/Serialization.cpp
    M clang-tools-extra/clangd/index/Serialization.h
    M clang-tools-extra/clangd/index/SymbolCollector.cpp
    M clang-tools-extra/clangd/index/SymbolCollector.h
    M clang-tools-extra/clangd/index/dex/Dex.cpp
    M clang-tools-extra/clangd/index/dex/Dex.h
    M clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp
    M clang-tools-extra/clangd/index/remote/Client.cpp
    M clang-tools-extra/clangd/index/remote/Index.proto
    M clang-tools-extra/clangd/index/remote/Service.proto
    M clang-tools-extra/clangd/index/remote/marshalling/Marshalling.cpp
    M clang-tools-extra/clangd/index/remote/marshalling/Marshalling.h
    M clang-tools-extra/clangd/index/remote/server/Server.cpp
    M clang-tools-extra/clangd/refactor/tweaks/DefineOutline.cpp
    M clang-tools-extra/clangd/test/index-serialization/Inputs/sample.idx
    M clang-tools-extra/clangd/test/type-hierarchy-ext.test
    M clang-tools-extra/clangd/test/type-hierarchy.test
    M clang-tools-extra/clangd/tool/Check.cpp
    M clang-tools-extra/clangd/tool/ClangdMain.cpp
    M clang-tools-extra/clangd/unittests/BackgroundIndexTests.cpp
    M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
    M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
    M clang-tools-extra/clangd/unittests/DexTests.cpp
    M clang-tools-extra/clangd/unittests/FileIndexTests.cpp
    M clang-tools-extra/clangd/unittests/IndexTests.cpp
    M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
    M clang-tools-extra/clangd/unittests/RenameTests.cpp
    M clang-tools-extra/clangd/unittests/TestTU.cpp
    M clang-tools-extra/clangd/unittests/TestWorkspace.cpp
    M clang-tools-extra/clangd/unittests/tweaks/DefineOutlineTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/branch-clone.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/return-const-ref-from-parameter.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/use-after-move.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/redundant-expression.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/use-internal-linkage.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-starts-ends-with.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst
    M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp
    M clang-tools-extra/test/CMakeLists.txt
    A clang-tools-extra/test/clang-reorder-fields/FieldAnnotationsInMacros.cpp
    M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/alpha-core-identicalexpr.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-consteval.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/return-const-ref-from-parameter.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/use-after-move.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/avoid-const-or-ref-data-members.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-func.cpp
    A clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-module.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-starts-ends-with.cpp
    M clang/Maintainers.rst
    M clang/cmake/caches/CrossWinToARMLinux.cmake
    M clang/cmake/caches/Fuchsia-stage2.cmake
    M clang/cmake/caches/Fuchsia.cmake
    M clang/docs/AddressSanitizer.rst
    M clang/docs/ClangFormat.rst
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/InternalsManual.rst
    M clang/docs/LanguageExtensions.rst
    M clang/docs/LeakSanitizer.rst
    M clang/docs/LibASTMatchersReference.html
    M clang/docs/OpenMPSupport.rst
    M clang/docs/RealtimeSanitizer.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/SanitizerCoverage.rst
    M clang/docs/ThreadSafetyAnalysis.rst
    M clang/docs/UsersManual.rst
    M clang/docs/analyzer/checkers.rst
    M clang/docs/tools/dump_ast_matchers.py
    M clang/docs/tools/dump_format_style.py
    M clang/include/clang/AST/ASTNodeTraverser.h
    M clang/include/clang/AST/AttrIterator.h
    M clang/include/clang/AST/CanonicalType.h
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/AST/ExprCXX.h
    M clang/include/clang/AST/OpenMPClause.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/AST/TypeProperties.td
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
    M clang/include/clang/Analysis/Analyses/ExprMutationAnalyzer.h
    M clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h
    M clang/include/clang/Analysis/FlowSensitive/ASTOps.h
    M clang/include/clang/Basic/AArch64SVEACLETypes.def
    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/BuiltinsAArch64.def
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/include/clang/Basic/BuiltinsARM.def
    M clang/include/clang/Basic/BuiltinsLoongArchLASX.def
    M clang/include/clang/Basic/BuiltinsLoongArchLSX.def
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/Cuda.h
    M clang/include/clang/Basic/DiagnosticASTKinds.td
    M clang/include/clang/Basic/DiagnosticCommonKinds.td
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticLexKinds.td
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticRefactoringKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/Features.def
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/PointerAuthOptions.h
    M clang/include/clang/Basic/TargetBuiltins.h
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Basic/arm_mve.td
    M clang/include/clang/Basic/arm_mve_defs.td
    M clang/include/clang/Basic/arm_neon.td
    M clang/include/clang/Basic/arm_neon_incl.td
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/Basic/arm_sve_sme_incl.td
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/include/clang/Frontend/FrontendAction.h
    M clang/include/clang/Interpreter/Interpreter.h
    M clang/include/clang/Interpreter/PartialTranslationUnit.h
    R clang/include/clang/Parse/ParseDiagnostic.h
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Parse/RAIIObjectsForParser.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaHLSL.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
    M clang/include/clang/Tooling/Inclusions/IncludeStyle.h
    M clang/include/module.modulemap
    M clang/lib/AST/APValue.cpp
    M clang/lib/AST/ASTConcept.cpp
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTDiagnostic.cpp
    M clang/lib/AST/ASTDumper.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    A clang/lib/AST/ByteCode/BitcastBuffer.cpp
    A clang/lib/AST/ByteCode/BitcastBuffer.h
    M clang/lib/AST/ByteCode/Boolean.h
    M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h
    M clang/lib/AST/ByteCode/Context.cpp
    M clang/lib/AST/ByteCode/Context.h
    M clang/lib/AST/ByteCode/Descriptor.cpp
    M clang/lib/AST/ByteCode/Disasm.cpp
    M clang/lib/AST/ByteCode/EvalEmitter.cpp
    M clang/lib/AST/ByteCode/EvaluationResult.cpp
    M clang/lib/AST/ByteCode/Function.cpp
    M clang/lib/AST/ByteCode/Integral.h
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.h
    M clang/lib/AST/ByteCode/InterpFrame.cpp
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/lib/AST/ByteCode/PrimType.cpp
    M clang/lib/AST/ByteCode/Program.cpp
    M clang/lib/AST/ByteCode/Record.h
    M clang/lib/AST/CMakeLists.txt
    M clang/lib/AST/CXXInheritance.cpp
    M clang/lib/AST/CommentCommandTraits.cpp
    M clang/lib/AST/CommentSema.cpp
    M clang/lib/AST/ComputeDependence.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/DeclFriend.cpp
    M clang/lib/AST/DeclObjC.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/DeclarationName.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprCXX.cpp
    M clang/lib/AST/ExprConcepts.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/ExprObjC.cpp
    M clang/lib/AST/ExternalASTSource.cpp
    M clang/lib/AST/ItaniumCXXABI.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/Mangle.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/NestedNameSpecifier.cpp
    M clang/lib/AST/ODRHash.cpp
    M clang/lib/AST/OSLog.cpp
    M clang/lib/AST/OpenMPClause.cpp
    M clang/lib/AST/ParentMap.cpp
    M clang/lib/AST/ParentMapContext.cpp
    M clang/lib/AST/QualTypeNames.cpp
    M clang/lib/AST/Randstruct.cpp
    M clang/lib/AST/RawCommentList.cpp
    M clang/lib/AST/RecordLayoutBuilder.cpp
    M clang/lib/AST/Stmt.cpp
    M clang/lib/AST/StmtIterator.cpp
    M clang/lib/AST/StmtOpenACC.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/TemplateBase.cpp
    M clang/lib/AST/TemplateName.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/AST/VTTBuilder.cpp
    M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
    M clang/lib/ASTMatchers/Dynamic/Registry.cpp
    M clang/lib/Analysis/CFG.cpp
    M clang/lib/Analysis/Consumed.cpp
    M clang/lib/Analysis/ExprMutationAnalyzer.cpp
    M clang/lib/Analysis/FlowSensitive/ASTOps.cpp
    M clang/lib/Analysis/FlowSensitive/Arena.cpp
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/Models/ChromiumCheckModel.cpp
    M clang/lib/Analysis/IntervalPartition.cpp
    M clang/lib/Analysis/ProgramPoint.cpp
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/lib/Basic/Attributes.cpp
    M clang/lib/Basic/Cuda.cpp
    M clang/lib/Basic/SourceManager.cpp
    A clang/lib/Basic/TargetDefines.h
    M clang/lib/Basic/Targets.h
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/AMDGPU.h
    M clang/lib/Basic/Targets/LoongArch.cpp
    M clang/lib/Basic/Targets/LoongArch.h
    M clang/lib/Basic/Targets/NVPTX.cpp
    M clang/lib/Basic/Targets/NVPTX.h
    M clang/lib/Basic/Targets/RISCV.cpp
    M clang/lib/Basic/Targets/RISCV.h
    M clang/lib/Basic/Targets/WebAssembly.cpp
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
    M clang/lib/CodeGen/ABIInfo.cpp
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBlocks.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCUDARuntime.cpp
    M clang/lib/CodeGen/CGCXX.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGGPUBuiltin.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/CodeGen/CGLoopInfo.cpp
    M clang/lib/CodeGen/CGObjC.cpp
    M clang/lib/CodeGen/CGObjCGNU.cpp
    M clang/lib/CodeGen/CGObjCMac.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.h
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/CodeGenABITypes.cpp
    M clang/lib/CodeGen/CodeGenAction.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/CodeGenTBAA.cpp
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/LinkInModulesPass.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/CodeGen/ObjectFilePCHContainerWriter.cpp
    M clang/lib/CodeGen/SanitizerMetadata.cpp
    M clang/lib/CodeGen/SwiftCallingConv.cpp
    M clang/lib/CodeGen/TargetInfo.h
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/Driver/Compilation.cpp
    M clang/lib/Driver/Distro.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/DriverOptions.cpp
    M clang/lib/Driver/Job.cpp
    M clang/lib/Driver/Multilib.cpp
    M clang/lib/Driver/MultilibBuilder.cpp
    M clang/lib/Driver/OffloadBundler.cpp
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/Arch/ARM.cpp
    M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/Flang.h
    M clang/lib/Driver/ToolChains/Fuchsia.cpp
    M clang/lib/Driver/ToolChains/HIPAMD.cpp
    M clang/lib/Driver/ToolChains/Hexagon.cpp
    M clang/lib/Driver/ToolChains/Linux.cpp
    M clang/lib/Driver/ToolChains/MinGW.cpp
    M clang/lib/Driver/Types.cpp
    M clang/lib/Driver/XRayArgs.cpp
    M clang/lib/Format/CMakeLists.txt
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/CreateInvocationFromCommandLine.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Frontend/Rewrite/FrontendActions.cpp
    M clang/lib/Headers/amdgpuintrin.h
    M clang/lib/Headers/avx512vpopcntdqintrin.h
    M clang/lib/Headers/avx512vpopcntdqvlintrin.h
    M clang/lib/Headers/cuda_wrappers/new
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Headers/intrin.h
    M clang/lib/Headers/intrin0.h
    M clang/lib/Headers/larchintrin.h
    M clang/lib/Headers/lasxintrin.h
    M clang/lib/Headers/lsxintrin.h
    M clang/lib/Headers/nvptxintrin.h
    M clang/lib/InstallAPI/DirectoryScanner.cpp
    M clang/lib/Interpreter/CMakeLists.txt
    M clang/lib/Interpreter/IncrementalExecutor.h
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/lib/Interpreter/Wasm.cpp
    M clang/lib/Interpreter/Wasm.h
    M clang/lib/Lex/HeaderMap.cpp
    M clang/lib/Lex/HeaderSearch.cpp
    M clang/lib/Lex/InitHeaderSearch.cpp
    M clang/lib/Lex/Lexer.cpp
    M clang/lib/Lex/MacroArgs.cpp
    M clang/lib/Lex/MacroInfo.cpp
    M clang/lib/Lex/ModuleMap.cpp
    M clang/lib/Lex/PPCallbacks.cpp
    M clang/lib/Lex/PPDirectives.cpp
    M clang/lib/Lex/PPExpressions.cpp
    M clang/lib/Lex/PPLexerChange.cpp
    M clang/lib/Lex/PPMacroExpansion.cpp
    M clang/lib/Lex/Pragma.cpp
    M clang/lib/Lex/PreprocessingRecord.cpp
    M clang/lib/Lex/Preprocessor.cpp
    M clang/lib/Lex/PreprocessorLexer.cpp
    M clang/lib/Lex/TokenLexer.cpp
    M clang/lib/Parse/ParseAST.cpp
    M clang/lib/Parse/ParseCXXInlineMethods.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Parse/ParseHLSL.cpp
    M clang/lib/Parse/ParseInit.cpp
    M clang/lib/Parse/ParseObjc.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Parse/ParsePragma.cpp
    M clang/lib/Parse/ParseStmt.cpp
    M clang/lib/Parse/ParseTemplate.cpp
    M clang/lib/Parse/ParseTentative.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/lib/Sema/CheckExprLifetime.cpp
    M clang/lib/Sema/CheckExprLifetime.h
    M clang/lib/Sema/CodeCompleteConsumer.cpp
    M clang/lib/Sema/DeclSpec.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/JumpDiagnostics.cpp
    M clang/lib/Sema/ParsedAttr.cpp
    M clang/lib/Sema/ScopeInfo.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaAMDGPU.cpp
    M clang/lib/Sema/SemaAPINotes.cpp
    M clang/lib/Sema/SemaARM.cpp
    M clang/lib/Sema/SemaAccess.cpp
    M clang/lib/Sema/SemaAttr.cpp
    M clang/lib/Sema/SemaCUDA.cpp
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaCast.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaCoroutine.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaDeclObjC.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaExprObjC.cpp
    M clang/lib/Sema/SemaFixItUtils.cpp
    M clang/lib/Sema/SemaFunctionEffects.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaLambda.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaModule.cpp
    M clang/lib/Sema/SemaObjC.cpp
    M clang/lib/Sema/SemaObjCProperty.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaPseudoObject.cpp
    M clang/lib/Sema/SemaSYCL.cpp
    M clang/lib/Sema/SemaStmt.cpp
    M clang/lib/Sema/SemaStmtAsm.cpp
    M clang/lib/Sema/SemaStmtAttr.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/Serialization/GlobalModuleIndex.cpp
    M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
    M clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp
    R clang/lib/StaticAnalyzer/Checkers/IdenticalExprChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/Taint.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
    M clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
    M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
    M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
    M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
    M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
    M clang/lib/StaticAnalyzer/Core/SVals.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/APINotes/Inputs/Headers/Lifetimebound.apinotes
    M clang/test/APINotes/Inputs/Headers/Lifetimebound.h
    M clang/test/APINotes/lifetimebound.cpp
    A clang/test/AST/ByteCode/altivec.c
    A clang/test/AST/ByteCode/amdgpu-nullptr.cl
    A clang/test/AST/ByteCode/builtin-bit-cast-bitfields.cpp
    M clang/test/AST/ByteCode/builtin-bit-cast.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp
    M clang/test/AST/ByteCode/c23.c
    M clang/test/AST/ByteCode/cxx23.cpp
    M clang/test/AST/ByteCode/literals.cpp
    M clang/test/AST/ByteCode/placement-new.cpp
    M clang/test/AST/ByteCode/records.cpp
    M clang/test/AST/ByteCode/vectors.cpp
    R clang/test/AST/HLSL/AppendStructuredBuffer-AST.hlsl
    A clang/test/AST/HLSL/ArrayOutArgExpr.hlsl
    R clang/test/AST/HLSL/ConsumeStructuredBuffer-AST.hlsl
    R clang/test/AST/HLSL/RWBuffer-AST.hlsl
    R clang/test/AST/HLSL/RWStructuredBuffer-AST.hlsl
    R clang/test/AST/HLSL/RasterizerOrderedStructuredBuffer-AST.hlsl
    R clang/test/AST/HLSL/StructuredBuffer-AST.hlsl
    A clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
    A clang/test/AST/HLSL/TypedBuffers-AST.hlsl
    A clang/test/AST/HLSL/is_typed_resource_element_compatible_concept.hlsl
    M clang/test/AST/arm-mfp8.cpp
    A clang/test/AST/ast-dump-cxx2b-deducing-this.cpp
    M clang/test/AST/ast-dump-recovery.cpp
    M clang/test/AST/ast-print-openacc-combined-construct.cpp
    A clang/test/AST/ast-print-packindexingexpr.cpp
    M clang/test/AST/attr-lifetime-capture-by.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
    M clang/test/Analysis/analyzer-enabled-checkers.c
    M clang/test/Analysis/bstring.cpp
    M clang/test/Analysis/chroot.c
    M clang/test/Analysis/copy-elision.cpp
    M clang/test/Analysis/ctor-trivial-copy.cpp
    M clang/test/Analysis/cxx-uninitialized-object-unguarded-access.cpp
    M clang/test/Analysis/explain-svals.cpp
    R clang/test/Analysis/identical-expressions.cpp
    M clang/test/Analysis/initializer.cpp
    M clang/test/Analysis/iterator-modeling.cpp
    M clang/test/Analysis/reference.cpp
    M clang/test/Analysis/show-checker-list.c
    M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
    M clang/test/Analysis/stl-algorithm-modeling-aggressive-std-find-modeling.cpp
    M clang/test/Analysis/stl-algorithm-modeling.cpp
    M clang/test/Analysis/string.c
    M clang/test/Analysis/string.cpp
    A clang/test/Analysis/string_notnullterm.c
    M clang/test/Analysis/taint-generic.cpp
    M clang/test/Analysis/template-param-objects.cpp
    A clang/test/Analysis/void-call-exit-modelling.c
    A clang/test/C/C23/n2412.c
    M clang/test/CXX/class.access/class.friend/p11.cpp
    M clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.nodiscard/p2.cpp
    M clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.nodiscard/p3.cpp
    M clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.noreturn/p1.cpp
    M clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p2-cxx0x.cpp
    M clang/test/CXX/drs/cwg158.cpp
    M clang/test/CXX/drs/cwg5xx.cpp
    M clang/test/CXX/drs/cwg722.cpp
    M clang/test/CXX/expr/expr.const/p2-0x.cpp
    A clang/test/CodeCompletion/keywords-cxx20.cpp
    M clang/test/CodeGen/AArch64/debug-types.c
    M clang/test/CodeGen/AArch64/elf-pauthabi.c
    A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sme2_fp8_cvt.c
    M clang/test/CodeGen/AArch64/pure-scalable-args.c
    A clang/test/CodeGen/AArch64/sme-inline-callees-streaming-attrs.c
    M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
    M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.cpp
    M clang/test/CodeGen/AArch64/sve-vector-bitwise-ops.c
    M clang/test/CodeGen/AArch64/sve-vls-arith-ops.c
    M clang/test/CodeGen/AArch64/sve-vls-bitwise-ops.c
    M clang/test/CodeGen/AArch64/sve-vls-compare-ops.c
    M clang/test/CodeGen/AArch64/sve-vls-shift-ops.c
    M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_extq.c
    M clang/test/CodeGen/PowerPC/musttail-forward-declaration-inline.c
    M clang/test/CodeGen/PowerPC/musttail-forward-declaration-weak.c
    M clang/test/CodeGen/PowerPC/musttail-indirect.cpp
    M clang/test/CodeGen/PowerPC/musttail-inline.c
    M clang/test/CodeGen/PowerPC/musttail-undefined.c
    M clang/test/CodeGen/PowerPC/musttail-weak.c
    M clang/test/CodeGen/PowerPC/musttail.c
    M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-cast.c
    M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-codegen.c
    A clang/test/CodeGen/RISCV/builtin-cpu-is-error.c
    A clang/test/CodeGen/RISCV/builtin-cpu-is.c
    M clang/test/CodeGen/RISCV/riscv-func-attr-target.c
    M clang/test/CodeGen/RISCV/riscv-inline-asm.c
    M clang/test/CodeGen/RISCV/rvv-vls-arith-ops.c
    M clang/test/CodeGen/RISCV/rvv-vls-bitwise-ops.c
    M clang/test/CodeGen/RISCV/rvv-vls-compare-ops.c
    M clang/test/CodeGen/RISCV/rvv-vls-shift-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/avx512vpopcntdq-builtins.c
    M clang/test/CodeGen/X86/avx512vpopcntdqvl-builtins.c
    M clang/test/CodeGen/X86/builtin_test_helpers.h
    M clang/test/CodeGen/X86/cx-complex-range.c
    M clang/test/CodeGen/X86/ms-x86-intrinsics.c
    M clang/test/CodeGen/X86/x86_64-PR42672.c
    M clang/test/CodeGen/alias.cpp
    M clang/test/CodeGen/amdgpu-barrier-type-debug-info.c
    M clang/test/CodeGen/arm-bf16-convert-intrinsics.c
    M clang/test/CodeGen/arm-mfp8.c
    M clang/test/CodeGen/arm-mve-intrinsics/compare.c
    M clang/test/CodeGen/arm-vfp16-arguments.c
    M clang/test/CodeGen/arm-vfp16-arguments2.cpp
    M clang/test/CodeGen/arm64-microsoft-intrinsics.c
    M clang/test/CodeGen/attr-arm-sve-vector-bits-cast.c
    M clang/test/CodeGen/attr-arm-sve-vector-bits-codegen.c
    M clang/test/CodeGen/attr-counted-by.c
    M clang/test/CodeGen/attr-cpuspecific-cpus.c
    M clang/test/CodeGen/attr-cpuspecific.c
    M clang/test/CodeGen/attr-target-mv.c
    M clang/test/CodeGen/attr-target-x86.c
    M clang/test/CodeGen/bounds-checking.c
    M clang/test/CodeGen/builtins-elementwise-math.c
    M clang/test/CodeGen/builtins-wasm.c
    M clang/test/CodeGen/catch-undef-behavior.c
    M clang/test/CodeGen/cx-complex-range.c
    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/matrix-type-operators-fast-math.c
    M clang/test/CodeGen/ms-intrinsics.c
    M clang/test/CodeGen/ms-mixed-ptr-sizes.c
    M clang/test/CodeGen/nofpclass.c
    M clang/test/CodeGen/ptrauth-function-attributes.c
    A clang/test/CodeGen/ptrauth-module-flags.c
    M clang/test/CodeGen/sanitize-coverage-gated-callbacks.c
    A clang/test/CodeGen/scoped-fence-ops.c
    A clang/test/CodeGen/target-addrspace.cpp
    M clang/test/CodeGen/target-builtin-noerror.c
    M clang/test/CodeGen/tbaa-pointers.c
    M clang/test/CodeGen/tbaa-reference.cpp
    M clang/test/CodeGen/tbaa-struct-bitfield-endianness.cpp
    A clang/test/CodeGen/ubsan-trap-merge.c
    M clang/test/CodeGen/union-tbaa1.c
    M clang/test/CodeGenCUDA/amdgpu-atomic-ops.cu
    M clang/test/CodeGenCUDA/amdgpu-kernel-arg-pointer-type.cu
    A clang/test/CodeGenCUDASPIRV/spirv-attrs.cu
    A clang/test/CodeGenCXX/aarch64-mangle-sme-atts.cpp
    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/ms-thread_local.cpp
    A clang/test/CodeGenCXX/ms-uneval-context-crash.cpp
    M clang/test/CodeGenCXX/template-instantiation.cpp
    M clang/test/CodeGenCXX/wasm-args-returns.cpp
    M clang/test/CodeGenHIP/printf_nonhostcall.cpp
    M clang/test/CodeGenHLSL/ArrayAssignable.hlsl
    A clang/test/CodeGenHLSL/BasicFeatures/ArrayOutputArguments.hlsl
    A clang/test/CodeGenHLSL/builtins/GroupMemoryBarrierWithGroupSync.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-elementtype.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-subscript.hlsl
    M clang/test/CodeGenHLSL/builtins/RWStructuredBuffer-elementtype.hlsl
    M clang/test/CodeGenHLSL/builtins/RasterizerOrderedStructuredBuffer-elementtype.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffer-elementtype.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
    A clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-lib.hlsl
    A clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-ps.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffers-subscripts.hlsl
    A clang/test/CodeGenHLSL/builtins/WaveActiveAnyTrue.hlsl
    A clang/test/CodeGenHLSL/builtins/asdouble.hlsl
    M clang/test/CodeGenHLSL/builtins/hlsl_resource_t.hlsl
    M clang/test/CodeGenHLSL/implicit-norecurse-attrib.hlsl
    A clang/test/CodeGenHLSL/resource-bindings.hlsl
    A clang/test/CodeGenHLSL/semantics/SV_GroupID.hlsl
    M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
    M clang/test/CodeGenOpenCL/amdgpu-call-kernel.cl
    M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
    M clang/test/CodeGenOpenCL/amdgpu-features.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-err.cl
    A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-err.cl
    A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-read-tr.cl
    A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-mfma.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
    M clang/test/CodeGenOpenCL/cl20-device-side-enqueue-attributes.cl
    M clang/test/CodeGenOpenCL/cl20-device-side-enqueue.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/aarch64-ptrauth.c
    M clang/test/Driver/amdgpu-macros.cl
    M clang/test/Driver/amdgpu-mcpu.cl
    M clang/test/Driver/arm-alignment.c
    M clang/test/Driver/cl-options.c
    M clang/test/Driver/cl-zc.cpp
    M clang/test/Driver/clang_f_opts.c
    M clang/test/Driver/codeview-column-info.c
    A clang/test/Driver/cuda-no-threadsafe-statics.cu
    A clang/test/Driver/darwin-subframeworks.c
    A clang/test/Driver/fprofile-sample-use.c
    M clang/test/Driver/fsanitize.c
    M clang/test/Driver/fuchsia.c
    M clang/test/Driver/fveclib.c
    M clang/test/Driver/hexagon-toolchain-linux.c
    M clang/test/Driver/hip-rdc-device-only.hip
    M clang/test/Driver/hip-toolchain-no-rdc.hip
    M clang/test/Driver/hip-toolchain-rdc-separate.hip
    M clang/test/Driver/hip-toolchain-rdc.hip
    M clang/test/Driver/linux-ld.c
    M clang/test/Driver/loongarch-march.c
    A clang/test/Driver/loongarch-mdiv32.c
    A clang/test/Driver/loongarch-mlamcas.c
    A clang/test/Driver/loongarch-mld-seq-sa.c
    M clang/test/Driver/mingw.cpp
    M clang/test/Driver/module-output.cppm
    M clang/test/Driver/print-supported-extensions-riscv.c
    M clang/test/Driver/relax.s
    M clang/test/Driver/riscv-cpus.c
    M clang/test/Driver/unsupported-option.c
    M clang/test/Driver/x86-march.c
    A clang/test/Driver/xtensa-char.c
    A clang/test/Format/docs_updated.test
    M clang/test/Format/lit.local.cfg
    M clang/test/Headers/__clang_hip_math_ocml_rounded_ops.hip
    M clang/test/Lexer/gnu-flags.c
    M clang/test/Misc/diag-template-diffing-cxx98.cpp
    M clang/test/Misc/pragma-attribute-strict-subjects.c
    M clang/test/Misc/target-invalid-cpu-note/amdgcn.c
    M clang/test/Misc/target-invalid-cpu-note/nvptx.c
    M clang/test/Misc/target-invalid-cpu-note/riscv.c
    M clang/test/Misc/target-invalid-cpu-note/x86.c
    M clang/test/Modules/compare-record.c
    M clang/test/Modules/no-eager-load.cppm
    M clang/test/Modules/odr_hash.cpp
    M clang/test/Modules/same-decl-in-different-modules.cppm
    M clang/test/OpenMP/flush_ast_print.cpp
    M clang/test/OpenMP/flush_codegen.cpp
    M clang/test/OpenMP/flush_messages.cpp
    M clang/test/OpenMP/for_simd_loop_messages.cpp
    M clang/test/OpenMP/masked_taskloop_simd_linear_messages.cpp
    M clang/test/OpenMP/master_taskloop_simd_linear_messages.cpp
    M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
    M clang/test/OpenMP/parallel_for_simd_loop_messages.cpp
    M clang/test/OpenMP/parallel_for_simd_messages.cpp
    M clang/test/OpenMP/parallel_masked_taskloop_simd_linear_messages.cpp
    M clang/test/OpenMP/parallel_master_taskloop_simd_linear_messages.cpp
    M clang/test/OpenMP/simd_linear_messages.cpp
    M clang/test/OpenMP/target_parallel_for_simd_ordered_messages.cpp
    M clang/test/OpenMP/taskloop_simd_linear_messages.cpp
    A clang/test/OpenMP/taskloop_strictmodifier_codegen.cpp
    M clang/test/Parser/cxx2c-delete-with-message.cpp
    A clang/test/Parser/cxx2c-oxford-variadic-comma.cpp
    M clang/test/Parser/pragma-attribute.cpp
    M clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl
    M clang/test/Preprocessor/aarch64-target-features.c
    M clang/test/Preprocessor/has_builtin_cpuid.c
    M clang/test/Preprocessor/init-aarch64.c
    M clang/test/Preprocessor/init-loongarch.c
    M clang/test/Preprocessor/init.c
    M clang/test/Preprocessor/macro_fn.c
    M clang/test/Preprocessor/predefined-arch-macros.c
    M clang/test/Preprocessor/ptrauth_feature.c
    M clang/test/Preprocessor/riscv-target-features.c
    M clang/test/Refactor/Extract/ObjCProperty.m
    A clang/test/Sema/Inputs/lifetime-analysis.h
    A clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_cvt.c
    A clang/test/Sema/aarch64-sve-intrinsics/acle_neon_sve_bridge.cpp
    M clang/test/Sema/aarch64-sve2p1-intrinsics/acle_sve2p1_imm.cpp
    A clang/test/Sema/amdgcn-address-spaces.c
    M clang/test/Sema/arm-mfp8.c
    M clang/test/Sema/arm-mfp8.cpp
    M clang/test/Sema/asm.c
    M clang/test/Sema/attr-nonblocking-constraints.cpp
    A clang/test/Sema/attr-target-version-unsupported.c
    M clang/test/Sema/builtin-counted-by-ref.c
    M clang/test/Sema/c2x-nodiscard.c
    M clang/test/Sema/constant_builtins_vector.cpp
    M clang/test/Sema/enum.c
    A clang/test/Sema/nvptx-address-spaces.c
    M clang/test/Sema/pragma-attribute-strict-subjects.c
    A clang/test/Sema/warn-lifetime-analysis-capture-by.cpp
    M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
    M clang/test/Sema/warn-stringcompare.c
    A clang/test/SemaCUDA/spirv-attrs.cu
    A clang/test/SemaCXX/attr-annotate-ast.cpp
    M clang/test/SemaCXX/attr-lifetimebound.cpp
    A clang/test/SemaCXX/attr-no-specializations.cpp
    M clang/test/SemaCXX/builtin-bit-cast.cpp
    M clang/test/SemaCXX/constexpr-return-non-void-cxx2b.cpp
    A clang/test/SemaCXX/cxx20-warn-dangling-paren-list-agg-init.cpp
    A clang/test/SemaCXX/cxx2b-warn-shadow.cpp
    M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
    M clang/test/SemaCXX/deprecated.cpp
    M clang/test/SemaCXX/function-redecl.cpp
    M clang/test/SemaCXX/integer-overflow.cpp
    M clang/test/SemaCXX/lambda-capture-type-deduction.cpp
    M clang/test/SemaCXX/literal-type.cpp
    M clang/test/SemaCXX/new-delete.cpp
    M clang/test/SemaCXX/paren-list-agg-init.cpp
    A clang/test/SemaCXX/warn-array-comparion.cpp
    M clang/test/SemaCXX/warn-memaccess.cpp
    M clang/test/SemaCXX/warn-missing-noreturn.cpp
    M clang/test/SemaCXX/warn-self-comparisons.cpp
    M clang/test/SemaCXX/warn-shadow.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-function-attr.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-in-container-span-construct.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-warning-data-invocation.cpp
    M clang/test/SemaCXX/warn-unused-private-field.cpp
    M clang/test/SemaCXX/warn-unused-result.cpp
    A clang/test/SemaHIP/zero-sized-device-array.hip
    M clang/test/SemaHLSL/ArrayTemporary.hlsl
    A clang/test/SemaHLSL/BuiltIns/GroupMemoryBarrierWithGroupSync-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
    M clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
    A clang/test/SemaHLSL/BuiltIns/WaveActiveAnyTrue-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/asdouble-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/buffer_update_counter-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/resource_getpointer-errors.hlsl
    A clang/test/SemaHLSL/Language/ArrayOutputArgs-errors.hlsl
    M clang/test/SemaHLSL/Semantics/entry_parameter.hlsl
    M clang/test/SemaHLSL/Semantics/invalid_entry_parameter.hlsl
    M clang/test/SemaHLSL/Semantics/valid_entry_parameter.hlsl
    M clang/test/SemaHLSL/Types/Traits/IsTypedResourceElementCompatible.hlsl
    R clang/test/SemaHLSL/Types/Traits/IsTypedResourceElementCompatibleErrors.hlsl
    M clang/test/SemaObjC/comptypes-legal.m
    A clang/test/SemaObjC/method-param-named-id.m
    A clang/test/SemaOpenACC/combined-construct-attach-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-attach-clause.c
    A clang/test/SemaOpenACC/combined-construct-attach-clause.cpp
    M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
    A clang/test/SemaOpenACC/combined-construct-collapse-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-collapse-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-copy-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-copy-clause.c
    A clang/test/SemaOpenACC/combined-construct-copy-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-copyin-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-copyin-clause.c
    A clang/test/SemaOpenACC/combined-construct-copyin-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-copyout-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-copyout-clause.c
    A clang/test/SemaOpenACC/combined-construct-copyout-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-create-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-create-clause.c
    A clang/test/SemaOpenACC/combined-construct-create-clause.cpp
    M clang/test/SemaOpenACC/combined-construct-default-clause.c
    M clang/test/SemaOpenACC/combined-construct-default-clause.cpp
    M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
    A clang/test/SemaOpenACC/combined-construct-deviceptr-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-deviceptr-clause.c
    A clang/test/SemaOpenACC/combined-construct-deviceptr-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-no_create-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-no_create-clause.c
    A clang/test/SemaOpenACC/combined-construct-no_create-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-num_gangs-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-num_gangs-clause.c
    A clang/test/SemaOpenACC/combined-construct-num_workers-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-num_workers-clause.c
    A clang/test/SemaOpenACC/combined-construct-present-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-present-clause.c
    A clang/test/SemaOpenACC/combined-construct-present-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-tile-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-tile-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-vector_length-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-vector_length-clause.c
    A clang/test/SemaOpenACC/combined-construct-wait-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-wait-clause.c
    A clang/test/SemaOpenACC/combined-construct-wait-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-default-clause.c
    M clang/test/SemaOpenACC/compute-construct-varlist-ast.cpp
    M clang/test/SemaOpenACC/loop-construct-gang-clause.cpp
    M clang/test/SemaOpenACC/loop-construct-worker-clause.cpp
    M clang/test/SemaOpenCL/access-qualifier.cl
    A clang/test/SemaOpenCL/builtins-amdgcn-error-gfx950-param.cl
    A clang/test/SemaOpenCL/builtins-amdgcn-error-gfx950.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-wave32.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-gfx940-err.cl
    A clang/test/SemaOpenCL/builtins-amdgcn-wave32-func-attr.cl
    A clang/test/SemaTemplate/template-args-deduction-aggregates.cpp
    M clang/tools/amdgpu-arch/AMDGPUArch.cpp
    R clang/tools/amdgpu-arch/AMDGPUArchByHSA.cpp
    A clang/tools/amdgpu-arch/AMDGPUArchByKFD.cpp
    M clang/tools/amdgpu-arch/CMakeLists.txt
    M clang/tools/c-index-test/core_main.cpp
    M clang/tools/clang-format/ClangFormat.cpp
    M clang/tools/clang-format/git-clang-format
    M clang/tools/clang-import-test/clang-import-test.cpp
    M clang/tools/clang-installapi/ClangInstallAPI.cpp
    M clang/tools/clang-repl/CMakeLists.txt
    M clang/tools/clang-repl/ClangRepl.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/ASTImporterTest.cpp
    A clang/unittests/AST/ByteCode/BitcastBuffer.cpp
    M clang/unittests/AST/ByteCode/CMakeLists.txt
    M clang/unittests/AST/ExternalASTSourceTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
    M clang/unittests/Analysis/FlowSensitive/ASTOpsTest.cpp
    M clang/unittests/CodeGen/TBAAMetadataTest.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/ASTTableGen.cpp
    M clang/utils/TableGen/ClangASTNodesEmitter.cpp
    M clang/utils/TableGen/ClangASTPropertiesEmitter.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp
    M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
    M clang/utils/TableGen/ClangCommentCommandInfoEmitter.cpp
    M clang/utils/TableGen/ClangCommentHTMLNamedCharacterReferenceEmitter.cpp
    M clang/utils/TableGen/ClangCommentHTMLTagsEmitter.cpp
    M clang/utils/TableGen/ClangDataCollectorsEmitter.cpp
    M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
    M clang/utils/TableGen/ClangOpcodesEmitter.cpp
    M clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp
    M clang/utils/TableGen/ClangOptionDocEmitter.cpp
    M clang/utils/TableGen/ClangSACheckersEmitter.cpp
    M clang/utils/TableGen/ClangSyntaxEmitter.cpp
    M clang/utils/TableGen/ClangTypeNodesEmitter.cpp
    M clang/utils/TableGen/MveEmitter.cpp
    M clang/utils/TableGen/NeonEmitter.cpp
    M clang/utils/TableGen/RISCVVEmitter.cpp
    M clang/utils/TableGen/SveEmitter.cpp
    M clang/utils/TableGen/TableGen.cpp
    M clang/utils/analyzer/exploded-graph-rewriter.py
    M clang/www/c_status.html
    M clang/www/cxx_dr_status.html
    M clang/www/cxx_status.html
    M clang/www/hacking.html
    M cmake/Modules/CMakePolicy.cmake
    M compiler-rt/CMakeLists.txt
    R compiler-rt/CODE_OWNERS.TXT
    A compiler-rt/Maintainers.txt
    M compiler-rt/cmake/Modules/AddCompilerRT.cmake
    M compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
    M compiler-rt/cmake/base-config-ix.cmake
    M compiler-rt/cmake/caches/hexagon-linux-clangrt.cmake
    M compiler-rt/include/profile/InstrProfData.inc
    M compiler-rt/lib/asan/CMakeLists.txt
    M compiler-rt/lib/asan/asan_interceptors.cpp
    M compiler-rt/lib/builtins/CMakeLists.txt
    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/builtins/cpu_model/x86.c
    A compiler-rt/lib/builtins/extendhfxf2.c
    M compiler-rt/lib/hwasan/hwasan_platform_interceptors.h
    M compiler-rt/lib/interception/interception_win.cpp
    M compiler-rt/lib/interception/interception_win.h
    M compiler-rt/lib/interception/tests/interception_win_test.cpp
    M compiler-rt/lib/lsan/lsan_common.cpp
    M compiler-rt/lib/msan/tests/msan_test.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_common_interceptors.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_deadlock_detector.h
    M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
    M compiler-rt/lib/sanitizer_common/tests/sanitizer_libc_test.cpp
    M compiler-rt/lib/scudo/standalone/list.h
    M compiler-rt/lib/scudo/standalone/secondary.h
    M compiler-rt/lib/tsan/rtl/tsan_rtl.cpp
    M compiler-rt/lib/tsan/rtl/tsan_rtl.h
    M compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
    M compiler-rt/lib/xray/weak_symbols.txt
    M compiler-rt/lib/xray/xray_flags.cpp
    M compiler-rt/lib/xray/xray_flags.h
    M compiler-rt/test/builtins/Unit/atomic_test.c
    A compiler-rt/test/builtins/Unit/extendhfxf2_test.c
    M compiler-rt/test/builtins/Unit/fp_test.h
    M compiler-rt/test/hwasan/lit.cfg.py
    M compiler-rt/test/lit.common.configured.in
    A compiler-rt/test/orc/TestCases/Darwin/Generic/trivial-cxx-constructor.cpp
    A compiler-rt/test/profile/ContinuousSyncMode/multi-threaded.cpp
    M compiler-rt/test/profile/ContinuousSyncMode/online-merging.c
    A compiler-rt/test/profile/Linux/binary-id-offset.c
    M compiler-rt/test/profile/lit.cfg.py
    M compiler-rt/test/rtsan/deduplicate_errors.cpp
    A compiler-rt/test/rtsan/fork_exec.cpp
    A compiler-rt/test/rtsan/report_error_summary.cpp
    A compiler-rt/test/rtsan/syscall.cpp
    A compiler-rt/test/tsan/many_held_mutex.cpp
    A compiler-rt/test/xray/TestCases/Posix/default-options.cpp
    R flang/CODE_OWNERS.TXT
    A flang/Maintainers.txt
    M flang/docs/Extensions.md
    M flang/docs/Intrinsics.md
    M flang/docs/ParserCombinators.md
    M flang/examples/FeatureList/FeatureList.cpp
    M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
    M flang/examples/FlangOmpReport/FlangOmpReportVisitor.h
    M flang/include/flang/Common/Fortran-features.h
    A flang/include/flang/Common/OpenMP-utils.h
    M flang/include/flang/Evaluate/target.h
    M flang/include/flang/Evaluate/tools.h
    M flang/include/flang/Frontend/FrontendOptions.h
    M flang/include/flang/Lower/AbstractConverter.h
    M flang/include/flang/Lower/ConvertCall.h
    M flang/include/flang/Lower/PFTBuilder.h
    M flang/include/flang/Lower/StatementContext.h
    M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/Exceptions.h
    M flang/include/flang/Optimizer/CodeGen/FIROpPatterns.h
    M flang/include/flang/Optimizer/CodeGen/Target.h
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    M flang/include/flang/Optimizer/Dialect/FortranVariableInterface.td
    M flang/include/flang/Optimizer/HLFIR/HLFIRDialect.h
    M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
    M flang/include/flang/Optimizer/OpenMP/Passes.h
    M flang/include/flang/Optimizer/OpenMP/Passes.td
    M flang/include/flang/Optimizer/Passes/Pipelines.h
    M flang/include/flang/Optimizer/Transforms/CUFCommon.h
    M flang/include/flang/Optimizer/Transforms/CUFOpConversion.h
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Runtime/CUDA/allocatable.h
    M flang/include/flang/Runtime/CUDA/allocator.h
    M flang/include/flang/Runtime/CUDA/common.h
    A flang/include/flang/Runtime/CUDA/memmove-function.h
    M flang/include/flang/Runtime/CUDA/memory.h
    M flang/include/flang/Runtime/allocatable.h
    M flang/include/flang/Runtime/allocator-registry.h
    M flang/include/flang/Runtime/array-constructor-consts.h
    M flang/include/flang/Runtime/assign.h
    M flang/include/flang/Runtime/descriptor-consts.h
    M flang/include/flang/Runtime/descriptor.h
    M flang/include/flang/Runtime/exceptions.h
    M flang/include/flang/Runtime/freestanding-tools.h
    M flang/include/flang/Runtime/io-api-funcs.h
    M flang/include/flang/Runtime/iostat-funcs.h
    M flang/include/flang/Semantics/openmp-directive-sets.h
    A flang/include/flang/Semantics/openmp-modifiers.h
    M flang/include/flang/Semantics/symbol.h
    M flang/include/flang/Tools/CrossToolHelpers.h
    M flang/include/flang/Tools/TargetSetup.h
    M flang/lib/Common/CMakeLists.txt
    M flang/lib/Common/Fortran-features.cpp
    A flang/lib/Common/OpenMP-utils.cpp
    M flang/lib/Evaluate/characteristics.cpp
    M flang/lib/Evaluate/fold-logical.cpp
    M flang/lib/Evaluate/fold-matmul.h
    M flang/lib/Evaluate/fold-real.cpp
    M flang/lib/Evaluate/fold-reduction.h
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Evaluate/target.cpp
    M flang/lib/Evaluate/tools.cpp
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertExpr.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Lower/OpenMP/Clauses.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Lower/OpenMP/Utils.h
    M flang/lib/Lower/PFTBuilder.cpp
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/Analysis/CMakeLists.txt
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
    M flang/lib/Optimizer/Builder/Runtime/Exceptions.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/Target.cpp
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIRDialect.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    M flang/lib/Optimizer/OpenMP/CMakeLists.txt
    A flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
    A flang/lib/Optimizer/OpenMP/LowerWorkshare.cpp
    M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
    M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
    M flang/lib/Optimizer/Passes/Pipelines.cpp
    M flang/lib/Optimizer/Transforms/AbstractResult.cpp
    M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
    M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
    M flang/lib/Optimizer/Transforms/CUFCommon.cpp
    M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
    M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    M flang/lib/Optimizer/Transforms/ExternalNameConversion.cpp
    M flang/lib/Optimizer/Transforms/FunctionAttr.cpp
    M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
    M flang/lib/Parser/CMakeLists.txt
    M flang/lib/Parser/Fortran-parsers.cpp
    M flang/lib/Parser/executable-parsers.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/parse-tree.cpp
    M flang/lib/Parser/prescan.cpp
    M flang/lib/Parser/type-parsers.h
    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-directive-structure.h
    M flang/lib/Semantics/check-io.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/expression.cpp
    A flang/lib/Semantics/openmp-modifiers.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/runtime/CUDA/CMakeLists.txt
    M flang/runtime/CUDA/allocatable.cpp
    M flang/runtime/CUDA/allocator.cpp
    M flang/runtime/CUDA/descriptor.cpp
    A flang/runtime/CUDA/memmove-function.cpp
    M flang/runtime/CUDA/memory.cpp
    M flang/runtime/allocatable.cpp
    M flang/runtime/array-constructor.cpp
    M flang/runtime/assign-impl.h
    M flang/runtime/assign.cpp
    M flang/runtime/descriptor.cpp
    M flang/runtime/edit-input.cpp
    M flang/runtime/exceptions.cpp
    M flang/runtime/sum.cpp
    A flang/test/Analysis/AliasAnalysis/gen_mod_ref_test.py
    A flang/test/Analysis/AliasAnalysis/modref-call-after-inlining.fir
    A flang/test/Analysis/AliasAnalysis/modref-call-args.f90
    A flang/test/Analysis/AliasAnalysis/modref-call-dummies.f90
    A flang/test/Analysis/AliasAnalysis/modref-call-equivalence.f90
    A flang/test/Analysis/AliasAnalysis/modref-call-globals.f90
    A flang/test/Analysis/AliasAnalysis/modref-call-internal-proc.f90
    A flang/test/Analysis/AliasAnalysis/modref-call-locals.f90
    A flang/test/Analysis/AliasAnalysis/modref-call-not-fortran.fir
    M flang/test/Driver/bbc-mlir-pass-pipeline.f90
    M flang/test/Driver/dynamic-linker.f90
    M flang/test/Driver/isysroot.f90
    A flang/test/Driver/mabi-loongarch.f90
    M flang/test/Driver/mlir-debug-pass-pipeline.f90
    M flang/test/Driver/mlir-pass-pipeline.f90
    A flang/test/Driver/pp-fixed-form.f90
    A flang/test/Driver/print-supported-cpus.f90
    M flang/test/Evaluate/fold-ieee.f90
    M flang/test/Evaluate/folding18.f90
    M flang/test/Fir/CUDA/cuda-alloc-free.fir
    M flang/test/Fir/CUDA/cuda-allocate.fir
    M flang/test/Fir/CUDA/cuda-constructor-2.f90
    M flang/test/Fir/CUDA/cuda-data-transfer.fir
    A flang/test/Fir/CUDA/cuda-device-context.mlir
    M flang/test/Fir/CUDA/cuda-device-global.f90
    A flang/test/Fir/CUDA/cuda-extranal-mangling.mlir
    A flang/test/Fir/CUDA/cuda-global-addr.mlir
    M flang/test/Fir/CUDA/cuda-implicit-device-global.f90
    A flang/test/Fir/CUDA/cuda-target-rewrite.mlir
    M flang/test/Fir/arrayset.fir
    M flang/test/Fir/arrexp.fir
    M flang/test/Fir/basic-program.fir
    M flang/test/Fir/box-offset-codegen.fir
    M flang/test/Fir/box.fir
    M flang/test/Fir/boxproc.fir
    M flang/test/Fir/commute.fir
    M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
    M flang/test/Fir/coordinateof.fir
    M flang/test/Fir/embox.fir
    M flang/test/Fir/field-index.fir
    M flang/test/Fir/ignore-missing-type-descriptor.fir
    M flang/test/Fir/polymorphic.fir
    A flang/test/Fir/struct-passing-loongarch64-byreg.fir
    A flang/test/Fir/struct-passing-return-loongarch64-bystack.fir
    M flang/test/Fir/struct-passing-x86-64-byval.fir
    A flang/test/Fir/struct-return-aarch64.fir
    A flang/test/Fir/struct-return-loongarch64-byreg.fir
    M flang/test/Fir/target-rewrite-boxchar.fir
    M flang/test/Fir/target-rewrite-complex-10-x86.fir
    A flang/test/Fir/target-rewrite-integer-loongarch64.fir
    M flang/test/Fir/target.fir
    A flang/test/HLFIR/bufferize-workshare.fir
    M flang/test/HLFIR/elemental-codegen.fir
    A flang/test/HLFIR/eval_in_mem-codegen.fir
    A flang/test/HLFIR/eval_in_mem.fir
    M flang/test/HLFIR/invalid.fir
    A flang/test/HLFIR/opt-bufferization-eval_in_mem.fir
    M flang/test/HLFIR/order_assignments/where-scheduling.f90
    M flang/test/Integration/OpenMP/copyprivate.f90
    M flang/test/Integration/OpenMP/map-types-and-sizes.f90
    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
    M flang/test/Integration/debug-local-var-2.f90
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf
    A flang/test/Lower/CUDA/cuda-return01.cuf
    A flang/test/Lower/CUDA/cuda-return02.cuf
    M flang/test/Lower/HLFIR/assumed-rank-internal-proc.f90
    A flang/test/Lower/HLFIR/calls-array-results.f90
    M flang/test/Lower/HLFIR/cray-pointers.f90
    M flang/test/Lower/HLFIR/goto-do-body.f90
    M flang/test/Lower/HLFIR/internal-procedures.f90
    M flang/test/Lower/HLFIR/where-nonelemental.f90
    M flang/test/Lower/Intrinsics/len_trim.f90
    M flang/test/Lower/Intrinsics/system.f90
    M flang/test/Lower/OpenACC/acc-declare.f90
    M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
    A flang/test/Lower/OpenMP/DelayedPrivatization/wsloop.f90
    A flang/test/Lower/OpenMP/Todo/atomic-compare.f90
    A flang/test/Lower/OpenMP/Todo/defaultmap-clause.f90
    A flang/test/Lower/OpenMP/Todo/depend-clause-depobj.f90
    M flang/test/Lower/OpenMP/Todo/depend-clause-inoutset.f90
    M flang/test/Lower/OpenMP/Todo/depend-clause-mutexinoutset.f90
    A flang/test/Lower/OpenMP/Todo/flush-seq-cst.f90
    R flang/test/Lower/OpenMP/Todo/loop-directive.f90
    A flang/test/Lower/OpenMP/Todo/map-mapper.f90
    M flang/test/Lower/OpenMP/Todo/reduction-inscan.f90
    M flang/test/Lower/OpenMP/Todo/reduction-modifiers.f90
    A flang/test/Lower/OpenMP/Todo/scope-allocate.f90
    A flang/test/Lower/OpenMP/Todo/scope-firstprivate.f90
    M flang/test/Lower/OpenMP/Todo/task_detach.f90
    R flang/test/Lower/OpenMP/Todo/task_mergeable.f90
    M flang/test/Lower/OpenMP/Todo/task_untied.f90
    M flang/test/Lower/OpenMP/allocatable-array-bounds.f90
    M flang/test/Lower/OpenMP/allocatable-map.f90
    M flang/test/Lower/OpenMP/array-bounds.f90
    M flang/test/Lower/OpenMP/copyprivate.f90
    M flang/test/Lower/OpenMP/copyprivate2.f90
    A flang/test/Lower/OpenMP/declare-target-interface.f90
    M flang/test/Lower/OpenMP/declare-target-link-tarop-cap.f90
    A flang/test/Lower/OpenMP/derived-type-allocatable-map.f90
    M flang/test/Lower/OpenMP/derived-type-map.f90
    A flang/test/Lower/OpenMP/generic-loop-rewriting.f90
    A flang/test/Lower/OpenMP/loop-directive.f90
    M flang/test/Lower/OpenMP/map-component-ref.f90
    M flang/test/Lower/OpenMP/target.f90
    M flang/test/Lower/OpenMP/task.f90
    M flang/test/Lower/OpenMP/threadprivate-host-association-2.f90
    M flang/test/Lower/OpenMP/threadprivate-host-association.f90
    M flang/test/Lower/OpenMP/workshare.f90
    M flang/test/Lower/allocatable-polymorphic.f90
    M flang/test/Lower/allocatable-runtime.f90
    M flang/test/Lower/allocate-mold.f90
    M flang/test/Lower/explicit-interface-results-2.f90
    M flang/test/Lower/explicit-interface-results.f90
    M flang/test/Lower/forall/array-constructor.f90
    M flang/test/Lower/goto-do-body.f90
    M flang/test/Lower/nsw.f90
    M flang/test/Lower/polymorphic.f90
    M flang/test/Parser/OpenMP/affinity-clause.f90
    M flang/test/Parser/OpenMP/allocators-unparse.f90
    A flang/test/Parser/OpenMP/atomic-compare.f90
    M flang/test/Parser/OpenMP/atomic-unparse.f90
    A flang/test/Parser/OpenMP/bind-clause.f90
    M flang/test/Parser/OpenMP/declare_target-device_type.f90
    A flang/test/Parser/OpenMP/defaultmap-clause.f90
    M flang/test/Parser/OpenMP/defaultmap-unparse.f90
    M flang/test/Parser/OpenMP/depobj-construct.f90
    M flang/test/Parser/OpenMP/from-clause.f90
    M flang/test/Parser/OpenMP/if-clause-unparse.f90
    M flang/test/Parser/OpenMP/if-clause.f90
    M flang/test/Parser/OpenMP/in-reduction-clause.f90
    M flang/test/Parser/OpenMP/lastprivate-clause.f90
    M flang/test/Parser/OpenMP/map-modifiers.f90
    M flang/test/Parser/OpenMP/order-clause01.f90
    M flang/test/Parser/OpenMP/proc-bind.f90
    M flang/test/Parser/OpenMP/reduction-modifier.f90
    A flang/test/Parser/OpenMP/scan.f90
    M flang/test/Parser/OpenMP/target-loop-unparse.f90
    M flang/test/Parser/OpenMP/target-update-to-clause.f90
    M flang/test/Parser/OpenMP/target_device_parse.f90
    M flang/test/Parser/OpenMP/target_device_unparse.f90
    M flang/test/Parser/OpenMP/taskloop.f90
    A flang/test/Parser/decl-char-length.f90
    A flang/test/Parser/recovery07.f90
    A flang/test/Preprocessing/bug117297.F90
    A flang/test/Preprocessing/not-an-exponent.F90
    A flang/test/Preprocessing/pp046.F
    M flang/test/Semantics/OpenMP/allocate-clause01.f90
    M flang/test/Semantics/OpenMP/allocators01.f90
    M flang/test/Semantics/OpenMP/allocators04.f90
    M flang/test/Semantics/OpenMP/allocators05.f90
    M flang/test/Semantics/OpenMP/allocators06.f90
    A flang/test/Semantics/OpenMP/atomic-compare.f90
    M flang/test/Semantics/OpenMP/atomic.f90
    M flang/test/Semantics/OpenMP/clause-validity01.f90
    M flang/test/Semantics/OpenMP/combined-constructs.f90
    A flang/test/Semantics/OpenMP/critical_within_default.f90
    A flang/test/Semantics/OpenMP/defaultmap-clause-v45.f90
    A flang/test/Semantics/OpenMP/defaultmap-clause-v50.f90
    M flang/test/Semantics/OpenMP/depend05.f90
    M flang/test/Semantics/OpenMP/device-constructs.f90
    M flang/test/Semantics/OpenMP/do05.f90
    A flang/test/Semantics/OpenMP/do21.f90
    M flang/test/Semantics/OpenMP/flush02.f90
    M flang/test/Semantics/OpenMP/from-clause-v45.f90
    M flang/test/Semantics/OpenMP/from-clause-v51.f90
    M flang/test/Semantics/OpenMP/if-clause.f90
    A flang/test/Semantics/OpenMP/map-clause-symbols.f90
    M flang/test/Semantics/OpenMP/map-clause.f90
    M flang/test/Semantics/OpenMP/map-modifiers.f90
    M flang/test/Semantics/OpenMP/nested-barrier.f90
    M flang/test/Semantics/OpenMP/nested-master.f90
    M flang/test/Semantics/OpenMP/nested-simd.f90
    M flang/test/Semantics/OpenMP/nested-target.f90
    M flang/test/Semantics/OpenMP/ordered-simd.f90
    M flang/test/Semantics/OpenMP/reduction-modifiers.f90
    M flang/test/Semantics/OpenMP/resolve06.f90
    A flang/test/Semantics/OpenMP/scan1.f90
    A flang/test/Semantics/OpenMP/scan2.f90
    M flang/test/Semantics/OpenMP/to-clause-v45.f90
    M flang/test/Semantics/OpenMP/to-clause-v51.f90
    M flang/test/Semantics/call14.f90
    M flang/test/Semantics/expr-errors06.f90
    M flang/test/Semantics/io03.f90
    M flang/test/Semantics/io04.f90
    A flang/test/Semantics/pointer02.f90
    M flang/test/Semantics/resolve58.f90
    A flang/test/Semantics/smp-def02.f90
    M flang/test/Semantics/undef-result01.f90
    A flang/test/Transforms/OpenMP/lower-workshare-alloca.mlir
    A flang/test/Transforms/OpenMP/lower-workshare-binding.mlir
    A flang/test/Transforms/OpenMP/lower-workshare-cleanup.mlir
    A flang/test/Transforms/OpenMP/lower-workshare-copyprivate.mlir
    A flang/test/Transforms/OpenMP/lower-workshare-correct-parallelize.mlir
    A flang/test/Transforms/OpenMP/lower-workshare-nested.mlir
    A flang/test/Transforms/OpenMP/lower-workshare-no-single.mlir
    A flang/test/Transforms/OpenMP/lower-workshare-nowait.mlir
    A flang/test/Transforms/OpenMP/lower-workshare-todo-cfg-dom.mlir
    A flang/test/Transforms/OpenMP/lower-workshare-todo-cfg.mlir
    A flang/test/Transforms/OpenMP/should-use-workshare-lowering.mlir
    M flang/test/Transforms/constant-argument-globalisation.fir
    A flang/test/Transforms/debug-class-type.fir
    A flang/test/Transforms/function-attrs.fir
    A flang/test/Transforms/generic-loop-rewriting-todo.mlir
    A flang/test/Transforms/generic-loop-rewriting.mlir
    M flang/test/Transforms/omp-map-info-finalization.fir
    M flang/tools/bbc/bbc.cpp
    M flang/tools/flang-driver/CMakeLists.txt
    M flang/tools/flang-driver/fc1_main.cpp
    M flang/tools/tco/tco.cpp
    M flang/unittests/Runtime/CMakeLists.txt
    M flang/unittests/Runtime/CUDA/Allocatable.cpp
    M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
    M flang/unittests/Runtime/CUDA/Memory.cpp
    M flang/unittests/Runtime/CommandTest.cpp
    M libc/CMakeLists.txt
    M libc/cmake/modules/LLVMLibCHeaderRules.cmake
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libc/cmake/modules/prepare_libc_gpu_build.cmake
    R libc/config/baremetal/api.td
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    R libc/config/gpu/api.td
    M libc/config/linux/aarch64/entrypoints.txt
    R libc/config/linux/api.td
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    R libc/config/public_api.td
    A libc/config/windows/headers.txt
    M libc/docs/dev/header_generation.rst
    M libc/docs/dev/source_tree_layout.rst
    M libc/docs/fenv.rst
    M libc/docs/gpu/building.rst
    M libc/docs/gpu/rpc.rst
    M libc/docs/math/index.rst
    M libc/docs/setjmp.rst
    M libc/docs/signal.rst
    M libc/docs/stdbit.rst
    M libc/docs/threads.rst
    M libc/fuzzing/__support/CMakeLists.txt
    A libc/fuzzing/__support/freelist_heap_fuzz.cpp
    M libc/fuzzing/__support/hashtable_fuzz.cpp
    M libc/fuzzing/math/Compare.h
    A libc/hdrgen/CMakeLists.txt
    A libc/hdrgen/class_implementation/classes/enumeration.py
    A libc/hdrgen/class_implementation/classes/function.py
    A libc/hdrgen/class_implementation/classes/macro.py
    A libc/hdrgen/class_implementation/classes/object.py
    A libc/hdrgen/class_implementation/classes/type.py
    A libc/hdrgen/gpu_headers.py
    A libc/hdrgen/header.py
    A libc/hdrgen/tests/expected_output/test_header.h
    A libc/hdrgen/tests/input/test_small.h.def
    A libc/hdrgen/tests/input/test_small.yaml
    A libc/hdrgen/tests/test_integration.py
    A libc/hdrgen/yaml/arpa/inet.yaml
    A libc/hdrgen/yaml/assert.yaml
    A libc/hdrgen/yaml/ctype.yaml
    A libc/hdrgen/yaml/dirent.yaml
    A libc/hdrgen/yaml/dlfcn.yaml
    A libc/hdrgen/yaml/elf.yaml
    A libc/hdrgen/yaml/errno.yaml
    A libc/hdrgen/yaml/fcntl.yaml
    A libc/hdrgen/yaml/features.yaml
    A libc/hdrgen/yaml/fenv.yaml
    A libc/hdrgen/yaml/float.yaml
    A libc/hdrgen/yaml/gpu/rpc.yaml
    A libc/hdrgen/yaml/inttypes.yaml
    A libc/hdrgen/yaml/limits.yaml
    A libc/hdrgen/yaml/link.yaml
    A libc/hdrgen/yaml/locale.yaml
    A libc/hdrgen/yaml/malloc.yaml
    A libc/hdrgen/yaml/math.yaml
    A libc/hdrgen/yaml/pthread.yaml
    A libc/hdrgen/yaml/sched.yaml
    A libc/hdrgen/yaml/search.yaml
    A libc/hdrgen/yaml/setjmp.yaml
    A libc/hdrgen/yaml/signal.yaml
    A libc/hdrgen/yaml/spawn.yaml
    A libc/hdrgen/yaml/stdbit.yaml
    A libc/hdrgen/yaml/stdckdint.yaml
    A libc/hdrgen/yaml/stdfix.yaml
    A libc/hdrgen/yaml/stdint.yaml
    A libc/hdrgen/yaml/stdio.yaml
    A libc/hdrgen/yaml/stdlib.yaml
    A libc/hdrgen/yaml/string.yaml
    A libc/hdrgen/yaml/strings.yaml
    A libc/hdrgen/yaml/sys/auxv.yaml
    A libc/hdrgen/yaml/sys/epoll.yaml
    A libc/hdrgen/yaml/sys/ioctl.yaml
    A libc/hdrgen/yaml/sys/mman.yaml
    A libc/hdrgen/yaml/sys/prctl.yaml
    A libc/hdrgen/yaml/sys/random.yaml
    A libc/hdrgen/yaml/sys/resource.yaml
    A libc/hdrgen/yaml/sys/select.yaml
    A libc/hdrgen/yaml/sys/sendfile.yaml
    A libc/hdrgen/yaml/sys/socket.yaml
    A libc/hdrgen/yaml/sys/stat.yaml
    A libc/hdrgen/yaml/sys/statvfs.yaml
    A libc/hdrgen/yaml/sys/syscall.yaml
    A libc/hdrgen/yaml/sys/time.yaml
    A libc/hdrgen/yaml/sys/types.yaml
    A libc/hdrgen/yaml/sys/utsname.yaml
    A libc/hdrgen/yaml/sys/wait.yaml
    A libc/hdrgen/yaml/termios.yaml
    A libc/hdrgen/yaml/threads.yaml
    A libc/hdrgen/yaml/time.yaml
    A libc/hdrgen/yaml/uchar.yaml
    A libc/hdrgen/yaml/unistd.yaml
    A libc/hdrgen/yaml/wchar.yaml
    A libc/hdrgen/yaml_functions_sorted.py
    A libc/hdrgen/yaml_to_classes.py
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-macros/time-macros.h
    M libc/include/llvm-libc-types/CMakeLists.txt
    R libc/include/llvm-libc-types/rpc_opcodes_t.h
    M libc/include/sys/syscall.h.def
    R libc/newhdrgen/CMakeLists.txt
    R libc/newhdrgen/class_implementation/classes/enumeration.py
    R libc/newhdrgen/class_implementation/classes/function.py
    R libc/newhdrgen/class_implementation/classes/macro.py
    R libc/newhdrgen/class_implementation/classes/object.py
    R libc/newhdrgen/class_implementation/classes/type.py
    R libc/newhdrgen/gpu_headers.py
    R libc/newhdrgen/header.py
    R libc/newhdrgen/tests/expected_output/test_header.h
    R libc/newhdrgen/tests/input/test_small.h.def
    R libc/newhdrgen/tests/input/test_small.yaml
    R libc/newhdrgen/tests/test_integration.py
    R libc/newhdrgen/yaml/arpa/inet.yaml
    R libc/newhdrgen/yaml/assert.yaml
    R libc/newhdrgen/yaml/ctype.yaml
    R libc/newhdrgen/yaml/dirent.yaml
    R libc/newhdrgen/yaml/dlfcn.yaml
    R libc/newhdrgen/yaml/elf.yaml
    R libc/newhdrgen/yaml/errno.yaml
    R libc/newhdrgen/yaml/fcntl.yaml
    R libc/newhdrgen/yaml/features.yaml
    R libc/newhdrgen/yaml/fenv.yaml
    R libc/newhdrgen/yaml/float.yaml
    R libc/newhdrgen/yaml/gpu/rpc.yaml
    R libc/newhdrgen/yaml/inttypes.yaml
    R libc/newhdrgen/yaml/limits.yaml
    R libc/newhdrgen/yaml/link.yaml
    R libc/newhdrgen/yaml/locale.yaml
    R libc/newhdrgen/yaml/malloc.yaml
    R libc/newhdrgen/yaml/math.yaml
    R libc/newhdrgen/yaml/pthread.yaml
    R libc/newhdrgen/yaml/sched.yaml
    R libc/newhdrgen/yaml/search.yaml
    R libc/newhdrgen/yaml/setjmp.yaml
    R libc/newhdrgen/yaml/signal.yaml
    R libc/newhdrgen/yaml/spawn.yaml
    R libc/newhdrgen/yaml/stdbit.yaml
    R libc/newhdrgen/yaml/stdckdint.yaml
    R libc/newhdrgen/yaml/stdfix.yaml
    R libc/newhdrgen/yaml/stdint.yaml
    R libc/newhdrgen/yaml/stdio.yaml
    R libc/newhdrgen/yaml/stdlib.yaml
    R libc/newhdrgen/yaml/string.yaml
    R libc/newhdrgen/yaml/strings.yaml
    R libc/newhdrgen/yaml/sys/auxv.yaml
    R libc/newhdrgen/yaml/sys/epoll.yaml
    R libc/newhdrgen/yaml/sys/ioctl.yaml
    R libc/newhdrgen/yaml/sys/mman.yaml
    R libc/newhdrgen/yaml/sys/prctl.yaml
    R libc/newhdrgen/yaml/sys/random.yaml
    R libc/newhdrgen/yaml/sys/resource.yaml
    R libc/newhdrgen/yaml/sys/select.yaml
    R libc/newhdrgen/yaml/sys/sendfile.yaml
    R libc/newhdrgen/yaml/sys/socket.yaml
    R libc/newhdrgen/yaml/sys/stat.yaml
    R libc/newhdrgen/yaml/sys/statvfs.yaml
    R libc/newhdrgen/yaml/sys/syscall.yaml
    R libc/newhdrgen/yaml/sys/time.yaml
    R libc/newhdrgen/yaml/sys/types.yaml
    R libc/newhdrgen/yaml/sys/utsname.yaml
    R libc/newhdrgen/yaml/sys/wait.yaml
    R libc/newhdrgen/yaml/termios.yaml
    R libc/newhdrgen/yaml/threads.yaml
    R libc/newhdrgen/yaml/time.yaml
    R libc/newhdrgen/yaml/uchar.yaml
    R libc/newhdrgen/yaml/unistd.yaml
    R libc/newhdrgen/yaml/wchar.yaml
    R libc/newhdrgen/yaml_functions_sorted.py
    R libc/newhdrgen/yaml_to_classes.py
    A libc/shared/rpc.h
    A libc/shared/rpc_opcodes.h
    A libc/shared/rpc_util.h
    R libc/spec/bsd_ext.td
    R libc/spec/gnu_ext.td
    R libc/spec/gpu_ext.td
    R libc/spec/linux.td
    R libc/spec/llvm_libc_ext.td
    R libc/spec/llvm_libc_stdfix_ext.td
    R libc/spec/posix.td
    R libc/spec/spec.td
    R libc/spec/stdc.td
    R libc/spec/stdc_ext.td
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/GPU/allocator.cpp
    M libc/src/__support/HashTable/generic/bitmask_impl.inc
    M libc/src/__support/OSUtil/gpu/exit.cpp
    M libc/src/__support/OSUtil/gpu/io.cpp
    M libc/src/__support/OSUtil/linux/exit.cpp
    M libc/src/__support/RPC/CMakeLists.txt
    R libc/src/__support/RPC/rpc.h
    M libc/src/__support/RPC/rpc_client.cpp
    M libc/src/__support/RPC/rpc_client.h
    R libc/src/__support/RPC/rpc_util.h
    M libc/src/__support/block.h
    M libc/src/__support/common.h
    M libc/src/__support/ctype_utils.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/__support/hash.h
    M libc/src/__support/high_precision_decimal.h
    M libc/src/__support/integer_literals.h
    M libc/src/__support/integer_to_string.h
    M libc/src/__support/macros/optimization.h
    M libc/src/__support/str_to_float.h
    M libc/src/__support/str_to_integer.h
    M libc/src/__support/threads/linux/CMakeLists.txt
    M libc/src/__support/threads/linux/rwlock.h
    M libc/src/__support/time/linux/CMakeLists.txt
    A libc/src/__support/time/linux/clock_gettime.cpp
    M libc/src/__support/time/linux/clock_gettime.h
    M libc/src/complex/generic/CMakeLists.txt
    M libc/src/ctype/isxdigit.cpp
    M libc/src/ctype/isxdigit_l.cpp
    M libc/src/ctype/toupper.cpp
    M libc/src/ctype/toupper_l.cpp
    M libc/src/gpu/rpc_host_call.cpp
    M libc/src/math/CMakeLists.txt
    M libc/src/math/docs/add_math_function.md
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/atan2f.cpp
    M libc/src/math/generic/exp10m1f16.cpp
    M libc/src/math/generic/inv_trigf_utils.h
    M libc/src/math/generic/sincosf16_utils.h
    A libc/src/math/generic/sinf16.cpp
    M libc/src/math/generic/tanhf16.cpp
    M libc/src/math/generic/tanpif16.cpp
    A libc/src/math/sinf16.h
    M libc/src/pthread/CMakeLists.txt
    M libc/src/setjmp/riscv/CMakeLists.txt
    M libc/src/setjmp/x86_64/CMakeLists.txt
    M libc/src/signal/linux/CMakeLists.txt
    M libc/src/stdfix/CMakeLists.txt
    M libc/src/stdio/gpu/clearerr.cpp
    M libc/src/stdio/gpu/fclose.cpp
    M libc/src/stdio/gpu/feof.cpp
    M libc/src/stdio/gpu/ferror.cpp
    M libc/src/stdio/gpu/fflush.cpp
    M libc/src/stdio/gpu/fgets.cpp
    M libc/src/stdio/gpu/file.h
    M libc/src/stdio/gpu/fopen.cpp
    M libc/src/stdio/gpu/fseek.cpp
    M libc/src/stdio/gpu/ftell.cpp
    M libc/src/stdio/gpu/puts.cpp
    M libc/src/stdio/gpu/remove.cpp
    M libc/src/stdio/gpu/rename.cpp
    M libc/src/stdio/gpu/ungetc.cpp
    M libc/src/stdio/gpu/vfprintf_utils.h
    M libc/src/stdio/printf_core/fixed_converter.h
    M libc/src/stdio/printf_core/float_dec_converter.h
    M libc/src/stdio/printf_core/float_hex_converter.h
    M libc/src/stdio/printf_core/float_inf_nan_converter.h
    M libc/src/stdio/printf_core/int_converter.h
    M libc/src/stdio/scanf_core/converter_utils.h
    M libc/src/stdio/scanf_core/float_converter.cpp
    M libc/src/stdio/scanf_core/int_converter.cpp
    M libc/src/stdio/scanf_core/ptr_converter.cpp
    M libc/src/stdlib/freelist_malloc.cpp
    M libc/src/stdlib/gpu/abort.cpp
    M libc/src/stdlib/gpu/system.cpp
    M libc/src/string/CMakeLists.txt
    M libc/src/string/memory_utils/op_x86.h
    M libc/src/string/string_utils.h
    M libc/src/sys/mman/CMakeLists.txt
    M libc/src/sys/mman/linux/CMakeLists.txt
    A libc/src/sys/mman/linux/process_mrelease.cpp
    A libc/src/sys/mman/process_mrelease.h
    M libc/src/sys/socket/linux/recvfrom.cpp
    M libc/src/sys/socket/recvfrom.h
    M libc/src/threads/CMakeLists.txt
    M libc/src/time/CMakeLists.txt
    A libc/src/time/baremetal/CMakeLists.txt
    A libc/src/time/baremetal/timespec_get.cpp
    M libc/src/time/gpu/CMakeLists.txt
    A libc/src/time/gpu/timespec_get.cpp
    M libc/src/time/linux/CMakeLists.txt
    A libc/src/time/linux/timespec_get.cpp
    A libc/src/time/timespec_get.h
    M libc/test/UnitTest/MemoryMatcher.cpp
    M libc/test/integration/scudo/CMakeLists.txt
    M libc/test/integration/startup/gpu/CMakeLists.txt
    M libc/test/integration/startup/gpu/rpc_interface_test.cpp
    A libc/test/integration/startup/gpu/rpc_lane_test.cpp
    M libc/test/integration/startup/gpu/rpc_stream_test.cpp
    M libc/test/integration/startup/gpu/rpc_test.cpp
    M libc/test/src/CMakeLists.txt
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/CPP/stringview_test.cpp
    M libc/test/src/__support/HashTable/group_test.cpp
    M libc/test/src/__support/HashTable/table_test.cpp
    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
    M libc/test/src/ctype/isalnum_test.cpp
    M libc/test/src/ctype/isalpha_test.cpp
    M libc/test/src/ctype/isdigit_test.cpp
    M libc/test/src/ctype/islower_test.cpp
    M libc/test/src/ctype/isupper_test.cpp
    M libc/test/src/ctype/isxdigit_test.cpp
    M libc/test/src/ctype/tolower_test.cpp
    M libc/test/src/ctype/toupper_test.cpp
    M libc/test/src/math/CMakeLists.txt
    A libc/test/src/math/sinf16_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/LdExpTest.h
    A libc/test/src/math/smoke/sinf16_test.cpp
    M libc/test/src/stdlib/StrtolTest.h
    M libc/test/src/string/strcmp_test.cpp
    M libc/test/src/sys/mman/linux/CMakeLists.txt
    A libc/test/src/sys/mman/linux/process_mrelease_test.cpp
    M libc/test/src/time/CMakeLists.txt
    A libc/test/src/time/timespec_get_test.cpp
    R libc/utils/HdrGen/CMakeLists.txt
    R libc/utils/HdrGen/Command.h
    R libc/utils/HdrGen/Generator.cpp
    R libc/utils/HdrGen/Generator.h
    R libc/utils/HdrGen/IncludeFileCommand.cpp
    R libc/utils/HdrGen/IncludeFileCommand.h
    R libc/utils/HdrGen/Main.cpp
    R libc/utils/HdrGen/PrototypeTestGen/CMakeLists.txt
    R libc/utils/HdrGen/PrototypeTestGen/PrototypeTestGen.cpp
    R libc/utils/HdrGen/PublicAPICommand.cpp
    R libc/utils/HdrGen/PublicAPICommand.h
    R libc/utils/HdrGen/README.md
    R libc/utils/LibcTableGenUtil/APIIndexer.cpp
    R libc/utils/LibcTableGenUtil/APIIndexer.h
    R libc/utils/LibcTableGenUtil/CMakeLists.txt
    M libc/utils/docgen/docgen.py
    M libc/utils/docgen/setjmp.json
    M libc/utils/gpu/loader/Loader.h
    M libc/utils/gpu/loader/amdgpu/CMakeLists.txt
    M libc/utils/gpu/loader/amdgpu/amdhsa-loader.cpp
    M libc/utils/gpu/loader/nvptx/nvptx-loader.cpp
    M libc/utils/gpu/server/CMakeLists.txt
    R libc/utils/gpu/server/llvmlibc_rpc_server.h
    M libc/utils/gpu/server/rpc_server.cpp
    A libcxx/docs/CodingGuidelines.rst
    M libcxx/docs/Contributing.rst
    M libcxx/docs/DesignDocs/ExtendedCXX03Support.rst
    R libcxx/docs/DesignDocs/NodiscardPolicy.rst
    M libcxx/docs/ReleaseNotes/20.rst
    M libcxx/docs/Status/Cxx23Papers.csv
    M libcxx/docs/Status/Cxx2cIssues.csv
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/docs/index.rst
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__atomic/atomic.h
    R libcxx/include/__atomic/atomic_base.h
    M libcxx/include/__atomic/atomic_sync.h
    M libcxx/include/__chrono/convert_to_tm.h
    M libcxx/include/__chrono/duration.h
    M libcxx/include/__chrono/formatter.h
    M libcxx/include/__chrono/hh_mm_ss.h
    M libcxx/include/__chrono/time_point.h
    M libcxx/include/__chrono/zoned_time.h
    M libcxx/include/__condition_variable/condition_variable.h
    M libcxx/include/__config
    M libcxx/include/__configuration/availability.h
    M libcxx/include/__cxx03/__chrono/formatter.h
    M libcxx/include/__flat_map/flat_map.h
    M libcxx/include/__iterator/ostreambuf_iterator.h
    M libcxx/include/__locale_dir/locale_base_api.h
    A libcxx/include/__locale_dir/pad_and_output.h
    M libcxx/include/__memory/allocator_arg_t.h
    M libcxx/include/__memory/allocator_traits.h
    M libcxx/include/__memory/unique_ptr.h
    M libcxx/include/__memory_resource/synchronized_pool_resource.h
    M libcxx/include/__mutex/unique_lock.h
    M libcxx/include/__ostream/basic_ostream.h
    A libcxx/include/__ostream/put_character_sequence.h
    M libcxx/include/__ranges/to.h
    M libcxx/include/__split_buffer
    M libcxx/include/__system_error/system_error.h
    A libcxx/include/__system_error/throw_system_error.h
    M libcxx/include/__thread/thread.h
    A libcxx/include/__type_traits/detected_or.h
    M libcxx/include/__utility/scope_guard.h
    M libcxx/include/__vector/vector.h
    M libcxx/include/__vector/vector_bool.h
    M libcxx/include/atomic
    M libcxx/include/barrier
    M libcxx/include/bit
    M libcxx/include/charconv
    M libcxx/include/chrono
    M libcxx/include/compare
    M libcxx/include/expected
    M libcxx/include/fstream
    M libcxx/include/future
    M libcxx/include/iomanip
    M libcxx/include/latch
    M libcxx/include/locale
    M libcxx/include/mdspan
    M libcxx/include/memory_resource
    M libcxx/include/module.modulemap
    M libcxx/include/print
    M libcxx/include/ranges
    M libcxx/include/ratio
    M libcxx/include/semaphore
    M libcxx/include/shared_mutex
    M libcxx/include/string
    M libcxx/include/strstream
    M libcxx/include/syncstream
    M libcxx/include/thread
    M libcxx/lib/abi/CHANGELOG.TXT
    M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
    A libcxx/src/.clang-tidy
    M libcxx/src/CMakeLists.txt
    M libcxx/src/barrier.cpp
    M libcxx/src/chrono.cpp
    M libcxx/src/filesystem/filesystem_clock.cpp
    R libcxx/src/legacy_pointer_safety.cpp
    M libcxx/src/random.cpp
    M libcxx/src/system_error.cpp
    M libcxx/test/benchmarks/CMakeLists.txt
    M libcxx/test/benchmarks/ContainerBenchmarks.h
    M libcxx/test/benchmarks/GenerateInput.h
    M libcxx/test/benchmarks/atomic_wait.bench.cpp
    M libcxx/test/benchmarks/atomic_wait_vs_mutex_lock.bench.cpp
    M libcxx/test/benchmarks/deque.bench.cpp
    M libcxx/test/benchmarks/stop_token.bench.cpp
    M libcxx/test/benchmarks/vector_operations.bench.cpp
    M libcxx/test/configs/cmake-bridge.cfg.in
    M libcxx/test/libcxx/clang_tidy.gen.py
    M libcxx/test/libcxx/thread/thread.stoptoken/atomic_unique_lock.pass.cpp
    M libcxx/test/libcxx/transitive_includes/cxx03.csv
    M libcxx/test/libcxx/transitive_includes/cxx11.csv
    M libcxx/test/libcxx/transitive_includes/cxx14.csv
    M libcxx/test/libcxx/transitive_includes/cxx17.csv
    M libcxx/test/libcxx/transitive_includes/cxx20.csv
    M libcxx/test/libcxx/transitive_includes/cxx23.csv
    M libcxx/test/libcxx/transitive_includes/cxx26.csv
    M libcxx/test/std/containers/sequences/vector.bool/ctor_exceptions.pass.cpp
    A libcxx/test/std/containers/sequences/vector/addressof.compile.pass.cpp
    A libcxx/test/std/containers/sequences/vector/common.h
    R libcxx/test/std/containers/sequences/vector/vector.cons/assign_copy.addressof.compile.pass.cpp
    R libcxx/test/std/containers/sequences/vector/vector.cons/assign_move.addressof.compile.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/exceptions.pass.cpp
    R libcxx/test/std/containers/sequences/vector/vector.cons/move.addressof.compile.pass.cpp
    A libcxx/test/std/containers/sequences/vector/vector.modifiers/common.h
    R libcxx/test/std/containers/sequences/vector/vector.modifiers/emplace.addressof.compile.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.modifiers/erase_iter.pass.cpp
    R libcxx/test/std/containers/sequences/vector/vector.modifiers/erase_iter_iter.addressof.compile.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.modifiers/erase_iter_iter.pass.cpp
    R libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_iter_iter_iter.addressof.compile.pass.cpp
    R libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_iter_rvalue.addressof.compile.pass.cpp
    R libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_iter_size_value.addressof.compile.pass.cpp
    R libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_iter_value.addressof.compile.pass.cpp
    R libcxx/test/std/containers/sequences/vector/vector.special/swap.addressof.compile.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/native_handle_test_helpers.h
    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/futures/futures.async/async.pass.cpp
    M libcxx/test/std/thread/thread.semaphore/max.pass.cpp
    R libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/operator[].pass.cpp
    A libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/subscript_operator.pass.cpp
    M libcxx/test/std/utilities/charconv/charconv.msvc/test.pass.cpp
    M libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_array.pass.cpp
    M libcxx/test/std/utilities/utility/pairs/pairs.pair/ctor.default.pass.cpp
    M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
    M libcxx/utils/ci/buildkite-pipeline.yml
    M libcxx/utils/ci/docker-compose.yml
    M libcxx/utils/ci/run-buildbot-container
    M libcxx/utils/synchronize_csv_status_files.py
    M libunwind/src/CMakeLists.txt
    M libunwind/src/UnwindCursor.hpp
    R lld/CODE_OWNERS.TXT
    M lld/COFF/Config.h
    M lld/COFF/DLL.cpp
    M lld/COFF/DebugTypes.cpp
    M lld/COFF/Driver.cpp
    M lld/COFF/DriverUtils.cpp
    M lld/COFF/ICF.cpp
    M lld/COFF/InputFiles.cpp
    M lld/COFF/InputFiles.h
    M lld/COFF/PDB.cpp
    M lld/COFF/SymbolTable.cpp
    M lld/COFF/Symbols.cpp
    M lld/COFF/Symbols.h
    M lld/COFF/Writer.cpp
    M lld/Common/ErrorHandler.cpp
    M lld/ELF/AArch64ErrataFix.cpp
    M lld/ELF/ARMErrataFix.cpp
    M lld/ELF/Arch/AArch64.cpp
    M lld/ELF/Arch/AMDGPU.cpp
    M lld/ELF/Arch/ARM.cpp
    M lld/ELF/Arch/AVR.cpp
    M lld/ELF/Arch/Hexagon.cpp
    M lld/ELF/Arch/LoongArch.cpp
    M lld/ELF/Arch/Mips.cpp
    M lld/ELF/Arch/MipsArchTree.cpp
    M lld/ELF/Arch/PPC.cpp
    M lld/ELF/Arch/PPC64.cpp
    M lld/ELF/Arch/RISCV.cpp
    M lld/ELF/Arch/SPARCV9.cpp
    M lld/ELF/Arch/SystemZ.cpp
    M lld/ELF/Arch/X86.cpp
    M lld/ELF/Arch/X86_64.cpp
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/DriverUtils.cpp
    M lld/ELF/ICF.cpp
    M lld/ELF/InputFiles.cpp
    M lld/ELF/InputFiles.h
    M lld/ELF/InputSection.cpp
    M lld/ELF/InputSection.h
    M lld/ELF/LTO.cpp
    M lld/ELF/LTO.h
    M lld/ELF/LinkerScript.cpp
    M lld/ELF/LinkerScript.h
    M lld/ELF/MapFile.cpp
    M lld/ELF/MarkLive.cpp
    M lld/ELF/OutputSections.cpp
    M lld/ELF/OutputSections.h
    M lld/ELF/Relocations.cpp
    M lld/ELF/Relocations.h
    M lld/ELF/ScriptLexer.cpp
    M lld/ELF/ScriptParser.cpp
    M lld/ELF/Symbols.cpp
    M lld/ELF/Symbols.h
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h
    M lld/ELF/Target.cpp
    M lld/ELF/Target.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/Driver.h
    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/InputSection.h
    M lld/MachO/LTO.cpp
    M lld/MachO/Options.td
    M lld/MachO/SyntheticSections.cpp
    M lld/MachO/SyntheticSections.h
    M lld/MachO/Target.h
    M lld/MachO/Writer.cpp
    A lld/Maintainers.md
    M lld/MinGW/Driver.cpp
    M lld/MinGW/Options.td
    M lld/docs/ReleaseNotes.rst
    M lld/include/lld/Common/ErrorHandler.h
    M lld/include/lld/Common/LLVM.h
    M lld/test/COFF/arm64ec-delayimport.test
    A lld/test/COFF/arm64ec-invalid-name.s
    M lld/test/COFF/arm64ec.test
    A lld/test/COFF/deploadflag-cfg-short.s
    M lld/test/ELF/aarch64-abs64-dyn.s
    M lld/test/ELF/aarch64-cortex-a53-843419-address.s
    M lld/test/ELF/aarch64-cortex-a53-843419-large.s
    M lld/test/ELF/aarch64-cortex-a53-843419-large2.s
    M lld/test/ELF/aarch64-cortex-a53-843419-nopatch.s
    M lld/test/ELF/aarch64-cortex-a53-843419-recognize.s
    M lld/test/ELF/aarch64-cortex-a53-843419-thunk-align.s
    M lld/test/ELF/aarch64-cortex-a53-843419-thunk.s
    M lld/test/ELF/aarch64-cortex-a53-843419-tlsrelax.s
    M lld/test/ELF/aarch64-feature-pauth.s
    M lld/test/ELF/aarch64-fpic-abs16.s
    M lld/test/ELF/aarch64-fpic-add_abs_lo12_nc.s
    M lld/test/ELF/aarch64-fpic-adr_prel_lo21.s
    M lld/test/ELF/aarch64-fpic-adr_prel_pg_hi21.s
    M lld/test/ELF/aarch64-fpic-got.s
    M lld/test/ELF/aarch64-fpic-ldst32_abs_lo12_nc.s
    M lld/test/ELF/aarch64-fpic-ldst64_abs_lo12_nc.s
    M lld/test/ELF/aarch64-fpic-ldst8_abs_lo12_nc.s
    M lld/test/ELF/aarch64-fpic-prel16.s
    M lld/test/ELF/aarch64-fpic-prel32.s
    M lld/test/ELF/aarch64-fpic-prel64.s
    M lld/test/ELF/aarch64-gnu-ifunc-address.s
    M lld/test/ELF/aarch64-gnu-ifunc-nonpreemptable.s
    M lld/test/ELF/aarch64-gnu-ifunc-nonpreemptable2.s
    M lld/test/ELF/aarch64-gnu-ifunc-nosym.s
    M lld/test/ELF/aarch64-gnu-ifunc-plt.s
    M lld/test/ELF/aarch64-gnu-ifunc.s
    M lld/test/ELF/aarch64-gnu-ifunc2.s
    M lld/test/ELF/aarch64-got-weak-undef.s
    M lld/test/ELF/aarch64-ifunc-bti.s
    M lld/test/ELF/aarch64-lo12-alignment.s
    M lld/test/ELF/aarch64-memtag-android-abi.s
    M lld/test/ELF/aarch64-memtag-globals.s
    A lld/test/ELF/aarch64-thunk-bti-multipass.s
    M lld/test/ELF/aarch64-thunk-bti.s
    M lld/test/ELF/aarch64-undefined-weak.s
    A lld/test/ELF/arm-rwpi-debug-relocs.s
    M lld/test/ELF/hexagon-jump-error.s
    M lld/test/ELF/hexagon.s
    M lld/test/ELF/incompatible.s
    M lld/test/ELF/invalid-eh-frame3.s
    M lld/test/ELF/invalid-eh-frame6.s
    M lld/test/ELF/invalid/broken-relaxation-x64.test
    M lld/test/ELF/invalid/x86-64-tlsdesc-gd.s
    M lld/test/ELF/linkerscript/i386-sections-max-va-overflow.s
    M lld/test/ELF/linkerscript/locationcountererr-arm-exidx.test
    M lld/test/ELF/linkerscript/sections-max-va-overflow.s
    M lld/test/ELF/linkerscript/symbol-location.s
    M lld/test/ELF/lto/riscv-attributes.ll
    A lld/test/ELF/merge-addr.s
    M lld/test/ELF/merge-reloc.s
    R lld/test/ELF/merge-relocatable.s
    R lld/test/ELF/merge-shared-str.s
    R lld/test/ELF/merge-shared.s
    R lld/test/ELF/merge-string.s
    R lld/test/ELF/merge-to-non-alloc.s
    M lld/test/ELF/pack-dyn-relocs-ifunc.s
    M lld/test/ELF/pack-dyn-relocs-loop.s
    M lld/test/ELF/pack-dyn-relocs-tls-x86-64.s
    M lld/test/ELF/reproduce.s
    M lld/test/ELF/riscv-attributes.s
    M lld/test/ELF/systemz-gotent-relax-und-dso.s
    M lld/test/ELF/systemz-gotent-relax.s
    M lld/test/ELF/systemz-plt.s
    M lld/test/ELF/systemz-tls-gd.s
    M lld/test/ELF/systemz-tls-ld.s
    M lld/test/ELF/tls-opt.s
    M lld/test/ELF/tls.s
    M lld/test/ELF/undef-multi.s
    M lld/test/ELF/undef.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/ELF/x86-64-tls-ie-err.s
    M lld/test/ELF/x86-64-tls-ie-local.s
    M lld/test/ELF/x86-64-tlsdesc-gd.s
    A lld/test/MachO/allowable-client.s
    A lld/test/MachO/cgdata-generate-merge.s
    M lld/test/MachO/icf-safe-thunks-dwarf.ll
    A lld/test/MachO/ltopasses-extension.ll
    M lld/test/MinGW/driver.test
    M lld/test/wasm/compress-relocs.ll
    M lld/test/wasm/import-table-explicit.s
    M lld/test/wasm/invalid-mvp-table-use.s
    M lld/test/wasm/lto/Inputs/libcall-archive.ll
    M lld/test/wasm/lto/libcall-archive.ll
    M lld/test/wasm/lto/stub-library-libcall.s
    M lld/test/wasm/multi-table.s
    M lld/test/wasm/tls-non-shared-memory.s
    M lld/wasm/Driver.cpp
    M lld/wasm/InputFiles.cpp
    M lld/wasm/Symbols.cpp
    M lld/wasm/Symbols.h
    M lld/wasm/SyntheticSections.cpp
    M lldb/bindings/interface/SBMemoryRegionInfoListExtensions.i
    M lldb/bindings/interface/SBTargetExtensions.i
    M lldb/bindings/interface/SBThreadExtensions.i
    M lldb/cmake/modules/LLDBConfig.cmake
    M lldb/docs/use/aarch64-linux.md
    M lldb/docs/use/links.rst
    M lldb/examples/python/templates/scripted_process.py
    M lldb/include/lldb/API/SBAddressRangeList.h
    M lldb/include/lldb/API/SBBreakpointName.h
    M lldb/include/lldb/API/SBDebugger.h
    M lldb/include/lldb/API/SBFrame.h
    M lldb/include/lldb/API/SBFunction.h
    M lldb/include/lldb/API/SBStructuredData.h
    M lldb/include/lldb/API/SBTarget.h
    M lldb/include/lldb/Breakpoint/Breakpoint.h
    M lldb/include/lldb/Core/AddressRangeListImpl.h
    M lldb/include/lldb/Core/Module.h
    M lldb/include/lldb/DataFormatters/DumpValueObjectOptions.h
    M lldb/include/lldb/Expression/UserExpression.h
    M lldb/include/lldb/Host/Editline.h
    M lldb/include/lldb/Host/MainLoopBase.h
    M lldb/include/lldb/Host/Socket.h
    M lldb/include/lldb/Host/common/TCPSocket.h
    M lldb/include/lldb/Host/common/UDPSocket.h
    M lldb/include/lldb/Host/linux/AbstractSocket.h
    M lldb/include/lldb/Host/posix/DomainSocket.h
    M lldb/include/lldb/Host/posix/MainLoopPosix.h
    M lldb/include/lldb/Host/windows/MainLoopWindows.h
    M lldb/include/lldb/Symbol/Block.h
    M lldb/include/lldb/Symbol/Function.h
    M lldb/include/lldb/Symbol/SymbolFile.h
    M lldb/include/lldb/Symbol/SymbolFileOnDemand.h
    M lldb/include/lldb/Target/LanguageRuntime.h
    M lldb/include/lldb/Target/Platform.h
    M lldb/include/lldb/Target/Process.h
    M lldb/include/lldb/Target/StackFrame.h
    M lldb/include/lldb/Target/Statistics.h
    M lldb/include/lldb/Target/Target.h
    M lldb/include/lldb/Target/ThreadPlanStack.h
    M lldb/include/lldb/Utility/CompletionRequest.h
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/packages/Python/lldbsuite/test/lldbutil.py
    M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
    M lldb/source/API/SBDebugger.cpp
    M lldb/source/API/SBFrame.cpp
    M lldb/source/API/SBFunction.cpp
    M lldb/source/API/SBTarget.cpp
    M lldb/source/API/SBValue.cpp
    M lldb/source/Breakpoint/Breakpoint.cpp
    M lldb/source/Commands/CommandObjectDWIMPrint.cpp
    M lldb/source/Commands/CommandObjectTarget.cpp
    M lldb/source/Core/AddressRangeListImpl.cpp
    M lldb/source/Core/DynamicLoader.cpp
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Core/Module.cpp
    M lldb/source/Core/PluginManager.cpp
    M lldb/source/DataFormatters/DumpValueObjectOptions.cpp
    M lldb/source/DataFormatters/ValueObjectPrinter.cpp
    M lldb/source/Expression/DWARFExpression.cpp
    M lldb/source/Expression/REPL.cpp
    M lldb/source/Expression/UserExpression.cpp
    M lldb/source/Host/common/Editline.cpp
    M lldb/source/Host/common/MainLoopBase.cpp
    M lldb/source/Host/common/Socket.cpp
    M lldb/source/Host/common/TCPSocket.cpp
    M lldb/source/Host/common/UDPSocket.cpp
    M lldb/source/Host/linux/AbstractSocket.cpp
    M lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp
    M lldb/source/Host/posix/DomainSocket.cpp
    M lldb/source/Host/posix/MainLoopPosix.cpp
    M lldb/source/Host/windows/MainLoopWindows.cpp
    M lldb/source/Interpreter/OptionGroupValueObjectDisplay.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
    M lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
    M lldb/source/Plugins/InstrumentationRuntime/UBSan/InstrumentationRuntimeUBSan.cpp
    M lldb/source/Plugins/InstrumentationRuntime/Utility/ReportRetriever.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h
    M lldb/source/Plugins/MemoryHistory/asan/MemoryHistoryASan.cpp
    M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
    M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
    M lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp
    M lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp
    M lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp
    M lldb/source/Plugins/Process/Windows/Common/DebuggerThread.h
    M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
    M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
    M lldb/source/Plugins/Process/elf-core/ProcessElfCore.h
    M lldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp
    M lldb/source/Plugins/Process/elf-core/ThreadElfCore.h
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
    M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/CMakeLists.txt
    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/DWARFDebugInfoEntry.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h
    R lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.cpp
    R lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
    M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
    M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h
    M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
    M lldb/source/Symbol/Block.cpp
    M lldb/source/Symbol/Function.cpp
    M lldb/source/Symbol/SymbolContext.cpp
    M lldb/source/Symbol/SymbolFileOnDemand.cpp
    M lldb/source/Target/LanguageRuntime.cpp
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/RegisterContextUnwind.cpp
    M lldb/source/Target/StackFrame.cpp
    M lldb/source/Target/Statistics.cpp
    M lldb/source/Target/StopInfo.cpp
    M lldb/source/Target/Target.cpp
    M lldb/source/Target/Thread.cpp
    M lldb/source/Target/ThreadPlanStack.cpp
    M lldb/source/Utility/DiagnosticsRendering.cpp
    M lldb/source/Utility/Status.cpp
    M lldb/source/ValueObject/ValueObject.cpp
    M lldb/test/API/commands/dwim-print/Makefile
    M lldb/test/API/commands/dwim-print/TestDWIMPrint.py
    R lldb/test/API/commands/dwim-print/main.c
    A lldb/test/API/commands/dwim-print/main.cpp
    M lldb/test/API/commands/expression/diagnostics/TestExprDiagnostics.py
    M lldb/test/API/commands/expression/fixits/TestFixIts.py
    M lldb/test/API/commands/process/detach-resumes/TestDetachResumes.py
    M lldb/test/API/commands/register/register/aarch64_sme_z_registers/za_dynamic_resize/Makefile
    M lldb/test/API/commands/register/register/aarch64_sve_registers/rw_access_dynamic_resize/Makefile
    M lldb/test/API/commands/statistics/basic/TestStats.py
    A lldb/test/API/commands/statistics/basic/second.cpp
    A lldb/test/API/commands/target/anon-struct/Makefile
    A lldb/test/API/commands/target/anon-struct/TestTargetVarAnonStruct.py
    A lldb/test/API/commands/target/anon-struct/main.cpp
    M lldb/test/API/functionalities/process_save_core_minidump/Makefile
    A lldb/test/API/functionalities/scripted_process_empty_memory_region/Makefile
    A lldb/test/API/functionalities/scripted_process_empty_memory_region/TestScriptedProcessEmptyMemoryRegion.py
    A lldb/test/API/functionalities/scripted_process_empty_memory_region/dummy_scripted_process.py
    A lldb/test/API/functionalities/scripted_process_empty_memory_region/main.c
    M lldb/test/API/lang/c/stepping/TestStepAndBreakpoints.py
    A lldb/test/API/lang/cpp/forward/Makefile
    A lldb/test/API/lang/cpp/forward/TestCPPForwardDeclaration.py
    A lldb/test/API/lang/cpp/forward/foo.cpp
    A lldb/test/API/lang/cpp/forward/foo.h
    A lldb/test/API/lang/cpp/forward/main.cpp
    M lldb/test/API/lang/cpp/stl/TestStdCXXDisassembly.py
    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/linux/aarch64/mte_core_file/TestAArch64LinuxMTEMemoryTagCoreFile.py
    M lldb/test/API/linux/aarch64/non_address_bit_memory_access/TestAArch64LinuxNonAddressBitMemoryAccess.py
    M lldb/test/API/python_api/find_in_memory/TestFindInMemory.py
    M lldb/test/API/source-manager/TestSourceManager.py
    M lldb/test/API/symbol_ondemand/shared_library/TestSharedLibOnDemand.py
    A lldb/test/API/terminal/TestEditlineCompletions.py
    M lldb/test/API/tools/lldb-dap/threads/Makefile
    A lldb/test/Shell/ObjectFile/ELF/elf-dynsym.test
    M lldb/test/Shell/Register/Core/x86-32-linux-multithread.test
    M lldb/test/Shell/Register/Core/x86-64-linux-multithread.test
    A lldb/test/Shell/ScriptInterpreter/Python/sb_function_ranges.s
    A lldb/test/Shell/SymbolFile/DWARF/DW_OP_piece-O3.c
    M lldb/test/Shell/SymbolFile/DWARF/x86/debug_ranges-missing-section.s
    M lldb/test/Shell/SymbolFile/DWARF/x86/discontinuous-function.s
    A lldb/test/Shell/SymbolFile/DWARF/x86/discontinuous-inline-function.s
    A lldb/test/Shell/SymbolFile/DWARF/x86/dwp-index-cache.cpp
    M lldb/test/Shell/SymbolFile/DWARF/x86/find-basic-type.cpp
    M lldb/test/Shell/SymbolFile/DWARF/x86/member-pointers.cpp
    A lldb/test/Shell/SymbolFile/DWARF/x86/simplified-template-names.cpp
    M lldb/test/Shell/SymbolFile/NativePDB/inline_sites_live.cpp
    M lldb/test/Shell/SymbolFile/PDB/function-nested-block.test
    M lldb/test/Shell/Unwind/windows-unaligned-x86_64.test
    M lldb/tools/lldb-dap/README.md
    M lldb/tools/lldb-dap/package.json
    M lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
    M lldb/tools/lldb-dap/src-ts/extension.ts
    R lldb/tools/lldb-dap/src-ts/types.ts
    M lldb/tools/lldb-server/lldb-gdbserver.cpp
    M lldb/tools/lldb-server/lldb-platform.cpp
    M lldb/unittests/Host/MainLoopTest.cpp
    M lldb/unittests/Host/SocketTest.cpp
    M lldb/unittests/TestingSupport/Host/SocketTestUtilities.cpp
    M lldb/unittests/Utility/DiagnosticsRenderingTest.cpp
    M lldb/unittests/debugserver/RNBSocketTest.cpp
    M lldb/unittests/tools/lldb-server/tests/TestClient.cpp
    M llvm/CMakeLists.txt
    M llvm/Maintainers.md
    M llvm/cmake/config-ix.cmake
    M llvm/cmake/modules/AddLLVM.cmake
    M llvm/cmake/modules/CrossCompile.cmake
    M llvm/cmake/modules/GetHostTriple.cmake
    M llvm/docs/AMDGPUUsage.rst
    M llvm/docs/CodingStandards.rst
    M llvm/docs/DeveloperPolicy.rst
    M llvm/docs/DirectX/DXILResources.rst
    M llvm/docs/GitHub.rst
    M llvm/docs/GlobalISel/GenericOpcode.rst
    M llvm/docs/HowToAddABuilder.rst
    M llvm/docs/LangRef.rst
    M llvm/docs/NVPTXUsage.rst
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/docs/SPIRVUsage.rst
    M llvm/docs/XRay.rst
    M llvm/include/llvm-c/DebugInfo.h
    M llvm/include/llvm/ADT/APFloat.h
    M llvm/include/llvm/ADT/APInt.h
    M llvm/include/llvm/ADT/BitmaskEnum.h
    M llvm/include/llvm/ADT/DepthFirstIterator.h
    M llvm/include/llvm/ADT/PostOrderIterator.h
    M llvm/include/llvm/ADT/SmallPtrSet.h
    M llvm/include/llvm/ADT/SmallVectorExtras.h
    M llvm/include/llvm/ADT/SparseSet.h
    M llvm/include/llvm/Analysis/AliasAnalysis.h
    M llvm/include/llvm/Analysis/ConstraintSystem.h
    M llvm/include/llvm/Analysis/InlineAdvisor.h
    M llvm/include/llvm/Analysis/InlineCost.h
    M llvm/include/llvm/Analysis/InlineOrder.h
    M llvm/include/llvm/Analysis/InstSimplifyFolder.h
    M llvm/include/llvm/Analysis/InstructionSimplify.h
    M llvm/include/llvm/Analysis/MemoryBuiltins.h
    M llvm/include/llvm/Analysis/MemoryDependenceAnalysis.h
    M llvm/include/llvm/Analysis/MemoryProfileInfo.h
    M llvm/include/llvm/Analysis/MemorySSAUpdater.h
    M llvm/include/llvm/Analysis/ScalarEvolution.h
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/include/llvm/Analysis/VecFuncs.def
    M llvm/include/llvm/Analysis/VectorUtils.h
    M llvm/include/llvm/BinaryFormat/Dwarf.def
    M llvm/include/llvm/BinaryFormat/Dwarf.h
    M llvm/include/llvm/BinaryFormat/ELF.h
    M llvm/include/llvm/BinaryFormat/ELFRelocs/AArch64.def
    M llvm/include/llvm/BinaryFormat/ELFRelocs/RISCV.def
    M llvm/include/llvm/BinaryFormat/ELFRelocs/x86_64.def
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/CodeGen/EdgeBundles.h
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
    M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
    M llvm/include/llvm/CodeGen/GlobalISel/RegBankSelect.h
    M llvm/include/llvm/CodeGen/GlobalMergeFunctions.h
    M llvm/include/llvm/CodeGen/LiveDebugVariables.h
    M llvm/include/llvm/CodeGen/MachineFunction.h
    M llvm/include/llvm/CodeGen/Passes.h
    A llvm/include/llvm/CodeGen/PeepholeOptimizer.h
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/CodeGen/SelectionDAGISel.h
    A llvm/include/llvm/CodeGen/SpillPlacement.h
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/CodeGenTypes/MachineValueType.h
    M llvm/include/llvm/Config/abi-breaking.h.cmake
    M llvm/include/llvm/DebugInfo/DWARF/DWARFDie.h
    M llvm/include/llvm/DebugInfo/DWARF/DWARFTypePrinter.h
    A llvm/include/llvm/DebugInfo/GSYM/CallSiteInfo.h
    M llvm/include/llvm/DebugInfo/GSYM/FunctionInfo.h
    M llvm/include/llvm/DebugInfo/GSYM/GsymCreator.h
    M llvm/include/llvm/DebugInfo/GSYM/GsymReader.h
    M llvm/include/llvm/DebugInfo/Symbolize/Symbolize.h
    M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
    M llvm/include/llvm/ExecutionEngine/JITLink/aarch64.h
    M llvm/include/llvm/ExecutionEngine/JITLink/loongarch.h
    M llvm/include/llvm/ExecutionEngine/Orc/DebugUtils.h
    M llvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h
    A llvm/include/llvm/ExecutionEngine/Orc/LazyObjectLinkingLayer.h
    M llvm/include/llvm/ExecutionEngine/Orc/RedirectionManager.h
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h
    M llvm/include/llvm/ExecutionEngine/Orc/SymbolStringPool.h
    M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
    M llvm/include/llvm/Frontend/OpenMP/OMP.h
    M llvm/include/llvm/Frontend/OpenMP/OMP.td
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
    M llvm/include/llvm/FuzzMutate/OpDescriptor.h
    A llvm/include/llvm/IR/CmpPredicate.h
    M llvm/include/llvm/IR/ConstantRangeList.h
    M llvm/include/llvm/IR/DerivedTypes.h
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/InstVisitor.h
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/include/llvm/IR/Instruction.h
    M llvm/include/llvm/IR/Instructions.h
    M llvm/include/llvm/IR/IntrinsicInst.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/include/llvm/IR/Metadata.h
    M llvm/include/llvm/IR/Module.h
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
    A llvm/include/llvm/IR/NVVMIntrinsicFlags.h
    M llvm/include/llvm/IR/Operator.h
    M llvm/include/llvm/IR/PassManager.h
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/include/llvm/IR/StructuralHash.h
    M llvm/include/llvm/IR/Type.h
    M llvm/include/llvm/IR/VFABIDemangler.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/LineEditor/LineEditor.h
    M llvm/include/llvm/MC/MCExpr.h
    M llvm/include/llvm/MC/MCRegisterInfo.h
    M llvm/include/llvm/MCA/HardwareUnits/LSUnit.h
    M llvm/include/llvm/Object/ELF.h
    M llvm/include/llvm/Object/ELFTypes.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
    M llvm/include/llvm/ProfileData/InstrProf.h
    M llvm/include/llvm/ProfileData/InstrProfData.inc
    M llvm/include/llvm/ProfileData/InstrProfReader.h
    M llvm/include/llvm/ProfileData/InstrProfWriter.h
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/include/llvm/ProfileData/MemProfReader.h
    M llvm/include/llvm/SandboxIR/Context.h
    M llvm/include/llvm/SandboxIR/Instruction.h
    M llvm/include/llvm/SandboxIR/Region.h
    M llvm/include/llvm/SandboxIR/Tracker.h
    M llvm/include/llvm/Support/Error.h
    M llvm/include/llvm/Support/GenericDomTree.h
    M llvm/include/llvm/Support/InstructionCost.h
    M llvm/include/llvm/Support/TargetOpcodes.def
    M llvm/include/llvm/Support/TimeProfiler.h
    M llvm/include/llvm/Target/GenericOpcodes.td
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/include/llvm/TargetParser/LoongArchTargetParser.def
    M llvm/include/llvm/TargetParser/LoongArchTargetParser.h
    M llvm/include/llvm/TargetParser/RISCVTargetParser.h
    M llvm/include/llvm/TargetParser/TargetParser.h
    M llvm/include/llvm/TargetParser/Triple.h
    M llvm/include/llvm/TargetParser/X86TargetParser.def
    M llvm/include/llvm/TargetParser/X86TargetParser.h
    M llvm/include/llvm/Transforms/Coroutines/ABI.h
    M llvm/include/llvm/Transforms/IPO/MergeFunctions.h
    M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
    M llvm/include/llvm/Transforms/Instrumentation/CFGMST.h
    M llvm/include/llvm/Transforms/Instrumentation/MemProfiler.h
    M llvm/include/llvm/Transforms/Scalar/MemCpyOptimizer.h
    M llvm/include/llvm/Transforms/Scalar/SimpleLoopUnswitch.h
    M llvm/include/llvm/Transforms/Utils/Cloning.h
    A llvm/include/llvm/Transforms/Utils/ExtraPassManager.h
    M llvm/include/llvm/Transforms/Utils/LowerMemIntrinsics.h
    M llvm/include/llvm/Transforms/Utils/UnrollLoop.h
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Analysis/IVDescriptors.cpp
    M llvm/lib/Analysis/InlineAdvisor.cpp
    M llvm/lib/Analysis/InlineCost.cpp
    M llvm/lib/Analysis/InlineOrder.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Analysis/LazyValueInfo.cpp
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Analysis/MemoryBuiltins.cpp
    M llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
    M llvm/lib/Analysis/MemoryProfileInfo.cpp
    M llvm/lib/Analysis/MemorySSAUpdater.cpp
    M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Analysis/VectorUtils.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/Bitcode/Writer/CMakeLists.txt
    M llvm/lib/Bitstream/Reader/BitstreamReader.cpp
    M llvm/lib/CGData/StableFunctionMap.cpp
    M llvm/lib/CodeGen/Analysis.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/lib/CodeGen/CFIFixup.cpp
    M llvm/lib/CodeGen/CodeGen.cpp
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/EdgeBundles.cpp
    M llvm/lib/CodeGen/ExpandMemCmp.cpp
    M llvm/lib/CodeGen/ExpandVectorPredication.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelperArtifacts.cpp
    M llvm/lib/CodeGen/GlobalISel/GIMatchTableExecutor.cpp
    M llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalityPredicates.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
    M llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp
    M llvm/lib/CodeGen/GlobalMergeFunctions.cpp
    M llvm/lib/CodeGen/IntrinsicLowering.cpp
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
    M llvm/lib/CodeGen/LiveDebugVariables.cpp
    M llvm/lib/CodeGen/LiveIntervals.cpp
    M llvm/lib/CodeGen/MIRPrinter.cpp
    M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
    M llvm/lib/CodeGen/MachineBlockPlacement.cpp
    M llvm/lib/CodeGen/MachineFunctionSplitter.cpp
    M llvm/lib/CodeGen/MachineLICM.cpp
    M llvm/lib/CodeGen/MachineLateInstrsCleanup.cpp
    M llvm/lib/CodeGen/MachineOperand.cpp
    M llvm/lib/CodeGen/MachineScheduler.cpp
    M llvm/lib/CodeGen/MachineSink.cpp
    M llvm/lib/CodeGen/MachineStableHash.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/CodeGen/PeepholeOptimizer.cpp
    M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
    M llvm/lib/CodeGen/RDFGraph.cpp
    M llvm/lib/CodeGen/RegAllocBase.cpp
    M llvm/lib/CodeGen/RegAllocBasic.cpp
    M llvm/lib/CodeGen/RegAllocEvictionAdvisor.cpp
    M llvm/lib/CodeGen/RegAllocGreedy.cpp
    M llvm/lib/CodeGen/RegAllocGreedy.h
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    M llvm/lib/CodeGen/ReplaceWithVeclib.cpp
    M llvm/lib/CodeGen/SelectOptimize.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/CodeGen/SjLjEHPrepare.cpp
    M llvm/lib/CodeGen/SpillPlacement.cpp
    R llvm/lib/CodeGen/SpillPlacement.h
    M llvm/lib/CodeGen/StackSlotColoring.cpp
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    M llvm/lib/CodeGen/ValueTypes.cpp
    M llvm/lib/CodeGen/VirtRegMap.cpp
    M llvm/lib/DebugInfo/CodeView/AppendingTypeTableBuilder.cpp
    M llvm/lib/DebugInfo/CodeView/CVSymbolVisitor.cpp
    M llvm/lib/DebugInfo/CodeView/DebugCrossImpSubsection.cpp
    M llvm/lib/DebugInfo/CodeView/DebugStringTableSubsection.cpp
    M llvm/lib/DebugInfo/CodeView/DebugSubsectionVisitor.cpp
    M llvm/lib/DebugInfo/CodeView/GlobalTypeTableBuilder.cpp
    M llvm/lib/DebugInfo/CodeView/LazyRandomTypeCollection.cpp
    M llvm/lib/DebugInfo/CodeView/MergingTypeTableBuilder.cpp
    M llvm/lib/DebugInfo/CodeView/SymbolSerializer.cpp
    M llvm/lib/DebugInfo/CodeView/TypeTableCollection.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFDebugAbbrev.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFDebugAranges.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
    M llvm/lib/DebugInfo/GSYM/CMakeLists.txt
    A llvm/lib/DebugInfo/GSYM/CallSiteInfo.cpp
    M llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
    M llvm/lib/DebugInfo/GSYM/ExtractRanges.cpp
    M llvm/lib/DebugInfo/GSYM/FunctionInfo.cpp
    M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp
    M llvm/lib/DebugInfo/GSYM/GsymReader.cpp
    M llvm/lib/DebugInfo/GSYM/InlineInfo.cpp
    M llvm/lib/DebugInfo/GSYM/LookupResult.cpp
    M llvm/lib/DebugInfo/GSYM/ObjectFileTransformer.cpp
    M llvm/lib/DebugInfo/LogicalView/Core/LVElement.cpp
    M llvm/lib/DebugInfo/LogicalView/Core/LVReader.cpp
    M llvm/lib/DebugInfo/LogicalView/Core/LVSort.cpp
    M llvm/lib/DebugInfo/LogicalView/Core/LVSupport.cpp
    M llvm/lib/DebugInfo/LogicalView/LVReaderHandler.cpp
    M llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewReader.cpp
    M llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewVisitor.cpp
    M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
    M llvm/lib/DebugInfo/PDB/Native/DbiModuleList.cpp
    M llvm/lib/DebugInfo/PDB/Native/FormatUtil.cpp
    M llvm/lib/DebugInfo/PDB/Native/GlobalsStream.cpp
    M llvm/lib/DebugInfo/PDB/Native/InfoStreamBuilder.cpp
    M llvm/lib/DebugInfo/PDB/Native/LinePrinter.cpp
    M llvm/lib/DebugInfo/PDB/Native/ModuleDebugStream.cpp
    M llvm/lib/DebugInfo/PDB/Native/NamedStreamMap.cpp
    M llvm/lib/DebugInfo/PDB/Native/NativeEnumGlobals.cpp
    M llvm/lib/DebugInfo/PDB/Native/NativeEnumInjectedSources.cpp
    M llvm/lib/DebugInfo/PDB/Native/NativeEnumLineNumbers.cpp
    M llvm/lib/DebugInfo/PDB/Native/NativeEnumSymbols.cpp
    M llvm/lib/DebugInfo/PDB/Native/NativeEnumTypes.cpp
    M llvm/lib/DebugInfo/PDB/Native/NativeExeSymbol.cpp
    M llvm/lib/DebugInfo/PDB/Native/NativeSession.cpp
    M llvm/lib/DebugInfo/PDB/Native/NativeTypeArray.cpp
    M llvm/lib/DebugInfo/PDB/Native/NativeTypeUDT.cpp
    M llvm/lib/DebugInfo/PDB/Native/NativeTypeVTShape.cpp
    M llvm/lib/DebugInfo/PDB/Native/PDBFileBuilder.cpp
    M llvm/lib/DebugInfo/PDB/Native/SymbolCache.cpp
    M llvm/lib/DebugInfo/PDB/Native/TpiStream.cpp
    M llvm/lib/DebugInfo/PDB/Native/TpiStreamBuilder.cpp
    M llvm/lib/DebugInfo/PDB/PDBSymbolCompiland.cpp
    M llvm/lib/DebugInfo/PDB/PDBSymbolFunc.cpp
    M llvm/lib/DebugInfo/PDB/PDBSymbolFuncDebugStart.cpp
    M llvm/lib/DebugInfo/PDB/PDBSymbolPublicSymbol.cpp
    M llvm/lib/DebugInfo/PDB/PDBSymbolTypeBaseClass.cpp
    M llvm/lib/DebugInfo/Symbolize/Markup.cpp
    M llvm/lib/DebugInfo/Symbolize/MarkupFilter.cpp
    M llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp
    M llvm/lib/DebugInfo/Symbolize/Symbolize.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/COFF_x86_64.cpp
    M llvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp
    M llvm/lib/ExecutionEngine/JITLink/ELF.cpp
    M llvm/lib/ExecutionEngine/JITLink/ELF_loongarch.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/JITLink/loongarch.cpp
    M llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
    M llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/CompileOnDemandLayer.cpp
    M llvm/lib/ExecutionEngine/Orc/CompileUtils.cpp
    M llvm/lib/ExecutionEngine/Orc/Core.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
    A llvm/lib/ExecutionEngine/Orc/LazyObjectLinkingLayer.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/CMakeLists.txt
    M llvm/lib/ExecutionEngine/Orc/Shared/SimpleRemoteEPCUtils.cpp
    A llvm/lib/ExecutionEngine/Orc/Shared/SymbolStringPool.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/RTDyldMemoryManager.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/ConstantRangeList.cpp
    M llvm/lib/IR/Constants.cpp
    M llvm/lib/IR/DIBuilder.cpp
    M llvm/lib/IR/DIExpressionOptimizer.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/IR/Metadata.cpp
    M llvm/lib/IR/Module.cpp
    M llvm/lib/IR/ModuleSummaryIndex.cpp
    M llvm/lib/IR/Operator.cpp
    M llvm/lib/IR/RuntimeLibcalls.cpp
    M llvm/lib/IR/StructuralHash.cpp
    M llvm/lib/IR/Type.cpp
    M llvm/lib/IR/VFABIDemangler.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/LTO/LTOBackend.cpp
    M llvm/lib/LineEditor/LineEditor.cpp
    M llvm/lib/Linker/IRMover.cpp
    M llvm/lib/MC/ELFObjectWriter.cpp
    M llvm/lib/MC/GOFFObjectWriter.cpp
    M llvm/lib/MC/MCContext.cpp
    M llvm/lib/MC/MCDisassembler/Disassembler.cpp
    M llvm/lib/MC/MCDwarf.cpp
    M llvm/lib/MC/MCELFStreamer.cpp
    M llvm/lib/MC/MCExpr.cpp
    M llvm/lib/MC/MCFragment.cpp
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/MC/MCParser/COFFAsmParser.cpp
    M llvm/lib/MC/MCRegisterInfo.cpp
    M llvm/lib/MC/MCSection.cpp
    M llvm/lib/MC/MCTargetOptionsCommandFlags.cpp
    M llvm/lib/MC/MCWasmStreamer.cpp
    M llvm/lib/MC/MachObjectWriter.cpp
    M llvm/lib/MC/WasmObjectWriter.cpp
    M llvm/lib/MC/WinCOFFObjectWriter.cpp
    M llvm/lib/MCA/HardwareUnits/LSUnit.cpp
    M llvm/lib/MCA/HardwareUnits/Scheduler.cpp
    M llvm/lib/ObjCopy/Archive.cpp
    M llvm/lib/ObjCopy/COFF/COFFObject.cpp
    M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
    M llvm/lib/ObjCopy/ELF/ELFObject.cpp
    M llvm/lib/ObjCopy/MachO/MachOLayoutBuilder.cpp
    M llvm/lib/ObjCopy/MachO/MachOReader.cpp
    M llvm/lib/ObjCopy/MachO/MachOWriter.cpp
    M llvm/lib/ObjCopy/ObjCopy.cpp
    M llvm/lib/ObjCopy/XCOFF/XCOFFObjcopy.cpp
    M llvm/lib/ObjCopy/wasm/WasmObject.cpp
    M llvm/lib/ObjCopy/wasm/WasmWriter.cpp
    M llvm/lib/Object/Archive.cpp
    M llvm/lib/Object/COFFImportFile.cpp
    M llvm/lib/Object/ELF.cpp
    M llvm/lib/Object/ELFObjectFile.cpp
    M llvm/lib/Object/GOFFObjectFile.cpp
    M llvm/lib/Object/MachOObjectFile.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/RecordStreamer.h
    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/Object/XCOFFObjectFile.cpp
    M llvm/lib/ObjectYAML/ArchiveEmitter.cpp
    M llvm/lib/ObjectYAML/COFFEmitter.cpp
    M llvm/lib/ObjectYAML/CodeViewYAMLDebugSections.cpp
    M llvm/lib/ObjectYAML/CodeViewYAMLTypeHashing.cpp
    M llvm/lib/ObjectYAML/DWARFEmitter.cpp
    M llvm/lib/ObjectYAML/ELFEmitter.cpp
    M llvm/lib/ObjectYAML/ELFYAML.cpp
    M llvm/lib/ObjectYAML/GOFFEmitter.cpp
    M llvm/lib/ObjectYAML/GOFFYAML.cpp
    M llvm/lib/ObjectYAML/MachOEmitter.cpp
    M llvm/lib/ObjectYAML/MachOYAML.cpp
    M llvm/lib/ObjectYAML/MinidumpYAML.cpp
    M llvm/lib/ObjectYAML/OffloadEmitter.cpp
    M llvm/lib/ObjectYAML/XCOFFEmitter.cpp
    M llvm/lib/ObjectYAML/yaml2obj.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Passes/PassRegistry.def
    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/SandboxIR/Tracker.cpp
    M llvm/lib/Support/APFloat.cpp
    M llvm/lib/Support/ARMBuildAttrs.cpp
    M llvm/lib/Support/Compression.cpp
    M llvm/lib/Support/ConvertUTFWrapper.cpp
    M llvm/lib/Support/DAGDeltaAlgorithm.cpp
    M llvm/lib/Support/DataExtractor.cpp
    M llvm/lib/Support/FormattedStream.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/SmallPtrSet.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/AArch64.td
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64Combine.td
    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/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64LowerHomogeneousPrologEpilog.cpp
    M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
    M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
    M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.h
    M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
    M llvm/lib/Target/AArch64/AArch64Subtarget.h
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUAnnotateUniformValues.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUFeatures.td
    M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.td
    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/AMDGPULateCodeGenPrepare.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
    A llvm/lib/Target/AMDGPU/AMDGPURegBankLegalize.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankSelect.cpp
    R llvm/lib/Target/AMDGPU/AMDGPURegBankSelect.h
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
    M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/BUFInstructions.td
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    M llvm/lib/Target/AMDGPU/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/GCNHazardRecognizer.cpp
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h
    M llvm/lib/Target/AMDGPU/GCNProcessors.td
    M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
    M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.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.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/SIOptimizeVGPRLiveRange.cpp
    A llvm/lib/Target/AMDGPU/SIOptimizeVGPRLiveRange.h
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
    M llvm/lib/Target/AMDGPU/SISchedule.td
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/Target/AMDGPU/VINTERPInstructions.td
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    M llvm/lib/Target/AMDGPU/VOPCInstructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td
    M llvm/lib/Target/ARC/ARCInstrInfo.td
    M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
    M llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
    M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
    M llvm/lib/Target/ARM/ARMFrameLowering.cpp
    M llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.h
    M llvm/lib/Target/ARM/ARMInstrInfo.td
    M llvm/lib/Target/ARM/ARMInstrThumb2.td
    M llvm/lib/Target/ARM/ARMInstrVFP.td
    M llvm/lib/Target/ARM/ARMLegalizerInfo.cpp
    M llvm/lib/Target/ARM/ARMMachineFunctionInfo.h
    M llvm/lib/Target/ARM/ARMRegisterInfo.td
    M llvm/lib/Target/ARM/ARMScheduleM7.td
    M llvm/lib/Target/ARM/ARMScheduleM85.td
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
    M llvm/lib/Target/ARM/Thumb1FrameLowering.cpp
    M llvm/lib/Target/AVR/AVRAsmPrinter.cpp
    M llvm/lib/Target/AVR/AVRFrameLowering.cpp
    M llvm/lib/Target/AVR/AVRISelLowering.cpp
    M llvm/lib/Target/AVR/AVRInstrFormats.td
    M llvm/lib/Target/AVR/AVRInstrInfo.cpp
    M llvm/lib/Target/AVR/AVRInstrInfo.td
    M llvm/lib/Target/AVR/AVRRegisterInfo.cpp
    M llvm/lib/Target/AVR/AVRSubtarget.cpp
    M llvm/lib/Target/AVR/AVRTargetMachine.cpp
    M llvm/lib/Target/AVR/AVRTargetObjectFile.cpp
    M llvm/lib/Target/AVR/AsmParser/AVRAsmParser.cpp
    M llvm/lib/Target/AVR/Disassembler/AVRDisassembler.cpp
    M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp
    M llvm/lib/Target/AVR/MCTargetDesc/AVRELFObjectWriter.cpp
    M llvm/lib/Target/AVR/MCTargetDesc/AVRELFStreamer.cpp
    M llvm/lib/Target/AVR/MCTargetDesc/AVRInstPrinter.cpp
    M llvm/lib/Target/AVR/MCTargetDesc/AVRMCCodeEmitter.cpp
    M llvm/lib/Target/AVR/MCTargetDesc/AVRMCCodeEmitter.h
    M llvm/lib/Target/AVR/MCTargetDesc/AVRMCTargetDesc.cpp
    M llvm/lib/Target/BPF/AsmParser/BPFAsmParser.cpp
    M llvm/lib/Target/BPF/BPFAdjustOpt.cpp
    M llvm/lib/Target/BPF/BPFAsmPrinter.cpp
    M llvm/lib/Target/BPF/BPFCheckAndAdjustIR.cpp
    M llvm/lib/Target/BPF/BPFFrameLowering.cpp
    M llvm/lib/Target/BPF/BPFIRPeephole.cpp
    M llvm/lib/Target/BPF/BPFISelDAGToDAG.cpp
    M llvm/lib/Target/BPF/BPFISelLowering.cpp
    M llvm/lib/Target/BPF/BPFInstrInfo.td
    M llvm/lib/Target/BPF/BPFMIChecking.cpp
    M llvm/lib/Target/BPF/BPFPreserveDIType.cpp
    M llvm/lib/Target/BPF/BPFPreserveStaticOffset.cpp
    M llvm/lib/Target/BPF/BPFRegisterInfo.cpp
    M llvm/lib/Target/BPF/BPFSelectionDAGInfo.cpp
    M llvm/lib/Target/BPF/BPFTargetMachine.cpp
    M llvm/lib/Target/BPF/GISel/BPFCallLowering.cpp
    M llvm/lib/Target/BPF/GISel/BPFInstructionSelector.cpp
    M llvm/lib/Target/BPF/GISel/BPFLegalizerInfo.cpp
    M llvm/lib/Target/BPF/GISel/BPFRegisterBankInfo.cpp
    M llvm/lib/Target/BPF/MCTargetDesc/BPFAsmBackend.cpp
    M llvm/lib/Target/BPF/MCTargetDesc/BPFInstPrinter.cpp
    M llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp
    M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/DirectX/DXILFinalizeLinkage.cpp
    M llvm/lib/Target/DirectX/DXILFlattenArrays.cpp
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
    M llvm/lib/Target/DirectX/DXILShaderFlags.h
    M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
    M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
    M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
    M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.h
    M llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
    M llvm/lib/Target/Hexagon/CMakeLists.txt
    M llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp
    M llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp
    M llvm/lib/Target/Hexagon/HexagonBitTracker.cpp
    M llvm/lib/Target/Hexagon/HexagonBlockRanges.cpp
    M llvm/lib/Target/Hexagon/HexagonCFGOptimizer.cpp
    M llvm/lib/Target/Hexagon/HexagonCommonGEP.cpp
    M llvm/lib/Target/Hexagon/HexagonDepInstrInfo.td
    M llvm/lib/Target/Hexagon/HexagonGenMemAbsolute.cpp
    M llvm/lib/Target/Hexagon/HexagonGenMux.cpp
    M llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp
    M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
    M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
    M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
    M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonIntrinsics.td
    A llvm/lib/Target/Hexagon/HexagonLoadStoreWidening.cpp
    M llvm/lib/Target/Hexagon/HexagonLoopAlign.cpp
    M llvm/lib/Target/Hexagon/HexagonMCInstLower.cpp
    M llvm/lib/Target/Hexagon/HexagonMask.cpp
    M llvm/lib/Target/Hexagon/HexagonPatterns.td
    M llvm/lib/Target/Hexagon/HexagonPeephole.cpp
    M llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
    R llvm/lib/Target/Hexagon/HexagonStoreWidening.cpp
    M llvm/lib/Target/Hexagon/HexagonSubtarget.cpp
    M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
    M llvm/lib/Target/Hexagon/HexagonTfrCleanup.cpp
    M llvm/lib/Target/Hexagon/HexagonVectorLoopCarriedReuse.cpp
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonShuffler.cpp
    M llvm/lib/Target/Hexagon/RDFCopy.cpp
    M llvm/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp
    M llvm/lib/Target/Lanai/LanaiAsmPrinter.cpp
    M llvm/lib/Target/Lanai/LanaiFrameLowering.cpp
    M llvm/lib/Target/Lanai/LanaiISelDAGToDAG.cpp
    M llvm/lib/Target/Lanai/LanaiISelLowering.cpp
    M llvm/lib/Target/Lanai/LanaiInstrInfo.cpp
    M llvm/lib/Target/Lanai/LanaiInstrInfo.td
    M llvm/lib/Target/Lanai/LanaiMCInstLower.cpp
    M llvm/lib/Target/Lanai/LanaiRegisterInfo.cpp
    M llvm/lib/Target/Lanai/LanaiSelectionDAGInfo.cpp
    M llvm/lib/Target/Lanai/LanaiSubtarget.cpp
    M llvm/lib/Target/Lanai/LanaiTargetMachine.cpp
    M llvm/lib/Target/Lanai/LanaiTargetObjectFile.cpp
    M llvm/lib/Target/Lanai/MCTargetDesc/LanaiAsmBackend.cpp
    M llvm/lib/Target/Lanai/MCTargetDesc/LanaiInstPrinter.cpp
    M llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCCodeEmitter.cpp
    M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
    M llvm/lib/Target/LoongArch/Disassembler/LoongArchDisassembler.cpp
    M llvm/lib/Target/LoongArch/LoongArch.td
    M llvm/lib/Target/LoongArch/LoongArchAsmPrinter.cpp
    M llvm/lib/Target/LoongArch/LoongArchDeadRegisterDefinitions.cpp
    M llvm/lib/Target/LoongArch/LoongArchExpandAtomicPseudoInsts.cpp
    M llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    M llvm/lib/Target/LoongArch/LoongArchInstrFormats.td
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchMCInstLower.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.h
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchInstPrinter.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCCodeEmitter.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCTargetDesc.cpp
    M llvm/lib/Target/M68k/M68kISelDAGToDAG.cpp
    M llvm/lib/Target/M68k/M68kISelLowering.cpp
    M llvm/lib/Target/M68k/M68kInstrData.td
    M llvm/lib/Target/M68k/M68kInstrInfo.cpp
    M llvm/lib/Target/M68k/M68kRegisterInfo.h
    M llvm/lib/Target/MSP430/AsmParser/MSP430AsmParser.cpp
    M llvm/lib/Target/MSP430/Disassembler/MSP430Disassembler.cpp
    M llvm/lib/Target/MSP430/MCTargetDesc/MSP430AsmBackend.cpp
    M llvm/lib/Target/MSP430/MCTargetDesc/MSP430InstPrinter.cpp
    M llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCCodeEmitter.cpp
    M llvm/lib/Target/MSP430/MSP430AsmPrinter.cpp
    M llvm/lib/Target/MSP430/MSP430FrameLowering.cpp
    M llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
    M llvm/lib/Target/MSP430/MSP430ISelLowering.cpp
    M llvm/lib/Target/MSP430/MSP430InstrInfo.cpp
    M llvm/lib/Target/MSP430/MSP430RegisterInfo.cpp
    M llvm/lib/Target/MSP430/MSP430Subtarget.cpp
    M llvm/lib/Target/MSP430/MSP430TargetMachine.cpp
    M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
    M llvm/lib/Target/Mips/Disassembler/MipsDisassembler.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsInstPrinter.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsNaClELFStreamer.cpp
    M llvm/lib/Target/Mips/Mips16FrameLowering.cpp
    M llvm/lib/Target/Mips/Mips16ISelDAGToDAG.cpp
    M llvm/lib/Target/Mips/Mips16InstrInfo.cpp
    M llvm/lib/Target/Mips/Mips16RegisterInfo.cpp
    M llvm/lib/Target/Mips/MipsBranchExpansion.cpp
    M llvm/lib/Target/Mips/MipsCallingConv.td
    M llvm/lib/Target/Mips/MipsConstantIslandPass.cpp
    M llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
    M llvm/lib/Target/Mips/MipsFastISel.cpp
    M llvm/lib/Target/Mips/MipsFrameLowering.cpp
    M llvm/lib/Target/Mips/MipsISelDAGToDAG.cpp
    M llvm/lib/Target/Mips/MipsISelDAGToDAG.h
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.h
    M llvm/lib/Target/Mips/MipsInstrInfo.td
    M llvm/lib/Target/Mips/MipsMSAInstrInfo.td
    M llvm/lib/Target/Mips/MipsMulMulBugPass.cpp
    M llvm/lib/Target/Mips/MipsPreLegalizerCombiner.cpp
    M llvm/lib/Target/Mips/MipsRegisterInfo.cpp
    M llvm/lib/Target/Mips/MipsSEFrameLowering.cpp
    M llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
    M llvm/lib/Target/Mips/MipsSEISelDAGToDAG.h
    M llvm/lib/Target/Mips/MipsSEISelLowering.cpp
    M llvm/lib/Target/Mips/MipsSEInstrInfo.cpp
    M llvm/lib/Target/Mips/MipsSERegisterInfo.cpp
    M llvm/lib/Target/Mips/MipsSubtarget.cpp
    M llvm/lib/Target/Mips/MipsTargetMachine.cpp
    M llvm/lib/Target/Mips/MipsTargetObjectFile.cpp
    M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp

  Log Message:
  -----------
  Merge remote-tracking branch 'official/main' into users/meinersbur/flang_runtime_split-headers2


  Commit: c9b1c294dc55296da9fcea929b2ddadfe0091c53
      https://github.com/llvm/llvm-project/commit/c9b1c294dc55296da9fcea929b2ddadfe0091c53
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    A flang/include/flang/Runtime/io-api-consts.h
    M flang/include/flang/Runtime/io-api-funcs.h
    R flang/include/flang/Runtime/io-api.h
    M flang/lib/Lower/IO.cpp
    M flang/unittests/Runtime/ExternalIOTest.cpp
    M flang/unittests/Runtime/ListInputTest.cpp
    M flang/unittests/Runtime/LogicalFormatTest.cpp
    M flang/unittests/Runtime/Namelist.cpp
    M flang/unittests/Runtime/NumericalFormatTest.cpp
    M flang/unittests/Runtime/RuntimeCrashTest.cpp

  Log Message:
  -----------
  io-api.h -> io-api-consts.h


  Commit: bd392d22ef084d32c5b82af1010d3a4591bda0f0
      https://github.com/llvm/llvm-project/commit/bd392d22ef084d32c5b82af1010d3a4591bda0f0
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    R flang/include/flang/Runtime/io-api-funcs.h
    A flang/include/flang/Runtime/io-api.h
    M flang/runtime/extensions.cpp
    M flang/runtime/io-api-common.h
    M flang/runtime/io-api-minimal.cpp
    M flang/runtime/io-api.cpp
    M flang/runtime/io-stmt.h
    M flang/runtime/namelist.cpp

  Log Message:
  -----------
  io-api-funcs.h -> io-api.h


  Commit: c4faf0574a3cb4ec3ade2fa9b7e78125217b23d1
      https://github.com/llvm/llvm-project/commit/c4faf0574a3cb4ec3ade2fa9b7e78125217b23d1
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Runtime/array-constructor.h
    M flang/include/flang/Runtime/io-api-consts.h
    M flang/include/flang/Runtime/io-api.h
    A flang/include/flang/Runtime/iostat-consts.h
    M flang/include/flang/Runtime/iostat-funcs.h
    R flang/include/flang/Runtime/iostat.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp

  Log Message:
  -----------
  iostat.h -> iostat-consts.h


  Commit: 64bade38fd6a3e5c8c081bae92ce02f58cab799f
      https://github.com/llvm/llvm-project/commit/64bade38fd6a3e5c8c081bae92ce02f58cab799f
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    R flang/include/flang/Runtime/iostat-funcs.h
    A flang/include/flang/Runtime/iostat.h
    M flang/runtime/io-error.h
    M flang/runtime/iostat.cpp

  Log Message:
  -----------
  iostat-funcs.h -> iostat.h


  Commit: eda72ac037db0ab20dbf839c80498caab117b4f3
      https://github.com/llvm/llvm-project/commit/eda72ac037db0ab20dbf839c80498caab117b4f3
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    M flang/include/flang/Runtime/array-constructor-consts.h
    M flang/include/flang/Runtime/io-api-consts.h
    M flang/include/flang/Runtime/iostat-consts.h
    M flang/include/flang/Runtime/iostat.h

  Log Message:
  -----------
  formatting


Compare: https://github.com/llvm/llvm-project/compare/bf249123c7bc...eda72ac037db

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