[all-commits] [llvm/llvm-project] d53089: [clang][Sema] Preserve the initializer of invalid ...

agozillon via All-commits all-commits at lists.llvm.org
Fri May 3 20:04:12 PDT 2024


  Branch: refs/heads/users/agozillon/main.openmpmlir-add-new-arguments-to-map_info-to-help-support-record-type-maps
  Home:   https://github.com/llvm/llvm-project
  Commit: d5308949cf884d8e4b971d51a8b4f73584c4adec
      https://github.com/llvm/llvm-project/commit/d5308949cf884d8e4b971d51a8b4f73584c4adec
  Author: Nathan Ridge <zeratul976 at hotmail.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M clang/lib/Sema/JumpDiagnostics.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/AST/ast-dump-recovery.cpp

  Log Message:
  -----------
  [clang][Sema] Preserve the initializer of invalid VarDecls (#88645)

Fixes https://github.com/clangd/clangd/issues/1821


  Commit: a35d7d7d124172632a9a108f76deba647f4da863
      https://github.com/llvm/llvm-project/commit/a35d7d7d124172632a9a108f76deba647f4da863
  Author: zhongyunde 00443407 <zhongyunde at huawei.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/mul_pow2.ll

  Log Message:
  -----------
  [AArch64][SelectionDAG] Correct the shift amounts bound

Accord D152827, when the shift amounts is 4 or less, they are
cheap as a move.


  Commit: a6bdd6df23613c3ee5b3d7c31b1cf1fb78403a15
      https://github.com/llvm/llvm-project/commit/a6bdd6df23613c3ee5b3d7c31b1cf1fb78403a15
  Author: zhongyunde 00443407 <zhongyunde at huawei.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/mul_pow2.ll

  Log Message:
  -----------
  [AArch64][SelectionDAG] Lower multiplication by a constant to shl+add+shl+add

Change the costmodel to lower a = b * C where C = (1 + 2^m) * 2^n + 1 to
          add   w8, w0, w0, lsl #m
          add   w0, w0, w8, lsl #n
Note: The latency of add can vary depending on the shirt amount
      They are cheap as a move when the shift amounts is 4 or less.
Fix part of https://github.com/llvm/llvm-project/issues/89430


  Commit: 1d77eb49a4278521180146c977995bf0356f69c3
      https://github.com/llvm/llvm-project/commit/1d77eb49a4278521180146c977995bf0356f69c3
  Author: Chen Zheng <czhengsz at cn.ibm.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/PowerPC/legalize-vaarg.ll

  Log Message:
  -----------
  Revert "[PPC] [NFC] add testcase for more store forwarding"

This reverts commit 29c7d1a60c9d45e82f08cd7487178846ed5f9c6d.
The store forwarding patch https://github.com/llvm/llvm-project/pull/87465
is closed.


  Commit: 919187871d142496d53bca8732677e0811b32409
      https://github.com/llvm/llvm-project/commit/919187871d142496d53bca8732677e0811b32409
  Author: Kai Luo <lkail at cn.ibm.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

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

  Log Message:
  -----------
  [PowerPC] Use `SmallSetVector` to enable deterministic build (#89875)

This is to address the issue in
https://lab.llvm.org/buildbot/#/builders/54.
`SmallSetVector` interfaces as set and can be iterated in a
deterministic order.


  Commit: 1b54805dfcebe02f28e23f655c8fbf4dc610aa70
      https://github.com/llvm/llvm-project/commit/1b54805dfcebe02f28e23f655c8fbf4dc610aa70
  Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M lldb/docs/resources/test.rst

  Log Message:
  -----------
  [lldb][docs] Update instructions for debugging API tests (#89979)


  Commit: d6cc8d45b3da91b8d48c59fa86b6f1dba9c3e87b
      https://github.com/llvm/llvm-project/commit/d6cc8d45b3da91b8d48c59fa86b6f1dba9c3e87b
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

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

  Log Message:
  -----------
  [buildbot] VE builders: disable ctx_profile (#89969)


  Commit: 10661ba2403f73cd2c4b76ebd177fdcf9261cbf2
      https://github.com/llvm/llvm-project/commit/10661ba2403f73cd2c4b76ebd177fdcf9261cbf2
  Author: Nathan Lanza <nathanlanza at gmail.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M clang/CMakeLists.txt
    M clang/include/clang/CIR/CMakeLists.txt
    A clang/include/clang/CIR/Dialect/CMakeLists.txt
    A clang/include/clang/CIR/Dialect/IR/CIRDialect.h
    A clang/include/clang/CIR/Dialect/IR/CIRDialect.td
    A clang/include/clang/CIR/Dialect/IR/CIROps.td
    A clang/include/clang/CIR/Dialect/IR/CMakeLists.txt
    M clang/lib/CIR/CMakeLists.txt
    A clang/lib/CIR/Dialect/CMakeLists.txt
    A clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    A clang/lib/CIR/Dialect/IR/CMakeLists.txt

  Log Message:
  -----------
  [CIR][NFC] Add scaffolding for the CIR dialect and CIROps.td

This adds no real content, it just incrementally adds some scaffolding
necessary to enable a future patch to just add our first few ops.

Test Plan:
```
$ cmake -Sllvm -Bbuild -DCLANG_ENABLE_CIR=1 \
  -DLLVM_ENABLE_PROJECTS='clang;mlir' \
  -DCMAKE_BUILD_TYPE=Release -GNinja
$ ninja -C build check-clang
$ ninja -C build MLIRCIROpsIncGen
$ ninja -C build MLIRCIR
```

Reviewers: AaronBallman, erichkeane, bcardosolopes

Reviewed By: erichkeane, AaronBallman, bcardosolopes

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


  Commit: 090c92e01586fc515d584b1367b1b5928277c7f2
      https://github.com/llvm/llvm-project/commit/090c92e01586fc515d584b1367b1b5928277c7f2
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/test/X86/cdsplit-symbol-names.s

  Log Message:
  -----------
  [BOLT] Emit synthetic FILE symbol for local cold fragments of global symbols (#89794)


  Commit: 865b73ae457bcc5fb121f8180d4cfeba57e6f2ac
      https://github.com/llvm/llvm-project/commit/865b73ae457bcc5fb121f8180d4cfeba57e6f2ac
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/shift.ll

  Log Message:
  -----------
  [InstCombine] Add multi-use tests for shift-of-shift transform (NFC)

Also drop irrelevant function attributes from tests.


  Commit: 4b10ade1a6afa1fcff5752aaebd86a1611d499d7
      https://github.com/llvm/llvm-project/commit/4b10ade1a6afa1fcff5752aaebd86a1611d499d7
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

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

  Log Message:
  -----------
  [clang-format] Annotate enum braces as BK_Block (#89871)

Fixes #89759.


  Commit: 873889b7fa23434876533c603e687fc70396b0ab
      https://github.com/llvm/llvm-project/commit/873889b7fa23434876533c603e687fc70396b0ab
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp

  Log Message:
  -----------
  [InstCombine] Extract logic for "emit offset and rewrite gep" (NFC)


  Commit: 7a77b763af3b6ac3218b9cf574d7d65f3196a4ec
      https://github.com/llvm/llvm-project/commit/7a77b763af3b6ac3218b9cf574d7d65f3196a4ec
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/sub.ll

  Log Message:
  -----------
  [InstCombine] Add additional multi-use test for sub of gep (NFC)

A case where still performing the fold is clearly profitable.


  Commit: fd5f06eb6d8d8b05846c8d7bd2431079ef707b37
      https://github.com/llvm/llvm-project/commit/fd5f06eb6d8d8b05846c8d7bd2431079ef707b37
  Author: Vassil Vassilev <v.g.vassilev at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang/test/Interpreter/fail.cpp
    M clang/tools/clang-repl/ClangRepl.cpp

  Log Message:
  -----------
  [clang-repl] Fix the process return code if diagnostics occurred. (#89879)

Should fix the failure seen in the pre-merge infrastructure of #89804.


  Commit: c2a98fdeb3aede1a8db492a6ea30f4fa85b60edc
      https://github.com/llvm/llvm-project/commit/c2a98fdeb3aede1a8db492a6ea30f4fa85b60edc
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/DeclBase.h
    A clang/include/clang/AST/DeclID.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/ExternalASTSource.h
    M clang/include/clang/Frontend/ASTUnit.h
    M clang/include/clang/Frontend/MultiplexConsumer.h
    M clang/include/clang/Sema/MultiplexExternalSemaSource.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTDeserializationListener.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTRecordReader.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/include/clang/Serialization/ModuleFile.h
    M clang/lib/AST/ASTContext.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/DeclOpenMP.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/ExternalASTSource.cpp
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/lib/Frontend/MultiplexConsumer.cpp
    M clang/lib/Sema/MultiplexExternalSemaSource.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp

  Log Message:
  -----------
  [NFC] Move DeclID from serialization/ASTBitCodes.h to AST/DeclID.h (#89873)

Previously, the DeclID is defined in serialization/ASTBitCodes.h under
clang::serialization namespace. However, actually the DeclID is not
purely used in serialization part. The DeclID is already widely used in
AST and all around the clang project via classes like `LazyPtrDecl` or
calling `ExternalASTSource::getExernalDecl()`. All such uses are via the
raw underlying type of `DeclID` as `uint32_t`. This is not pretty good.

This patch moves the DeclID class family to a new header `AST/DeclID.h`
so that the whole project can use the wrapped class `DeclID`,
`GlobalDeclID` and `LocalDeclID` instead of the raw underlying type.
This can improve the readability and the type safety.


  Commit: 42070a5c092ed420bf92ebf38229c594885e94c7
      https://github.com/llvm/llvm-project/commit/42070a5c092ed420bf92ebf38229c594885e94c7
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/AST/DeclFriend.h
    M clang/include/clang/AST/DeclID.h
    M clang/include/clang/AST/DeclObjC.h
    M clang/include/clang/AST/DeclOpenMP.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/ExternalASTSource.h
    M clang/include/clang/Frontend/ASTUnit.h
    M clang/include/clang/Frontend/MultiplexConsumer.h
    M clang/include/clang/Sema/MultiplexExternalSemaSource.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTDeserializationListener.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/include/clang/Serialization/ModuleFile.h
    M clang/lib/AST/ASTContext.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/DeclOpenMP.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/ExternalASTSource.cpp
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/lib/Frontend/MultiplexConsumer.cpp
    M clang/lib/Sema/MultiplexExternalSemaSource.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp

  Log Message:
  -----------
  [NFC] [Serialization] Avoid using DeclID directly as much as possible

This patch tries to remove all the direct use of DeclID except the real
low level reading and writing. All the use of DeclID is converted to
the use of LocalDeclID or GlobalDeclID. This is helpful to increase the
readability and type safety.


  Commit: 2c9e2e9f0b75d6b023a388564092cc852ba29bd5
      https://github.com/llvm/llvm-project/commit/2c9e2e9f0b75d6b023a388564092cc852ba29bd5
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zba.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zbb-zbkb.ll
    M llvm/test/CodeGen/RISCV/rv64i-demanded-bits.ll
    M llvm/test/CodeGen/RISCV/rv64zba.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll

  Log Message:
  -----------
  [RISCV][ISel] Eliminate `andi rd, rs1, -1` instructions (#89976)

Inspired by https://github.com/llvm/llvm-project/pull/89966, this patch
handles the special case `binop_allwusers<and> GPR:$rs1, 0xffffffff ->
copy $rs1` to avoid creating redundant `andi rd, rs1, -1` instructions.


  Commit: 011a65353b8b4dc018541f86356f2dfa0f124f1a
      https://github.com/llvm/llvm-project/commit/011a65353b8b4dc018541f86356f2dfa0f124f1a
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir

  Log Message:
  -----------
  [RISCV] Split out VSETVLIInfo AVL states to be more explicit (#89964)

We currently use AVLIsReg to represent VLMAX as well as a dummy value
for
whenever the VL is ignored by vmv.x.s. This splits them out into
separate
states so that AVLIsReg is always a virtual register and should help
with
tracking the definition inside VSETVLIInfo directly in #89180.

This is almost an NFC but it sets the kill flag for x0 in more places.


  Commit: 72b58146b14308c0c745111f082fc6354cefda22
      https://github.com/llvm/llvm-project/commit/72b58146b14308c0c745111f082fc6354cefda22
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/AST/DeclFriend.h
    M clang/include/clang/AST/DeclID.h
    M clang/include/clang/AST/DeclObjC.h
    M clang/include/clang/AST/DeclOpenMP.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/ExternalASTSource.h
    M clang/include/clang/Frontend/ASTUnit.h
    M clang/include/clang/Frontend/MultiplexConsumer.h
    M clang/include/clang/Sema/MultiplexExternalSemaSource.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTDeserializationListener.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/include/clang/Serialization/ModuleFile.h
    M clang/lib/AST/ASTContext.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/DeclOpenMP.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/ExternalASTSource.cpp
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/lib/Frontend/MultiplexConsumer.cpp
    M clang/lib/Sema/MultiplexExternalSemaSource.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp

  Log Message:
  -----------
  Revert "[NFC] [Serialization] Avoid using DeclID directly as much as possible"

This reverts commit 42070a5c092ed420bf92ebf38229c594885e94c7.

I forgot to touch lldb.


  Commit: d86cc73bbfd9a22d9a0d498d72c9b2ee235128e9
      https://github.com/llvm/llvm-project/commit/d86cc73bbfd9a22d9a0d498d72c9b2ee235128e9
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/AST/DeclFriend.h
    M clang/include/clang/AST/DeclID.h
    M clang/include/clang/AST/DeclObjC.h
    M clang/include/clang/AST/DeclOpenMP.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/ExternalASTSource.h
    M clang/include/clang/Frontend/ASTUnit.h
    M clang/include/clang/Frontend/MultiplexConsumer.h
    M clang/include/clang/Sema/MultiplexExternalSemaSource.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTDeserializationListener.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/include/clang/Serialization/ModuleFile.h
    M clang/lib/AST/ASTContext.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/DeclOpenMP.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/ExternalASTSource.cpp
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/lib/Frontend/MultiplexConsumer.cpp
    M clang/lib/Sema/MultiplexExternalSemaSource.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
    M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp

  Log Message:
  -----------
  [NFC] [Serialization] Avoid using DeclID directly as much as possible

This patch tries to remove all the direct use of DeclID except the real
low level reading and writing. All the use of DeclID is converted to
the use of LocalDeclID or GlobalDeclID. This is helpful to increase the
readability and type safety.


  Commit: 565bdb55453f0bdd59d9325b8a748cb42e6df95b
      https://github.com/llvm/llvm-project/commit/565bdb55453f0bdd59d9325b8a748cb42e6df95b
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M lldb/include/lldb/API/SBTarget.h
    M lldb/include/lldb/API/SBType.h
    M lldb/include/lldb/API/SBValue.h
    M lldb/include/lldb/Symbol/CompilerDecl.h
    M lldb/include/lldb/Symbol/CompilerType.h
    M lldb/include/lldb/Symbol/TypeSystem.h
    M lldb/source/API/SBType.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
    M lldb/source/Symbol/CompilerDecl.cpp
    M lldb/source/Symbol/CompilerType.cpp
    M lldb/test/API/python_api/type/TestTypeList.py
    M lldb/test/API/python_api/type/main.cpp

  Log Message:
  -----------
  [lldb] Add SB API to access static constexpr member values (#89730)

The main change is the addition of a new SBTypeStaticField class,
representing a static member of a class. It can be retrieved created
through SBType::GetStaticFieldWithName. It contains several methods
(GetName, GetMangledName, etc.) whose meaning is hopefully obvious. The
most interesting method is
	lldb::SBValue GetConstantValue(lldb::SBTarget)
which returns a the value of the field -- if it is a compile time
constant. The reason for that is that only constants have their values
represented in the clang AST.

For non-constants, we need to go back to the module containing that
constant, and ask retrieve the associated ValueObjectVariable. That's
easy enough if the we are still in the type system of the module
(because then the type system will contain the pointer to the module
symbol file), but it's hard when the type has been copied into another
AST (e.g. during expression evaluation). To do that we would need to
walk the ast import chain backwards to find the source TypeSystem, and I
haven't found a nice way to do that.

Another possibility would be to use the mangled name of the variable to
perform a lookup (in all modules). That is sort of what happens when
evaluating the variable in an expression (which does work), but I did
not want to commit to that implementation as it's not necessary for my
use case (and if anyone wants to, he can use the GetMangledName function
and perform the lookup manually).

The patch adds a couple of new TypeSystem functions to surface the
information needed to implement this functionality.


  Commit: 8bfdbb9570c87fc98c9d6b41409e4c59ba285f51
      https://github.com/llvm/llvm-project/commit/8bfdbb9570c87fc98c9d6b41409e4c59ba285f51
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp

  Log Message:
  -----------
  [InstCombine] Remove redundant shift folds (NFCI) (#90016)

These are already handled by canEvaluateShifted/getShiftedValue (one-use
only), and also in reassociateShiftAmtsOfTwoSameDirectionShifts (also
multi-use), so let's at least get rid of the *third* implementation...


  Commit: 9b0651f5ae6510577302ea527b2cc79e80ec9ccc
      https://github.com/llvm/llvm-project/commit/9b0651f5ae6510577302ea527b2cc79e80ec9ccc
  Author: martinboehme <mboehme at google.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp

  Log Message:
  -----------
  [clang][dataflow] Don't propagate result objects in nested declarations. (#89903)

Trying to do so can cause crashes -- see newly added test and the
comments in
the fix.


  Commit: b9208ce318907b1a5ea4ad0d2aa4414dfba0616c
      https://github.com/llvm/llvm-project/commit/b9208ce318907b1a5ea4ad0d2aa4414dfba0616c
  Author: martinboehme <mboehme at google.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp

  Log Message:
  -----------
  [clang][dataflow] Crash fix for `widenDistinctValues()`. (#89895)

We used to crash if the previous iteration contained a `BoolValue` and
the
current iteration contained an `IntegerValue`. The accompanying test
sets up
this situation -- see comments there for details.

While I'm here, clean up the tests for integral casts to use the test
helpers we
have available now. I was looking at these tests to understand how we
handle
integral casts, and the test helpers make the tests easier to read.


  Commit: ed6e6afd5938e7d04862eb5ae2d09eb723663f25
      https://github.com/llvm/llvm-project/commit/ed6e6afd5938e7d04862eb5ae2d09eb723663f25
  Author: Hans <hans at hanshq.net>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/Coroutines/coro-split-musttail10.ll
    R llvm/test/Transforms/Coroutines/coro-split-musttail11.ll

  Log Message:
  -----------
  [coro] Merge two almost identical tests (#89928)

llvm/test/Transforms/Coroutines/coro-split-musttail10.ll and
coro-split-musttail11.ll were the same except for the triple.

Also add a requires clause.


  Commit: 08949464ac4de9bac2a415fb3c0963060936ec17
      https://github.com/llvm/llvm-project/commit/08949464ac4de9bac2a415fb3c0963060936ec17
  Author: Hans <hans at hanshq.net>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail1.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail10.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail11.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail12.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail13.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail2.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail3.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail4.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail5.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail6.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail7.ll

  Log Message:
  -----------
  [coro][pgo] Remove redundant coroutine test files (#89620)

Each of these is a copy of a test under Transforms/Coroutines/

The PGO functionality is already covered by multiple runlines (pgo and
no pgo) in the original files, so the copies add no new coverage, only
maintenance problems.


  Commit: 5e767bd7d16dcdfc1ad8b32ba399f969dd940f57
      https://github.com/llvm/llvm-project/commit/5e767bd7d16dcdfc1ad8b32ba399f969dd940f57
  Author: Daniel M. Katz <katzdm at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

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

  Log Message:
  -----------
  Push immediate function context while transforming lambdas in templates. (#89702)

The following program is [accepted](https://godbolt.org/z/oEc34Trh4) by
Clang, EDG, and MSVC, but rejected by Clang:
```cpp
#include <vector>

consteval auto fn() { return std::vector {1,2,3}; }

template <typename T = int>
void fn2() {
    (void)[]() consteval {
      for (auto e : fn()) {}
    };
}

void caller() {
    fn2();
}
```

The stated diagnostic is:
```cpp
<source>:8:21: error: call to consteval function 'fn' is not a constant expression
    8 |       for (auto e : fn()) {}
```

The body of the lambda should be evaluated as within an immediate
function context when the lambda is marked as `consteval`.

Co-authored-by: cor3ntin <corentinjabot at gmail.com>


  Commit: 51f6570eba69b7030f2845e30b7973bd9ac6c522
      https://github.com/llvm/llvm-project/commit/51f6570eba69b7030f2845e30b7973bd9ac6c522
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M lldb/docs/index.rst
    R lldb/docs/lldb-platform-packets.txt
    A lldb/docs/resources/lldbplatformpackets.md

  Log Message:
  -----------
  [lldb][Docs] Convert platform packets doc to Markdown (#89913)

As before, script did most of the work, hand edits after that.

There's a lot more we can do dedupe this and the packets doc, this will
come in a follow up PR.


  Commit: fe47e8ff3ae7fc8975eaade6bfa6679737c28b93
      https://github.com/llvm/llvm-project/commit/fe47e8ff3ae7fc8975eaade6bfa6679737c28b93
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang/lib/Frontend/ASTUnit.cpp

  Log Message:
  -----------
  [NFC] [ASTUnit] [Serialization] Transalte local decl ID to global decl ID before consuming

Discovered from
https://github.com/llvm/llvm-project/commit/d86cc73bbfd9a22d9a0d498d72c9b2ee235128e9.

There is a potential issue of using DeclID in ASTUnit. ASTUnit may
record the declaration ID from ASTWriter. And after loading the
preamble, the ASTUnit may consume the recorded declaration ID directly
in ExternalASTSource. This is not good. According to the design, all
local declaration ID consumed in ASTReader need to be translated by
`ASTReader::getGlobaldeclID()`.

This will be problematic if we changed the encodings of declaration IDs or if we
make preamble to work more complexly.


  Commit: 7bc0177fc73a75f5195b09ee9d46579eb43c79c4
      https://github.com/llvm/llvm-project/commit/7bc0177fc73a75f5195b09ee9d46579eb43c79c4
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/Transforms/CharacterConversion.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] run character conversion pass on all top level ops (#89910)

See RFC:

https://discourse.llvm.org/t/rfc-add-an-interface-for-top-level-container-operations

Some of the changes are from moving declaration and definition of the
constructor function into tablegen (as requested in code review when
altering another pass).


  Commit: 92f4f0b061651fc57e8434f0d651851878e0eab5
      https://github.com/llvm/llvm-project/commit/92f4f0b061651fc57e8434f0d651851878e0eab5
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/Transforms/SimplifyRegionLite.cpp

  Log Message:
  -----------
  [flang][NFC] Use tablegen to create simplifyRegionLite constructor (#89957)

This is a ModuleOp pass anyway so it doesn't need to be run on
particular top level operations.


  Commit: 81442f8d97e50f5d8c33136b105b478a8137685e
      https://github.com/llvm/llvm-project/commit/81442f8d97e50f5d8c33136b105b478a8137685e
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp

  Log Message:
  -----------
  [flang][NFC] Use tablegen to create SimplifyIntrinsics constructor (#89963)

This pass runs on ModuleOp, internally walking all func::CallOps so it
shouldn't need anything special to work on other top level operations.


  Commit: 87ec4ab72cb3ae27ac08d040b2825ee01214fe75
      https://github.com/llvm/llvm-project/commit/87ec4ab72cb3ae27ac08d040b2825ee01214fe75
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang/lib/CodeGen/CGDebugInfo.cpp
    A clang/test/CodeGenCXX/dependent-template-alias.cpp

  Log Message:
  -----------
  [Clang] Fall back to DW_TAG_typedef for instantiation dependent template aliases (#90032)

Workaround for issue #89774 until it can be properly fixed.

When `-gtemplate-alias` is specified Clang emits a DW_TAG_template_alias
for template aliases. This patch avoids an assertion failure by falling
back to the `-gno-template-alias` (default) behaviour, emitting a
DW_TAG_typedef, if the alias is instantiation dependent.


  Commit: d5f2753067df89ed4c49d387deb0b3a6b59f8175
      https://github.com/llvm/llvm-project/commit/d5f2753067df89ed4c49d387deb0b3a6b59f8175
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    A llvm/test/Analysis/LoopAccessAnalysis/different-strides-safe-dep-due-to-backedge-taken-count.ll

  Log Message:
  -----------
  [LAA] Tests with different strides where BTC can rule out dependence.

Tests to add support for different strides with isSafeDependenceDistance
as follow-up to https://github.com/llvm/llvm-project/pull/88039.


  Commit: 2125080fd5e12d54b745e36db6b68ec8a1377c33
      https://github.com/llvm/llvm-project/commit/2125080fd5e12d54b745e36db6b68ec8a1377c33
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

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

  Log Message:
  -----------
  [RISCV][NFC] Undef CASE_RVV_OPCODE* macros after using


  Commit: 2c5d7a888589a608a4cd6adc34f19a65dc4551af
      https://github.com/llvm/llvm-project/commit/2c5d7a888589a608a4cd6adc34f19a65dc4551af
  Author: Jannik Silvanus <37809848+jasilvanus at users.noreply.github.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

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

  Log Message:
  -----------
  [clang-format] Remove YAML hack to emit a BasedOnStyle comment (#89228)

When serializing a formatting style to YAML, we were emitting a comment
`# BasedOnStyle: <style>` if the serialized formatting style matches one
of the known styles. This is useful, but mis-uses the YAML API.

An upcoming change to fix keys with special characters by quoting them
breaks this,
and will emit a non-comment **key** `'# BasedOnStyle': <style>` instead.
(https://github.com/llvm/llvm-project/pull/88763)

Thus, remove this hack. There doesn't seem to be a specific use for it,
and it is not tested.

If we want the comment back, we should add comment support to the YAML writer,
and use that instead.


  Commit: 03b1a0c2a72dd24943642ef15e6c046d982643c2
      https://github.com/llvm/llvm-project/commit/03b1a0c2a72dd24943642ef15e6c046d982643c2
  Author: yronglin <yronglin777 at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticFrontendKinds.td
    M clang/lib/Frontend/FrontendAction.cpp
    A clang/test/Frontend/ast-dump-on-llvm.ll

  Log Message:
  -----------
  [Clang] Diagnose apply AST consume actions on LLVM IR (#88602)

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

This PR introduce a new diagnostic to report apply AST consume actions
on LLVM IR.

---------

Signed-off-by: yronglin <yronglin777 at gmail.com>


  Commit: 76ea5feb1f12ab35547a3aa1bc1b84d4bca69aa7
      https://github.com/llvm/llvm-project/commit/76ea5feb1f12ab35547a3aa1bc1b84d4bca69aa7
  Author: David Green <david.green at arm.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/concatbinop.ll
    M llvm/test/CodeGen/AArch64/vecreduce-add.ll

  Log Message:
  -----------
  [AArch64] Combine concat(binop, binop) into binop(concat, concat) (#89911)

This generalizes the existing combine for concat(radd, radd) to any
binops. For much the same reason as the existing code, pushing the
concat up through the tree are hopefully quicker (or the same) as the
existing two half-vector operations, and can help combine away the
concat.


  Commit: deafb36f87a3541715854d4a620a4cfd6b1ac672
      https://github.com/llvm/llvm-project/commit/deafb36f87a3541715854d4a620a4cfd6b1ac672
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M flang/test/Lower/OpenMP/FIR/if-clause.f90
    M flang/test/Lower/OpenMP/FIR/simd.f90
    M flang/test/Lower/OpenMP/FIR/target.f90
    M flang/test/Lower/OpenMP/if-clause.f90
    M flang/test/Lower/OpenMP/simd.f90
    M flang/test/Lower/OpenMP/target.f90
    M flang/test/Lower/OpenMP/use-device-ptr-to-use-device-addr.f90

  Log Message:
  -----------
  [flang][OpenMP] Add OpenMP versions to some tests (#89295)

Some constructs used in the tests are only allowed in certain OpenMP
spec versions. Add a flag with the minimum required OpenMP version
(other than the default version) to these tests that need it.


  Commit: ee7365198c5575337cfcbf3cb0a0c6689dd703f5
      https://github.com/llvm/llvm-project/commit/ee7365198c5575337cfcbf3cb0a0c6689dd703f5
  Author: Fanbo Meng <fanbo.meng at ibm.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/MemoryMapper.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/ExecutorSharedMemoryMapperService.cpp

  Log Message:
  -----------
  [z/OS] Implement shared memory handling for JIT (#89933)

Fix 'use of undeclared identifier' build errors for shm_ functions on
z/OS by implementing the functionality using shmget(), shmat(), and
shmdt(). Use the BLAKE3 hash to map the name of the shared memory to a
key.

---------

Co-authored-by: Kai Nacke <kai.peter.nacke at ibm.com>


  Commit: 697fcd009855a579f756dfe34498a815ed9dc3fd
      https://github.com/llvm/llvm-project/commit/697fcd009855a579f756dfe34498a815ed9dc3fd
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/UnreachableEliminate.ll

  Log Message:
  -----------
  [SimplifyCFG] Handle `llvm.assume` in `passingValueIsAlwaysUndefined` (#89929)

See the following example:
```
define i32 @test(i32 %cond) {
entry:
  switch i32 %cond, label %default [
    i32 0, label %case0
    i32 1, label %case1
    i32 2, label %case2
  ]

case0:
  br label %exit

case1:
  br label %exit

case2:
  br label %exit

default:
  br label %exit

exit:
  %bool = phi i1 [ false, %default ], [ true, %case0 ], [ true, %case1 ], [ true, %case2 ]
  %res = phi i32 [ 0, %default ], [ 1, %case0 ], [ 2, %case1 ], [ 3, %case2 ]
  call void @llvm.assume(i1 %bool)
  ret i32 %res
}
```
The edge `%default -> %bool` is dead since it will trigger an immediate
UB.

Alive2: https://alive2.llvm.org/ce/z/gywJiE

My benchmark shows many rust applications and some c/c++ applications
(e.g., arrow/php/qemu) will benefit from this patch :)


  Commit: 4a12589de1388885d0f198605de3b1fbc0f25100
      https://github.com/llvm/llvm-project/commit/4a12589de1388885d0f198605de3b1fbc0f25100
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/utils/LLVMVisualizers/llvm.natvis

  Log Message:
  -----------
  Fix NATVIS for llvm::PointerIntPair

We don't need to cast to the type of the template argument because it
is always an unsigned number. When passed an enumeration type, MSVC's
debug formatter would get confused, so this fixes issues like looking
at a llvm::PointerIntPair<const ContentCache *, 3, CharacteristicKind>
such as what's used in SrcMgr::FileInfo.


  Commit: d51a17f684424a318af2383b1fc3dc6716f5328b
      https://github.com/llvm/llvm-project/commit/d51a17f684424a318af2383b1fc3dc6716f5328b
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

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

  Log Message:
  -----------
  [DAG] visitORCommutative - pull out repeated SDLoc(). NFC.


  Commit: 2c50f8ffbb3fa2a951d97974325e132987d619a5
      https://github.com/llvm/llvm-project/commit/2c50f8ffbb3fa2a951d97974325e132987d619a5
  Author: Emma Pilkington <emma.pilkington95 at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

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

  Log Message:
  -----------
  [AMDGPU] Include missing FeatureMADIntraFwdBug in gfx11-generic (#89936)

It seems like this happened because #79460 moved this from
`FeatureISAVersion11_Common` to `FeatureISAVersion11_0_Common` while
#76955 was being reviewed.


  Commit: fcf86673b88845e8fa9621fe55480719fc2b28d8
      https://github.com/llvm/llvm-project/commit/fcf86673b88845e8fa9621fe55480719fc2b28d8
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M .github/new-prs-labeler.yml

  Log Message:
  -----------
  [libc++] Tag PRs that modify libc++ workflows appropriately (#89798)


  Commit: 584a9bfa0eb60ef04406eef50da26a5cb32c801d
      https://github.com/llvm/llvm-project/commit/584a9bfa0eb60ef04406eef50da26a5cb32c801d
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M libcxx/include/variant

  Log Message:
  -----------
  [libc++] Reorganize the std::variant macros (#89419)

std::variant uses multiple macros to generate special member functions.
These macros were very subtle to read because of e.g. a macro argument
appearing in the middle of a macro-ized class definition. In conjunction
with clang-format, this could lead to extremely subtle macro expansions
that were not easy to parse for humans.

By adding semi-colons in macro expansions in judicious places,
clang-format does a better job and makes these macros a lot easier to
read.

As a drive-by fix, I noticed that several of these functions were
missing HIDE_FROM_ABI annotations, so I added them.


  Commit: 182f5e9b2f034bf8a3a6dd8a80e8fe7d8292e411
      https://github.com/llvm/llvm-project/commit/182f5e9b2f034bf8a3a6dd8a80e8fe7d8292e411
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M libcxx/include/__availability

  Log Message:
  -----------
  [libc++] Reformulate availability in terms of LLVM releases (#87563)

To make it easier to maintain the availability macros for both upstream
developers and vendors, this patch reformulates availability macros as a
function of the upstream LLVM release that a feature was introduced in.
This way, upstream developers can easily use the appropriate LLVM
version, and vendors can simply fill in the platform version(s) in which
a LLVM version landed.


  Commit: ed962a66c5a2257100ca20624521ef51c0abcfb3
      https://github.com/llvm/llvm-project/commit/ed962a66c5a2257100ca20624521ef51c0abcfb3
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx2cIssues.csv
    M libcxx/include/streambuf
    M libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.cons/copy.pass.cpp
    M libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.assign/assign.pass.cpp
    M libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.assign/swap.pass.cpp
    A libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.get.area/setg.assert.pass.cpp
    A libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.put.area/setp.assert.pass.cpp

  Log Message:
  -----------
  [libc++] Implement LWG4023 (#87513)

This patch implements LWG4023 by adding explicit assertions for the
added preconditions and also fixes a few tests that were violating these
preconditions.


  Commit: 2554a85c0375b4c1c7c4f461811babef67e1a403
      https://github.com/llvm/llvm-project/commit/2554a85c0375b4c1c7c4f461811babef67e1a403
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    A llvm/test/Transforms/CodeGenPrepare/RISCV/noop-copy-sink.ll

  Log Message:
  -----------
  [CodeGenPrepare][test] Add test for sinking of truncs demonstrating nsw/nuw are dropped

SinkCast creates a new cast with the same type and inputs, which drops
the nsw/nuw flags.

Reviewed as part of <https://github.com/llvm/llvm-project/pull/89904>
but split out so I can land the test separately.


  Commit: 1c8410a67d9d7bbadc2e5f2c8698531b1060c8ac
      https://github.com/llvm/llvm-project/commit/1c8410a67d9d7bbadc2e5f2c8698531b1060c8ac
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/test/Transforms/CodeGenPrepare/RISCV/noop-copy-sink.ll

  Log Message:
  -----------
  [CodeGenPrepare] Preserve flags (such as nsw/nuw) in SinkCast (#89904)

As demonstrated in the test change, when deciding to sink a trunc we
were losing its flags. This patch moves to cloning the original
instruction instead.


  Commit: 80628ee0d555d58a7af797e3fc971a1db4582075
      https://github.com/llvm/llvm-project/commit/80628ee0d555d58a7af797e3fc971a1db4582075
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/test/TableGen/riscv-target-def.td
    M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp

  Log Message:
  -----------
  [RISCV] Generate RISCVISAInfo table from RISCVFeatures.td. (#89955)

This generates the SupportedExtensions and ImpliedExts information from
the RISCVExtension records found in RISCVFeatures.td.

Some of the extensions listed in the individual `ImpliedExts*` arrays
may be in a different, but the order in those array doesn't matter. I
manually verified the all the extensions were still present in each
array.

I've added the new information to the existing RISCVTargetParserDef.inc
and RISCVTargetDefEmitter.cpp so we don't need to re-parse the entirety
of RISCV.td a second time for a new file.


  Commit: 2a95022cff38dc0978f527ae580b5720eb9e4d98
      https://github.com/llvm/llvm-project/commit/2a95022cff38dc0978f527ae580b5720eb9e4d98
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/atomic_load_local.ll
    M llvm/test/CodeGen/AMDGPU/atomic_store_local.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics.ll

  Log Message:
  -----------
  AMDGPU: Add atomic bfloat load/store codegen tests


  Commit: 76a3be7c766bd55221c3d0d0a74c42f82c5d76ed
      https://github.com/llvm/llvm-project/commit/76a3be7c766bd55221c3d0d0a74c42f82c5d76ed
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    A llvm/test/Transforms/AtomicExpand/AMDGPU/no-expand-atomic-load.ll
    A llvm/test/Transforms/AtomicExpand/AMDGPU/no-expand-atomic-store.ll

  Log Message:
  -----------
  AMDGPU: Add baseline tests for bad bitcasting of atomic load/store


  Commit: 39ed3c68e51f1b04fe2890db9006ae1b176b1582
      https://github.com/llvm/llvm-project/commit/39ed3c68e51f1b04fe2890db9006ae1b176b1582
  Author: Alexandre Ganea <37383324+aganea at users.noreply.github.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang/include/clang/Basic/FileManager.h
    M clang/lib/Basic/FileManager.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp

  Log Message:
  -----------
  [clang-scan-deps] Fix contention when updating `TrackingStatistic`s in hot code paths in `FileManager`. (#88427)

`FileManager::getDirectoryRef()` and `FileManager::getFileRef()` are hot code paths in `clang-scan-deps`. These functions are updating on every call a few atomics related to printing statistics, which causes contention on high core count machines.

![Screenshot 2024-04-10
214123](https://github.com/llvm/llvm-project/assets/37383324/5756b1bc-cab5-4612-8769-ee7e03a66479)

![Screenshot 2024-04-10
214246](https://github.com/llvm/llvm-project/assets/37383324/3d560e89-61c7-4fb9-9330-f9e660e8fc8b)

![Screenshot 2024-04-10
214315](https://github.com/llvm/llvm-project/assets/37383324/006341fc-49d4-4720-a348-7af435c21b17)

After this patch we make the variables local to the `FileManager`.

In our test case, this saves about 49 sec over 1 min 47 sec of `clang-scan-deps` run time (1 min 47 sec before, 58 sec after). These figures are after applying my suggestion in https://github.com/llvm/llvm-project/pull/88152#issuecomment-2049803229, that is:
```
static bool shouldCacheStatFailures(StringRef Filename) {
  return true;
}
```
Without the above, there's just too much OS noise from the high volume of `status()` calls with regular non-modules C++ code. Tested on Windows with clang-cl.


  Commit: 0f329e0246d1a52d8f3cd25fba8dae89204f5f31
      https://github.com/llvm/llvm-project/commit/0f329e0246d1a52d8f3cd25fba8dae89204f5f31
  Author: Dimitry Andric <dimitry at andric.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_constants.h

  Log Message:
  -----------
  [sanitizer_symbolizer] Cast arguments for format strings in markup (#89815)

When compiling the common sanitizer libraries, there are many warnings
about format specifiers, similar to:

    compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp:31:32: warning: format specifies type 'void *' but the argument has type 'uptr' (aka 'unsigned long') [-Wformat]
       31 |   buffer->AppendF(kFormatData, DI->start);
          |                   ~~~~~~~~~~~  ^~~~~~~~~
    compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_constants.h:33:46: note: format string is defined here
       33 | constexpr const char *kFormatData = "{{{data:%p}}}";
          |                                              ^~
          |                                              %lu
    compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp:46:43: warning: format specifies type 'void *' but the argument has type 'uptr' (aka 'unsigned long') [-Wformat]
       46 |   buffer->AppendF(kFormatFrame, frame_no, address);
          |                   ~~~~~~~~~~~~            ^~~~~~~
    compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_constants.h:36:48: note: format string is defined here
       36 | constexpr const char *kFormatFrame = "{{{bt:%u:%p}}}";
          |                                                ^~
          |                                                %lu
    ...

This is because `uptr` is dependent on the platform, and can be either
`unsigned long long`, `unsigned long`, or `unsigned int`.

To fix the warnings, cast the arguments to the expected type of the
format strings.


  Commit: d3f92e30bbd5c295a639f207b9ac92198d538fb3
      https://github.com/llvm/llvm-project/commit/d3f92e30bbd5c295a639f207b9ac92198d538fb3
  Author: Sopy <doimpt at sopy.one>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
    A clang-tools-extra/clang-tidy/modernize/MinMaxUseInitializerListCheck.cpp
    A clang-tools-extra/clang-tidy/modernize/MinMaxUseInitializerListCheck.h
    M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/docs/clang-tidy/checks/modernize/min-max-use-initializer-list.rst
    A clang-tools-extra/test/clang-tidy/checkers/modernize/min-max-use-initializer-list.cpp

  Log Message:
  -----------
  [clang-tidy] add check to suggest replacement of nested std::min or std::max with initializer lists (#85572)

Identifies cases where `std::min` or `std::max` is used to find the
minimum or maximum value among more than two items through repeated
calls. The check replaces these calls with a single call to `std::min`
or `std::max` that uses an initializer list. This makes the code
slightly more efficient.

Closes #25340


  Commit: d285e54320e9bc42ea91b28a59a831c58627217a
      https://github.com/llvm/llvm-project/commit/d285e54320e9bc42ea91b28a59a831c58627217a
  Author: Luke Drummond <luke.drummond at codeplay.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    R clang/test/TestRunner.sh

  Log Message:
  -----------
  Delete old broken lit runner

Last updated before the monorepo was created, this lit wrapper can no
longer work. Since it's been broken for so long, I don't think anyone's
going to miss it.


  Commit: cbb0477e9a8d1e695d10a7e263d5e26757114f70
      https://github.com/llvm/llvm-project/commit/cbb0477e9a8d1e695d10a7e263d5e26757114f70
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/test/Transforms/InstCombine/fneg.ll
    M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll

  Log Message:
  -----------
  [InstCombine] Fold fneg over select (#89947)

As we folds fabs over select in
https://github.com/llvm/llvm-project/pull/86390, this patch folds fneg
over select to make sure nabs idioms are generated.
Addresses
https://github.com/llvm/llvm-project/pull/86390#discussion_r1568862289.

Alive2 for FMF propagation: https://alive2.llvm.org/ce/z/-h6Vuo


  Commit: ad76a859540d762a01b44313ef8bd18c205143b4
      https://github.com/llvm/llvm-project/commit/ad76a859540d762a01b44313ef8bd18c205143b4
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/Status/Cxx23Papers.csv
    M libcxx/docs/Status/Cxx2cIssues.csv
    M libcxx/docs/Status/FormatIssues.csv
    M libcxx/include/__format/escaped_output_table.h
    M libcxx/include/__format/write_escaped.h
    M libcxx/test/std/utilities/format/format.functions/escaped_output.unicode.pass.cpp
    M libcxx/utils/generate_escaped_output_table.py

  Log Message:
  -----------
  [libc++][format] Improves escaping. (#88283)

The change increments the size of the lookup table considerably. The
table has an "upper boundary" check. The removal of the code units with
the property Grapheme_Extend=Yes removes the range E0100..E01EF. This
breaks the trailing large continuous section in two parts. This will be
improved in a followup patch.

Implements:
- P2713R1 Escaping improvements in std::format
- LWG3965 Incorrect example in [format.string.escaped] p3 for formatting
of combining characters

```
---------------------------------------------------------
Benchmark                           Before          After    
---------------------------------------------------------
BM_ascii_escaped<char>            95696 ns      110704 ns
BM_unicode_escaped<char>          89311 ns      101371 ns
BM_cyrillic_escaped<char>         58633 ns       63329 ns
BM_japanese_escaped<char>         44500 ns       41223 ns
BM_emoji_escaped<char>            99156 ns      111022 ns
BM_ascii_escaped<wchar_t>         92245 ns      112441 ns
BM_unicode_escaped<wchar_t>       80970 ns      102776 ns
BM_cyrillic_escaped<wchar_t>      51253 ns       58977 ns
BM_japanese_escaped<wchar_t>      37252 ns       36885 ns
BM_emoji_escaped<wchar_t>         96226 ns      115885 ns
```


  Commit: 60bbe5714d1b4b78381514a5e29bffbdd18b3d0c
      https://github.com/llvm/llvm-project/commit/60bbe5714d1b4b78381514a5e29bffbdd18b3d0c
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/modernize/BUILD.gn

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


  Commit: 5cfd5d157cb5aca7ee348bd3e8b4fcd35a5762c8
      https://github.com/llvm/llvm-project/commit/5cfd5d157cb5aca7ee348bd3e8b4fcd35a5762c8
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M flang/lib/Lower/Bridge.cpp
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf

  Log Message:
  -----------
  [flang][cuda] Do not generate data transfer within cuf kernel (#89973)

CUDA data transfer with intrinsic assignment are not meant to be
generated in cuf kernel. This patch fix this issue.

@ImanHosseini


  Commit: 09cdfd68a6cce69cd4c935b8c38ad391cea265ae
      https://github.com/llvm/llvm-project/commit/09cdfd68a6cce69cd4c935b8c38ad391cea265ae
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M flang/lib/Lower/Bridge.cpp
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf

  Log Message:
  -----------
  [flang][cuda] Avoid hlfir.declare verifier error when creating temps (#89984)

When creating temporaries for implicit transfer, the newly create
hlfir.declare operation was missing some information like the shape and
the verifier was throwing an error. Fix it by making sure we have an
ExtendedValue when calling addSymbol to register the temp.

```
error: loc("cuda-data-transfer.cuf":67:22): 'hlfir.declare' op of array entity
with a raw address base must have a shape operand that is a shape or shapeshift
```

Thanks @jeanPerier for the advice!

FYI @ImanHosseini


  Commit: f4e3daa562ce077c729634bd3ae8757aae8d46ef
      https://github.com/llvm/llvm-project/commit/f4e3daa562ce077c729634bd3ae8757aae8d46ef
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

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

  Log Message:
  -----------
  [DAG] Early exit for flags in canCreateUndefOrPoison [nfc] (#89834)

This matches the style used in the Analysis version of this routine, and
makes it less likely we'll miss a poison generating flag in future
changes. Unlike IR, the check for poison generating flags doesn't need
to switch over opcode since all nodes have the SDFlags storage.


  Commit: ef2ca97f48f1aee1483f0c29de5ba52979bec454
      https://github.com/llvm/llvm-project/commit/ef2ca97f48f1aee1483f0c29de5ba52979bec454
  Author: Miro Bucko <mbucko at meta.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M lldb/include/lldb/API/SBProcess.h
    M lldb/source/API/SBProcess.cpp
    M lldb/test/API/tools/lldb-dap/console/TestDAP_console.py
    M lldb/tools/lldb-dap/lldb-dap.cpp

  Log Message:
  -----------
  [lldb-dap] Report exit status message in lldb-dap, same as lldb cli (#89405)

Summary:
When the target inferior process that is being debugged exits in lldb
command line, it emits following message:
`Process 4049526 exited with status = -1 (0xffffffff) debugserver died
with signal SIGTERM`
lldb-dap on the other hand does not emit a similar message. This PR adds
the same status message to lldb-dap.

Test Plan:
In VSCode debug any target and hit stop mode, kill lldb-server and
observe an exit status message similar to the following: Process 2167677
exited with status = -1 (0xffffffff) debugserver died with signal
SIGTERM

Reviewers:
@jeffreytan81, at clayborg, at kusmour,

Subscribers:

Tasks:
lldb-dap

Tags:


  Commit: 18376810f359dbd39d2a0aa0ddfc0f7f50eac199
      https://github.com/llvm/llvm-project/commit/18376810f359dbd39d2a0aa0ddfc0f7f50eac199
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/integrated-as.c

  Log Message:
  -----------
  [Driver] Don't default to -mrelax-all for non-RISCV -O0

Some assembly mnemonics may assemble to instructions of different
lengths. The longer form is to support instructions like a long branch.
On X86, -mrelax-all enables `MCRelaxAll`, which expands instructions to
the long form regardless of whether a short form suffices, while
-mno-relax-all only expands instructions when needed.

```
// x86 example
void foo(int a) {
  // -mno-relax-all or gas: short jump (2 bytes)
  // -mrelax-all: near jump (6 bytes)
  if (a) bar();
}
```

The -mrelax-all default for non-RISCV -O0 appears to only affect x86 and
increases code size without any compile time difference for a stage-2
x86-64 build of lld.
```
-mrelax-all:    file size: 60.9MiB   VM size: 52.4MiB
-mno-relax-all: file size: 58.2MiB   VM size: 49.7MiB
```

There is no compile time difference (other than noise) GNU assembler
doesn't expand instructions by default. Let's remove the -mrelax-all default.

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


  Commit: 2db782047b295730cd018b2641a16461f87ce55e
      https://github.com/llvm/llvm-project/commit/2db782047b295730cd018b2641a16461f87ce55e
  Author: Ayush Sahay <quic_asahay at quicinc.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

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

  Log Message:
  -----------
  [lldb] [llgs] Fix assertion in Handle_qfThreadInfo (#88301)

Currently, GDBRemoteCommunicationServerLLGS::Handle_qfThreadInfo asserts
if the number of processes under debug isn’t 1 and the multiprocess
feature isn’t supported. This is so that we don't string IDs of threads
belonging to different processes together without including the IDs of
the processes themselves in the response when there are multiple
processes under debug. However, it’s conceivable that we have no process
under debug and the multiprocess feature isn’t supported. So, have
GDBRemoteCommunicationServerLLGS::Handle_qfThreadInfo assert if the
number of processes under debug is greater than 1 and the multiprocess
feature isn’t supported.


  Commit: 5fb59e744783cf686e6a355c8331eeab90678c00
      https://github.com/llvm/llvm-project/commit/5fb59e744783cf686e6a355c8331eeab90678c00
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M bolt/include/bolt/Passes/BinaryPasses.h
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Rewrite/BinaryPassManager.cpp
    M bolt/lib/Rewrite/BoltDiff.cpp
    M bolt/test/X86/pre-aggregated-perf.test

  Log Message:
  -----------
  [BOLT] Print program stats in perf2bolt/aggregate-only mode (#89763)


  Commit: d94aeb507d71d72f4153b4c87c77fcb5187b3e9a
      https://github.com/llvm/llvm-project/commit/d94aeb507d71d72f4153b4c87c77fcb5187b3e9a
  Author: Ryan Holt <ryanholt at mathworks.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    A mlir/include/mlir/Dialect/Linalg/Transforms/RuntimeOpVerification.h
    M mlir/include/mlir/InitAllDialects.h
    M mlir/include/mlir/Interfaces/RuntimeVerifiableOpInterface.td
    M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/Linalg/Transforms/RuntimeOpVerification.cpp
    M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
    M mlir/lib/Interfaces/RuntimeVerifiableOpInterface.cpp
    A mlir/test/Dialect/Linalg/runtime-verification.mlir
    A mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir

  Log Message:
  -----------
  [mlir][linalg] Add runtime verification for linalg ops (#89917)

This commit implements runtime verification for LinalgStructuredOps
using the existing `RuntimeVerifiableOpInterface`. The verification
checks that the runtime sizes of the operands match the runtime sizes
inferred by composing the loop ranges with the op's indexing maps.


  Commit: 8dc7db7a24633f55ef28f2ab4b379386a34505f8
      https://github.com/llvm/llvm-project/commit/8dc7db7a24633f55ef28f2ab4b379386a34505f8
  Author: Bhuminjay Soni <Soni5Happy at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
    A clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.cpp
    A clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.h
    M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/math-missing-parentheses.rst
    A clang-tools-extra/test/clang-tidy/checkers/readability/math-missing-parentheses.cpp

  Log Message:
  -----------
  [clang-tidy] Add clang-tidy check readability-math-missing-parentheses (#84481)

This commit closes #80850 where author suggests adding a
readability check to detect missing parentheses around mathematical
expressions when operators of different priorities are used.

Signed-off-by: 11happy <soni5happy at gmail.com>


  Commit: 39adc8f423297c5741bb731bb8b1e545d558502c
      https://github.com/llvm/llvm-project/commit/39adc8f423297c5741bb731bb8b1e545d558502c
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang/include/clang-c/Index.h
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/BuiltinTypes.def
    M clang/include/clang/AST/ComputeDependence.h
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/AST/ExprOpenMP.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/StmtNodes.td
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ComputeDependence.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprClassification.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/NSAPI.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypeLoc.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTCommon.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/IdenticalExprChecker.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/test/OpenMP/task_depend_messages.cpp
    M clang/test/ParserOpenACC/parse-cache-construct.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CXCursor.cpp

  Log Message:
  -----------
  [NFC] Generalize ArraySections to work for OpenACC in the future (#89639)

OpenACC is going to need an array sections implementation that is a
simpler version/more restrictive version of the OpenMP version. 

This patch moves `OMPArraySectionExpr` to `Expr.h` and renames it `ArraySectionExpr`,
 then adds an enum to choose between the two.

This also fixes a couple of 'drive-by' issues that I discovered on the way,
but leaves the OpenACC Sema parts reasonably unimplemented (no semantic
analysis implementation), as that will be a followup patch.


  Commit: f9a0b467dd3da17e9b5d3b50bff624a60dc2950c
      https://github.com/llvm/llvm-project/commit/f9a0b467dd3da17e9b5d3b50bff624a60dc2950c
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

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

  Log Message:
  -----------
  [memprof] Remove getFullSchema in MemProfTest.cpp (#90072)

This patch removes getFullSchema in MemProfTest.cpp in favor of
llvm::memprof::PortableMemInfoBlock::getFullSchema as they do exactly
the same thing.


  Commit: f5953f46aa0a664461584b78c14cb141a3be2b9d
      https://github.com/llvm/llvm-project/commit/f5953f46aa0a664461584b78c14cb141a3be2b9d
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp

  Log Message:
  -----------
  Fix lldb build failure caused by 39adc8f42329

We changed the name of one of the types, which is consumed by LLDB.  My
patch local build + CI didn't catch it, but a build bot did!  This
commit fixes it by updating the name in LLDB.


  Commit: 5a1d85051fa4847b6a3fe4cae30e0a11843bec41
      https://github.com/llvm/llvm-project/commit/5a1d85051fa4847b6a3fe4cae30e0a11843bec41
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    A llvm/test/Transforms/InstCombine/gepofconstgepi8.ll

  Log Message:
  -----------
  [InstCombine] Canonicalize `gep T, (gep i8, base, C1), (Index + C2)` into `gep T, (gep i8, base, C1 + C2 * sizeof(T)), Index` (#76177)

This patch tries to canonicalize `gep T, (gep i8, base, C1), (Index +
C2)` into `gep T, (gep i8, base, C1 + C2 * sizeof(T)), Index`.

Alive2: https://alive2.llvm.org/ce/z/dxShKF
Fixes regressions found in
https://github.com/llvm/llvm-project/pull/68882.


  Commit: d3c9a97705d807afeb3fd92bb0d65fa895c6d139
      https://github.com/llvm/llvm-project/commit/d3c9a97705d807afeb3fd92bb0d65fa895c6d139
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/readability/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 8dc7db7a2463


  Commit: eb05a2e89dccec734625aa336b553197b75f2340
      https://github.com/llvm/llvm-project/commit/eb05a2e89dccec734625aa336b553197b75f2340
  Author: Alexander Shaposhnikov <6532716+alexander-shaposhnikov at users.noreply.github.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M flang/include/flang/Common/visit.h

  Log Message:
  -----------
  [Flang] Add fallthrough annotations in visit.h (#90014)

Add fallthrough annotations to avoid warnings if -Wimplicit-fallthrough
is enabled.

Test plan: ninja check-all


  Commit: 63ecd2a72523fa591aacf54d310478aabcd30d08
      https://github.com/llvm/llvm-project/commit/63ecd2a72523fa591aacf54d310478aabcd30d08
  Author: Joshua Cranmer <joshua.cranmer at intel.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/docs/UsersManual.rst
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/Linux.cpp
    M clang/lib/Driver/ToolChains/Linux.h
    M clang/test/Driver/default-denormal-fp-math.c
    M clang/test/Driver/linux-ld.c

  Log Message:
  -----------
  Disable FTZ/DAZ when compiling shared libraries by default. (#80475)

This fixes https://github.com/llvm/llvm-project/issues/57589, and aligns
Clang with the behavior of current versions of gcc. There is a new
option, -mdaz-ftz, to control the linking of the file that sets FTZ/DAZ
on startup, and this flag is on by default if -ffast-math is present and
-shared isn't.

This also partially reverts fa7cd549d60 in that it disables the attempt
to set the IR denormal-fp-math attribute based on whether or not
-ffast-math is applied as it is insufficiently reliable.


  Commit: 0b01b2143735a0becf2ed09825ddd33b98b1c5b5
      https://github.com/llvm/llvm-project/commit/0b01b2143735a0becf2ed09825ddd33b98b1c5b5
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/tools/gold/gold-plugin.cpp

  Log Message:
  -----------
  [LLVMgold] Suppress -Wcast-function-type-mismatch diagnostic

llvm/cmake/modules/HandleLLVMOptions.cmake adds -Wextra.
-Wcast-function-type-mismatch was recently added to -Wextra, leading to
a warning for the `get_wrap_symbols` code (https://reviews.llvm.org/D44235).

Suppress the diagnostic.

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


  Commit: 02660e274242b2dd61543a06d7ab4dc0efd2517d
      https://github.com/llvm/llvm-project/commit/02660e274242b2dd61543a06d7ab4dc0efd2517d
  Author: Jake Egan <jake.egan at ibm.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.minus_equals.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.plus_equals.pass.cpp

  Log Message:
  -----------
  [NFC] Enable atomic tests on AIX

These tests pass on AIX.


  Commit: 2f2e31c3c980407b2660b4f5d10e7cdb3fa79138
      https://github.com/llvm/llvm-project/commit/2f2e31c3c980407b2660b4f5d10e7cdb3fa79138
  Author: jeffreytan81 <jeffreytan at meta.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M lldb/include/lldb/API/SBLineEntry.h
    M lldb/include/lldb/API/SBSymbolContextList.h
    M lldb/include/lldb/API/SBTarget.h
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
    M lldb/source/API/SBLineEntry.cpp
    M lldb/source/API/SBTarget.cpp
    A lldb/test/API/tools/lldb-dap/stepInTargets/Makefile
    A lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
    A lldb/test/API/tools/lldb-dap/stepInTargets/main.cpp
    M lldb/tools/lldb-dap/DAP.h
    M lldb/tools/lldb-dap/lldb-dap.cpp

  Log Message:
  -----------
  Initial step in targets DAP support  (#86623)

This patch provides the initial implementation for the "Step Into
Specific/Step In Targets" feature in VSCode DAP.

The implementation disassembles all the call instructions in step range
and try to resolve operand name (assuming one operand) using debug info.
Later, the call target function name is chosen by end user and specified
in the StepInto() API call.

It is v1 because of using the existing step in target function name API.
This implementation has several limitations:
* Won't for indirect/virtual function call -- in most cases, our
disassembler won't be able to solve the indirect call target
address/name.
* Won't work for target function without debug info -- if the target
function has symbol but not debug info, the existing
ThreadPlanStepInRange won't stop.
* Relying on function names can be fragile -- if there is some middle
glue/thunk code, our disassembler can only resolve the glue/thunk code's
name not the real target function name. It can be fragile to depend
compiler/linker emits the same names for both.
* Does not support step into raw address call sites -- it is a valid
scenario that in Visual Studio debugger, user can explicitly choose a
raw address to step into which land in the function without debug
info/symbol, then choose UI to load the debug info on-demand for that
module/frame to continue exploring.

A more reliable design could be extending the ThreadPlanStepInRange to
support step in based on call-site instruction offset/PC which I will
propose in next iteration.

---------

Co-authored-by: jeffreytan81 <jeffreytan at fb.com>


  Commit: a8fd0d029dca7d17eee72d0445223c2fe1ee7758
      https://github.com/llvm/llvm-project/commit/a8fd0d029dca7d17eee72d0445223c2fe1ee7758
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
    M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/owning-memory.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default-copy.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Lookup.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/Expr.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/SemaAttr.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/AST/HLSL/this-reference-template.hlsl
    M clang/test/CXX/drs/dr2xx.cpp
    M clang/test/CXX/drs/dr3xx.cpp
    A clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
    M clang/test/CXX/temp/temp.res/temp.local/p3.cpp
    M clang/test/CodeGenCXX/mangle.cpp
    M clang/test/Index/annotate-nested-name-specifier.cpp
    M clang/test/SemaCXX/member-expr.cpp
    M clang/test/SemaTemplate/instantiate-function-1.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp

  Log Message:
  -----------
  [Clang][Sema] Diagnose class member access expressions naming non-existent members of the current instantiation prior to instantiation in the absence of dependent base classes (#84050)

Consider the following:
```cpp
template<typename T>
struct A
{
    auto f()
    {
        return this->x;
    }
};
```
Although `A` has no dependent base classes and the lookup context for
`x` is the current instantiation, we currently do not diagnose the
absence of a member `x` until `A<T>::f` is instantiated. This patch
moves the point of diagnosis for such expressions to occur at the point
of definition (i.e. prior to instantiation).


  Commit: 3dcd2cca7777b338d87deb1ca506df1376123667
      https://github.com/llvm/llvm-project/commit/3dcd2cca7777b338d87deb1ca506df1376123667
  Author: Hugo Melder <service at hugomelder.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGObjCGNU.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    A clang/test/CodeGenObjCXX/msabi-stret-arm64.mm

  Log Message:
  -----------
  Fix Objective-C++ Sret of non-trivial data types on Windows ARM64 (#88671)

Linked to https://github.com/gnustep/libobjc2/pull/289.

More information can be found in issue: #88273.

My solution involves creating a new message-send function for this
calling convention when targeting MSVC. Additional information is
available in the libobjc2 pull request.

I am unsure whether we should check for a runtime version where
objc_msgSend_stret2_np is guaranteed to be present or leave it as is,
considering it remains a critical bug. What are your thoughts about this
@davidchisnall?


  Commit: 2e77aea22f11d0acf13b32fec0df81351a1e236a
      https://github.com/llvm/llvm-project/commit/2e77aea22f11d0acf13b32fec0df81351a1e236a
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rv64zba.ll

  Log Message:
  -----------
  [RISCV] Give up on correct undef semantics in mul strength reduction (#90097)

This is a change I really don't like posting, but I think we're out of
other options.  As can be seen in the test differences, we have cases
where adding the freeze inhibits real optimizations.
    
Given no other target handles the undef semantics correctly here, I
think the practical answer is that we shouldn't either.  Yuck.
    
As examples, consider:
* combineMulSpecial in X86.
* performMulCombine in AArch64
    
The only other real option I see here is to move all of the strength
reduction code out of ISEL.  We could do this either via tablegen rules,
or as an MI pass, but other than shifting the point where we ignore
undef
semantics, I don't this is meaningfully different.
    
Note that the particular tests included here would be fixed if we added
SHA/SHL to canCreateUndefOrPoison. However, a) that's already been tried
twice and exposes its own set of regressions, and b) these are simply
examples.  You can create many alternate examples.


  Commit: f72611b40de8c060c3901dab0ee9f8424dd3012b
      https://github.com/llvm/llvm-project/commit/f72611b40de8c060c3901dab0ee9f8424dd3012b
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

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

  Log Message:
  -----------
  [RISCV][NFC] Trim line to 80 chars in RISCVInstrZvk.td


  Commit: cb9589b2273e99d9c9a64c97416696a1690932a8
      https://github.com/llvm/llvm-project/commit/cb9589b2273e99d9c9a64c97416696a1690932a8
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

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

  Log Message:
  -----------
  [memprof] Move getFullSchema and getHotColdSchema outside PortableMemInfoBlock (#90103)

These functions do not operate on PortableMemInfoBlock.  This patch
moves them outside the class.


  Commit: 6dd2617c80d5133b92fdff679364f2d8fcd93b47
      https://github.com/llvm/llvm-project/commit/6dd2617c80d5133b92fdff679364f2d8fcd93b47
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaLookup.cpp

  Log Message:
  -----------
  [Clang][Sema] Fix warnings after #84050 (#90104)


  Commit: 8dcb90b083f1dd681478c5d036e52785bafcc205
      https://github.com/llvm/llvm-project/commit/8dcb90b083f1dd681478c5d036e52785bafcc205
  Author: Alexander Shaposhnikov <ashaposhnikov at google.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M flang/include/flang/Common/visit.h

  Log Message:
  -----------
  Revert "[Flang] Add fallthrough annotations in visit.h (#90014)"

This reverts commit eb05a2e89dccec734625aa336b553197b75f2340.
(The comming broke Fortran runtime builders:
https://lab.llvm.org/buildbot/#/builders/267/builds/1277)


  Commit: ba1b52e6e764ad637822f0b63d144eca6e5d5627
      https://github.com/llvm/llvm-project/commit/ba1b52e6e764ad637822f0b63d144eca6e5d5627
  Author: Brian Gesiak <brian at modocache.io>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M mlir/unittests/Tools/lsp-server-support/Transport.cpp

  Log Message:
  -----------
  [mlir-lsp] Add `outgoingNotification` unit test

Add a unit test exercising `lsp::MessageHanlder::outgoingNotification`.
Split off from pull request #90076, as requested.


  Commit: b77416ea156acdec766c59d4781e6086963a26a7
      https://github.com/llvm/llvm-project/commit/b77416ea156acdec766c59d4781e6086963a26a7
  Author: Brian Gesiak <brian at modocache.io>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Tools/lsp-server-support/Transport.h
    M mlir/lib/Tools/mlir-lsp-server/LSPServer.cpp
    M mlir/lib/Tools/mlir-pdll-lsp-server/LSPServer.cpp
    M mlir/lib/Tools/tblgen-lsp-server/LSPServer.cpp

  Log Message:
  -----------
  [mlir-lsp] Rename `OutgoingNotification` (NFC) (#90076)

Rename `OutgoingNotification` to `OutgoingMessage`, since the same
callback function type will be used in a future commit to represent
outgoing requests, in addition to outgoing notifications.


  Commit: e71ce0020fa38a8bf0f4f1518e216659b96b4c13
      https://github.com/llvm/llvm-project/commit/e71ce0020fa38a8bf0f4f1518e216659b96b4c13
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M .github/new-prs-labeler.yml

  Log Message:
  -----------
  [github] Add BOLT to new-prs-labeler.yml (#90114)


  Commit: 2c0a185e99dab199aabcf4cd165ac6a312d56b1e
      https://github.com/llvm/llvm-project/commit/2c0a185e99dab199aabcf4cd165ac6a312d56b1e
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/tools/clang-installapi/Options.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/tools/llvm-readtapi/llvm-readtapi.cpp

  Log Message:
  -----------
  Remove unneeded LLVM_FALLTHROUGH. NFC


  Commit: 76739d1256bf7272b046e77ac2233fdd698e28d6
      https://github.com/llvm/llvm-project/commit/76739d1256bf7272b046e77ac2233fdd698e28d6
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CodeGenTypes.cpp
    M clang/lib/Parse/ParseOpenACC.cpp

  Log Message:
  -----------
  [clang] LLVM_FALLTHROUGH => [[fallthrough]]. NFC

Remove unneeded LLVM_FALLTHROUGH added after https://reviews.llvm.org/D131346


  Commit: 3005ca21596c4f4309a5692ffadc0db2b54c2055
      https://github.com/llvm/llvm-project/commit/3005ca21596c4f4309a5692ffadc0db2b54c2055
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M mlir/test/Dialect/Linalg/match-ops-interpreter.mlir

  Log Message:
  -----------
  [mlir][linalg] Add a test for inferConvolutionDimsImpl (#90057)

Adds a test for `inferConvolutionDimsImpl` to exercise the logic for
depthwise convs.


  Commit: f2d99506950f1863015137c1185c745b875ad9fb
      https://github.com/llvm/llvm-project/commit/f2d99506950f1863015137c1185c745b875ad9fb
  Author: Chris B <chris.bieneman at me.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/test/Preprocessor/predefined-macros-hlsl.hlsl

  Log Message:
  -----------
  [HLSL] Correctly set `__HLSL_ENABLE_16_BIT` (#89788)

The preprocessor define `__HLSL_ENABLE_16_BIT` should be set to 1 if
native 16-bit types are enabled and not set if they are not.

Previously we were setting the value to match the HLSL active language
version, and we had no test coverage verifing the value was set and not
set as expected.

Fixes #89787


  Commit: 933f49248bfede6b22d516baa5cf80bdf85c3c61
      https://github.com/llvm/llvm-project/commit/933f49248bfede6b22d516baa5cf80bdf85c3c61
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
    M llvm/test/Analysis/LoopAccessAnalysis/different-strides-safe-dep-due-to-backedge-taken-count.ll
    M llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-forward.ll

  Log Message:
  -----------
  [LAA] Support different strides & non constant dep distances using SCEV. (#88039)

Extend LoopAccessAnalysis to support different strides and as a
consequence non-constant distances between dependences using SCEV to
reason about the direction of the dependence.

In multiple places, logic to rule out dependences using the stride has
been updated to only be used if StrideA == StrideB, i.e. there's a
common stride.

We now also may bail out at multiple places where we may have to set
FoundNonConstantDistanceDependence. This is done when we need to bail
out and the distance is not constant to preserve original behavior.

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

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


  Commit: eae7554d3f1fb1546c629a9a2ae0654b1001ab41
      https://github.com/llvm/llvm-project/commit/eae7554d3f1fb1546c629a9a2ae0654b1001ab41
  Author: jofrn <jofernau at amd.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/test/TableGen/GlobalISelEmitterSkippedPatterns.td
    M llvm/test/TableGen/simplify-patfrag.td
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [TableGen] ShouldIgnore Pattern bit to disable DAG pattern imports during GISel (#88382)

Added GISelShouldIgnore property to class Pattern in TargetSelectionDAG.td; it's similar to FastISelShouldIgnore. This bit can be put on a record to avoid its pattern import within GlobalISelEmitter. This allows one to avoid the record's GISel .td implementation, .inc generation, and any skipped pattern warnings from -warn-on-skipped-patterns.


  Commit: 7045c14c840e7e759d1af7f40ed94f0ec3024722
      https://github.com/llvm/llvm-project/commit/7045c14c840e7e759d1af7f40ed94f0ec3024722
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

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

  Log Message:
  -----------
  fix LinalgTransforms bazel build (#90120)


  Commit: 45b59cb1d42b57a40c79a61afc8d1b8892826480
      https://github.com/llvm/llvm-project/commit/45b59cb1d42b57a40c79a61afc8d1b8892826480
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/lib/MC/MCDXContainerStreamer.cpp
    M llvm/lib/MC/MCELFStreamer.cpp
    M llvm/lib/MC/MCGOFFStreamer.cpp
    M llvm/lib/MC/MCMachOStreamer.cpp
    M llvm/lib/MC/MCObjectStreamer.cpp
    M llvm/lib/MC/MCSPIRVStreamer.cpp
    M llvm/lib/MC/MCWasmStreamer.cpp
    M llvm/lib/MC/MCXCOFFStreamer.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCTargetDesc.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFStreamer.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsNaClELFStreamer.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp

  Log Message:
  -----------
  [MC] Move setRelaxAll() calls to MCObjectStreamer

Related to clean-up opportunities discussed at #90013.


  Commit: dbcc4549e6b75ff328256e3d914763c9a74b2635
      https://github.com/llvm/llvm-project/commit/dbcc4549e6b75ff328256e3d914763c9a74b2635
  Author: Zhaoshi Zheng <zhaoshiz at quicinc.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorMultiReduction.cpp
    M mlir/test/Dialect/Vector/vector-multi-reduction-lowering.mlir

  Log Message:
  -----------
   [MLIR][Vector] Allow Scalable Dim in OneDimMultiReductionToTwoDim (#89978)

To correctly lower multi_reduction of 1-dim scalable vector, e.g., <[4]xf32>


  Commit: b7e9dae6f6a4610bee729179167a0ac4a3dd7b7b
      https://github.com/llvm/llvm-project/commit/b7e9dae6f6a4610bee729179167a0ac4a3dd7b7b
  Author: Fabio D'Urso <fdurso at google.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/mem_map_fuchsia.cpp

  Log Message:
  -----------
  [scudo] Improve readability of MemMapFuchsia's error handling (#90102)

By expressing the conditions covered by MAP_ALLOWNOMEM in a more
direct way.


  Commit: 72da62be2f67b6c6e9185e246d17f3b3753e6493
      https://github.com/llvm/llvm-project/commit/72da62be2f67b6c6e9185e246d17f3b3753e6493
  Author: Alexander Shaposhnikov <ashaposhnikov at google.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M flang/include/flang/Common/visit.h

  Log Message:
  -----------
  Reapply "[Flang] Add fallthrough annotations in visit.h (#90014)"

Use [[fallthrough]] directly (similarly to
https://reviews.llvm.org/D131346).

This recommits eb05a2e89dccec734625aa336b553197b75f2340.


  Commit: 4e340356163aaaf2de83cd73f74bca8db735471b
      https://github.com/llvm/llvm-project/commit/4e340356163aaaf2de83cd73f74bca8db735471b
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCELFStreamer.h
    M llvm/include/llvm/MC/TargetRegistry.h
    M llvm/lib/MC/MCDXContainerStreamer.cpp
    M llvm/lib/MC/MCELFStreamer.cpp
    M llvm/lib/MC/MCGOFFStreamer.cpp
    M llvm/lib/MC/MCMachOStreamer.cpp
    M llvm/lib/MC/MCSPIRVStreamer.cpp
    M llvm/lib/MC/MCWasmStreamer.cpp
    M llvm/lib/MC/MCXCOFFStreamer.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.h
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFStreamer.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFStreamer.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.h
    M llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFStreamer.cpp
    M llvm/lib/Target/AVR/MCTargetDesc/AVRMCTargetDesc.cpp
    M llvm/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.cpp
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCTargetDesc.cpp
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
    M llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFStreamer.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFStreamer.h
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCTargetDesc.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.h
    M llvm/lib/Target/Mips/MCTargetDesc/MipsMCNaCl.h
    M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsNaClELFStreamer.cpp
    M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.h
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp
    M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVMCTargetDesc.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h
    M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp

  Log Message:
  -----------
  [MC] Remove RelaxAll parameters from create*Streamer

Related to clean-up opportunities discussed at #90013.

After these cleanups, the `RelaxAll` parameter from
`createMCObjectStreamer` can be removed as well. As
`createMCObjectStreamer` is a more user-facing API and used by two files
in mlir/, we postpone the cleanup to the future.


  Commit: ddb67e68474092435634dd8a8e1c166f6ecd0e1a
      https://github.com/llvm/llvm-project/commit/ddb67e68474092435634dd8a8e1c166f6ecd0e1a
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/IR/IntrinsicInst.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/IR/IntrinsicInst.cpp
    M llvm/unittests/IR/IntrinsicsTest.cpp

  Log Message:
  -----------
  [llvm][ctx_profile] Add the `llvm.instrprof.callsite` intrinsic (#89939)

Add the callsite intrinsic. 

Structurally, it is very similar to the counter intrinsics, hence the inheritance relationship. We can probably rename `InstrProfCntrInstBase` to `InstrProfIndexedBase` later - because the "counting" aspect is really left to derived types of `InstrProfCntrInstBase`, and it only concerns itself with the index aspect (which is what we care about for `callsite`, too)

(Tracking Issue: #89287, RFC referenced there)


  Commit: a5c4f969f4f2f15a4150229eebff769521759554
      https://github.com/llvm/llvm-project/commit/a5c4f969f4f2f15a4150229eebff769521759554
  Author: Fred Grim <fgrim at apple.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M lldb/unittests/Host/linux/HostTest.cpp

  Log Message:
  -----------
  [lldb] Reenable test HostTest.GetProcessInfo with relaxed constraints. (#89637)

@jimingham I am wondering if you are ok removing this test? It caused
failures in some of the build bots because the user time was less than a
microsecond. Alternatively we can increase the number of loops or maybe
I need some other approach? I had commented it out just to not impact
others


  Commit: 6473fbf2d68c8486d168f29afc35d3e8a6fabe69
      https://github.com/llvm/llvm-project/commit/6473fbf2d68c8486d168f29afc35d3e8a6fabe69
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

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

  Log Message:
  -----------
  [CMake][Release] Refactor cache file and use two stages for non-PGO builds (#89812)

Completely refactor the cache file to simplify it and remove unnecessary
variables. The main functional change here is that the non-PGO builds
now use two stages, so `ninja -C build stage2-package` can be used with
both PGO and non-PGO builds.


  Commit: eb4a510283bdbf1e6f0b47a9e20ea88b775c5a85
      https://github.com/llvm/llvm-project/commit/eb4a510283bdbf1e6f0b47a9e20ea88b775c5a85
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M compiler-rt/test/ctx_profile/Unit/lit.site.cfg.py.in
    M compiler-rt/test/memprof/Unit/lit.site.cfg.py.in

  Log Message:
  -----------
  [compiler-rt] Avoid assertions when using LLVM_ENABLE_PER_TARGET_RUNTIME_DIR (#90127)

Previously, the memprof and ctx_profile lit.site.cfg would assert
if the enable_per_target_runtime_dir was set and the
config.target_arch != config.host_arch. However, config.host_arch would
never be set, meaning this would always fail in a when using
LLVM_ENABLE_PER_TARGET_RUNTIME_DIR.

This patch follows the example in the ASAN lit.site.cfg.py that updates
the compiler_rt_libdir appropriately.


  Commit: 1f38b8a281b1b4ed0d018f09c1a080bb7fdcc6ad
      https://github.com/llvm/llvm-project/commit/1f38b8a281b1b4ed0d018f09c1a080bb7fdcc6ad
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

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

  Log Message:
  -----------
  [memprof] Use DenseMap::contains (NFC) (#90124)

This patch replaces count with contains, following the spirit of
clang-tidy's readability-container-contains.


  Commit: 78341f36abc14f66c86ee320e201ee68c79316ef
      https://github.com/llvm/llvm-project/commit/78341f36abc14f66c86ee320e201ee68c79316ef
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    A llvm/test/Instrumentation/MemorySanitizer/X86/mmx-intrinsics.ll

  Log Message:
  -----------
  [msan] Fork unchanged mmx tests (#90135)

Copy of llvm/test/CodeGen/X86/mmx-intrinsics.ll


  Commit: 354a04c8e6af0a119d71ce71e9a4fe6d9b3b6772
      https://github.com/llvm/llvm-project/commit/354a04c8e6af0a119d71ce71e9a4fe6d9b3b6772
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/test/Instrumentation/MemorySanitizer/X86/mmx-intrinsics.ll

  Log Message:
  -----------
  Copied from llvm/test/CodeGen/X86/mmx-intrinsics.ll (#90131)


  Commit: fd5931983df836f3ba9f8ff2532ccd28861794cf
      https://github.com/llvm/llvm-project/commit/fd5931983df836f3ba9f8ff2532ccd28861794cf
  Author: Min Hsu <min.hsu at sifive.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    A llvm/test/CodeGen/RISCV/rvv/vector-reassociations.ll

  Log Message:
  -----------
  [RISCV][MachineCombiner] Pre-commit test for RVV reassociations

This is the pre-commit test for PR #88307.


  Commit: bef6687f9bc753245117f00e298919bcb834868a
      https://github.com/llvm/llvm-project/commit/bef6687f9bc753245117f00e298919bcb834868a
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/RISCV/unsigned-icmp-signed-op.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with the incorrect comparison after minbiwidth analysis.


  Commit: f758bb66e8acfe0daa1725ab4d87ae944a4c53d2
      https://github.com/llvm/llvm-project/commit/f758bb66e8acfe0daa1725ab4d87ae944a4c53d2
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/unsigned-icmp-signed-op.ll

  Log Message:
  -----------
  [SLP]Fix PR89988: do extra analysis of the icmp args to correctly handle signed/unsigned comparison.

If operands of icmp has different signedness, need to consider extending
unsigned operands to correctly handle comparison with the signed
operands.


  Commit: 9221f3af8f832d990be986c05d964ad37e5a2356
      https://github.com/llvm/llvm-project/commit/9221f3af8f832d990be986c05d964ad37e5a2356
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M lld/ELF/Arch/RISCV.cpp
    M lld/test/ELF/riscv-attributes.s
    M llvm/include/llvm/Support/RISCVAttributeParser.h
    M llvm/include/llvm/Support/RISCVAttributes.h
    M llvm/lib/Support/RISCVAttributeParser.cpp
    M llvm/lib/Support/RISCVAttributes.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/MC/RISCV/attribute.s
    M llvm/test/MC/RISCV/invalid-attribute.s

  Log Message:
  -----------
  [RISCV] Support RISCV Atomics ABI attributes (#84597)

This patch adds support for the `atomic_abi` attribute, specifid in

https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-elf.adoc#tag_riscv_atomic_abi-14-uleb128version.

The atomics_abi tag merging is conducted as follows:

- UNKNOWN is safe to merge with all other values.
- A6C is compatible with A6S, and results in the A6C ABI.
- A6C is incompatible with A7, and results in an error.
- A6S and A7 are compatible, and merging results in the A7 ABI.

Note: the A7 is not yet supported in either LLVM or in any current
hardware,
and is therefore ommited from attribute generation in
RISCVTargetStreamer.


  Commit: 733b271db793ce30c504a1b5c4ae7a8775b0a6a2
      https://github.com/llvm/llvm-project/commit/733b271db793ce30c504a1b5c4ae7a8775b0a6a2
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/docs/ReleaseNotes.rst
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/atomic-load-store.ll
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/CodeGen/RISCV/forced-atomics.ll

  Log Message:
  -----------
  [llvm][RISCV] Enable trailing fences for seq-cst stores by default (#87376)

With the tag merging in place, we can safely change the default for
+seq-cst-trailing-fence to the default, according to the recommendation
in

https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-atomic.adoc

This tag changes the default for the feature flag, and moves to more
consistent naming with respect to existing features.


  Commit: 5f67ce5611ba007ed363b6a78b9c4eac85b70837
      https://github.com/llvm/llvm-project/commit/5f67ce5611ba007ed363b6a78b9c4eac85b70837
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    M llvm/test/CodeGen/RISCV/rvv/vector-reassociations.ll

  Log Message:
  -----------
  [RISCV][MachineCombiner] Add reassociation optimizations for RVV instructions (#88307)

This patch covers a really basic reassociation optimizations for VADD_VV and VMUL_VV.


  Commit: eb7dc991841489e2f8f18467705944c9136b06d2
      https://github.com/llvm/llvm-project/commit/eb7dc991841489e2f8f18467705944c9136b06d2
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M lldb/bindings/interface/SBValueDocstrings.i
    M lldb/include/lldb/API/SBValue.h
    M lldb/source/API/SBValue.cpp
    A lldb/test/API/clear-sbvalue-nonaddressable-bits/Makefile
    A lldb/test/API/clear-sbvalue-nonaddressable-bits/TestClearSBValueNonAddressableBits.py
    A lldb/test/API/clear-sbvalue-nonaddressable-bits/main.c

  Log Message:
  -----------
  [lldb] Add SBValue::GetValueAsAddress API (#90144)

I previously added this API via https://reviews.llvm.org/D142792 in
2023, along with changes to the ValueObject class to treat pointer types
as addresses, and to annotate those ValueObjects with the original
uint64_t byte sequence AND the name of the symbol once stripped, if that
points to a symbol.

I did this unconditionally for all pointer type ValueObjects, and it
caused several regressions in the Objective-C data formatters which have
a ValueObject of an object, it has the address of its class -- but with
ObjC, sometimes it is a "tagged pointer" which is metadata, not an
actual pointer. (e.g. a small NSInteger value is stored entirely in the
tagged pointer, instead of a separate object) Treating these
not-addresses as addresses -- clearing the non-addressable-bits -- is
invalid.

The original version of this patch we're using downstream only does this
bits clearing for pointer types that are specifically decorated with the
pointerauth typequal, but not all of those clang changes are upstreamed
to github main yet, so I tried this simpler approach and hit the tagged
pointer issue and bailed on the whole patch.

This patch, however, is simply adding SBValue::GetValueAsAddress so
script writers who know that an SBValue has an address in memory, can
strip off any metadata. It's an important API to have for script writers
when AArch64 ptrauth is in use, so I'm going to put this part of the
patch back on github main now until we can get the rest of that original
patch upstreamed.


  Commit: bb2b04c73332f017955115fedb94790dac3608b9
      https://github.com/llvm/llvm-project/commit/bb2b04c73332f017955115fedb94790dac3608b9
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp

  Log Message:
  -----------
  [lldb] Recognize DW_TAG_LLVM_ptrauth_type as a type qual (#90140)

Jonas upstreamed recognition of DW_TAG_LLVM_ptrauth_type
https://reviews.llvm.org/D130215 but it isn't recognized as a type
qualifier tag in DWARFASTParserClang::ParseTypeFromDWARF.


  Commit: 5350052632fa3362a1ce89821703a96bc0066f26
      https://github.com/llvm/llvm-project/commit/5350052632fa3362a1ce89821703a96bc0066f26
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

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

  Log Message:
  -----------
  [RISCV] Move doUnion into DemandedFields. NFC

Keep the DemandedFields logic grouped together in the struct


  Commit: 8feedd5e067a5ea13e36c39dc634da5c34284ddd
      https://github.com/llvm/llvm-project/commit/8feedd5e067a5ea13e36c39dc634da5c34284ddd
  Author: Prashant Kumar <pk5561 at gmail.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp

  Log Message:
  -----------
  [mlir][linalg] Fix the semantic use of a flag (#90081)

`useInBoundsInsteadOfMasking` was doing the opposite i.e., when set to
true; was updating the mask instead of updating the inBounds.


  Commit: 45fc0e6b38b62a61b0ddcda2e7fe9b4fee7e3e58
      https://github.com/llvm/llvm-project/commit/45fc0e6b38b62a61b0ddcda2e7fe9b4fee7e3e58
  Author: Pranav Kant <prka at google.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaLookup.cpp

  Log Message:
  -----------
  Revert "[Clang][Sema] Fix warnings after #84050 (#90104)"

This reverts commit 6dd2617c80d5133b92fdff679364f2d8fcd93b47.


  Commit: 0c6e1ca1c704a3a0fb53ae54f7e3723736f477c7
      https://github.com/llvm/llvm-project/commit/0c6e1ca1c704a3a0fb53ae54f7e3723736f477c7
  Author: Pranav Kant <prka at google.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
    M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/owning-memory.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default-copy.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Lookup.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/Expr.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/SemaAttr.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/AST/HLSL/this-reference-template.hlsl
    M clang/test/CXX/drs/dr2xx.cpp
    M clang/test/CXX/drs/dr3xx.cpp
    R clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
    M clang/test/CXX/temp/temp.res/temp.local/p3.cpp
    M clang/test/CodeGenCXX/mangle.cpp
    M clang/test/Index/annotate-nested-name-specifier.cpp
    M clang/test/SemaCXX/member-expr.cpp
    M clang/test/SemaTemplate/instantiate-function-1.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp

  Log Message:
  -----------
  Revert "[Clang][Sema] Diagnose class member access expressions naming non-existent members of the current instantiation prior to instantiation in the absence of dependent base classes (#84050)"

This reverts commit a8fd0d029dca7d17eee72d0445223c2fe1ee7758.


  Commit: 040df69b10fc173cfc8bee007d7c9bd22f21a06c
      https://github.com/llvm/llvm-project/commit/040df69b10fc173cfc8bee007d7c9bd22f21a06c
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

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

  Log Message:
  -----------
  [RISCV] Use VSETVLIInfo != operator in needVSETVLIPHI. NFC

Instead of manually checking hasSameVTYPE and hasSameAVL.


  Commit: 2804a79bf6ceddf9df12f6a09fdbbe39a6d7d650
      https://github.com/llvm/llvm-project/commit/2804a79bf6ceddf9df12f6a09fdbbe39a6d7d650
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll

  Log Message:
  -----------
  [RISCV] Add test where we can remove a vsetvli via needVSETVLIPHI. NFC


  Commit: c2170a31ed063d4ec6f44a0fb8d124be92911e8b
      https://github.com/llvm/llvm-project/commit/c2170a31ed063d4ec6f44a0fb8d124be92911e8b
  Author: Alexander Shaposhnikov <6532716+alexander-shaposhnikov at users.noreply.github.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M flang/include/flang/Common/visit.h

  Log Message:
  -----------
  [Flang] Allow using common::visit with Clang (#90137)

Allow using common::visit with Clang.

Test plan: ninja check-all


  Commit: 593f6fdcb4bb3ff81ba4e6f89d7b16540c4b9eaf
      https://github.com/llvm/llvm-project/commit/593f6fdcb4bb3ff81ba4e6f89d7b16540c4b9eaf
  Author: Rob Suderman <rob.suderman at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/test/Dialect/Tensor/canonicalize.mlir

  Log Message:
  -----------
  [mlir][tensor] Fix tensor.reshape canonicalization (#90141)

Canonicalization defaulted to replacement when the input dims were from
unknown source. This is obviously incorrect. Tweaked and included test
to prevent future issue.


  Commit: 5a12f2867a167bbe11099150f3cb6b6cb77d767c
      https://github.com/llvm/llvm-project/commit/5a12f2867a167bbe11099150f3cb6b6cb77d767c
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang-tools-extra/clangd/CodeCompletionStrings.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
    M llvm/include/llvm/IR/GenericConvergenceVerifierImpl.h
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/Support/regcomp.c
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/utils/TableGen/DXILEmitter.cpp

  Log Message:
  -----------
  LLVM_FALLTHROUGH => [[fallthrough]]. NFC


  Commit: 771e4e89662f623be6e45bd4b84103552e5e910f
      https://github.com/llvm/llvm-project/commit/771e4e89662f623be6e45bd4b84103552e5e910f
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/lib/Support/regcomp.c

  Log Message:
  -----------
  regcomp.c: Restore LLVM_FALLTHROUGH to fix -Wc23-extensions


  Commit: 1e1ec916d30dc842e914e8a884f1bb4f62916730
      https://github.com/llvm/llvm-project/commit/1e1ec916d30dc842e914e8a884f1bb4f62916730
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

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

  Log Message:
  -----------
  [RISCV] Move PPBInfo exit check in needVSETVLIPHI. NFC

Compare the predecessor's exit after we've already checked that the PHI
comes from a vsetvli. That way it's more obvious that Require has the same
VL as PBBExit.


  Commit: e21d89eb8b0798d842b1240cc992cb979d54809c
      https://github.com/llvm/llvm-project/commit/e21d89eb8b0798d842b1240cc992cb979d54809c
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTypeUtilities.cpp

  Log Message:
  -----------
  [NFC][WASM] refactor `WebAssembly::parseType` with `StringSwitch` (#90149)


  Commit: cbe1760f02882328c91e5764648f97fe644f44c9
      https://github.com/llvm/llvm-project/commit/cbe1760f02882328c91e5764648f97fe644f44c9
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/test/Transforms/InstCombine/sub.ll

  Log Message:
  -----------
  [InstCombine] Allow multi-use OptimizePointerDifference() with two GEPs (#90017)

Currently, the OptimizePointerDifference fold does not trigger when
working on the sub of two geps where one of the geps has multiple uses,
to avoid duplicating the offset arithmetic too much.

However, there are cases where performing it would still be
clearly profitable, e.g. test_sub_ptradd_multiuse.

This patch drops the one-use restriction using the same strategy we use
in GEP comparison folds: If there are multiple uses, we rewrite the GEP
to use the expanded offset arithmetic instead (effectively
canonicalizing it into ptradd representation).

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


  Commit: a8c88de0dff865d1969b654bb5c0df181aa2df6a
      https://github.com/llvm/llvm-project/commit/a8c88de0dff865d1969b654bb5c0df181aa2df6a
  Author: Brian Gesiak <brian at modocache.io>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Tools/lsp-server-support/Transport.h
    M mlir/lib/Tools/mlir-lsp-server/LSPServer.cpp
    M mlir/lib/Tools/mlir-pdll-lsp-server/LSPServer.cpp
    M mlir/lib/Tools/tblgen-lsp-server/LSPServer.cpp

  Log Message:
  -----------
  Revert "[mlir-lsp] Rename `OutgoingNotification` (NFC) (#90076)"

This reverts commit b77416ea156acdec. While that seemed like an
appropriate rename at the time, further review on pull request #90078
makes it unnecessary. This revert changes the name back.


  Commit: 93de97d750548cd90c53efd4367dbd0367aa30fd
      https://github.com/llvm/llvm-project/commit/93de97d750548cd90c53efd4367dbd0367aa30fd
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang/test/CodeGen/X86/ms-x86-intrinsics.c
    M clang/test/CodeGen/attr-counted-by.c
    M clang/test/CodeGen/ms-mixed-ptr-sizes.c
    M llvm/include/llvm/IR/Function.h
    M llvm/lib/IR/Function.cpp
    M llvm/lib/Transforms/IPO/SCCP.cpp
    M llvm/test/Transforms/FunctionSpecialization/discover-transitive-phis.ll
    M llvm/test/Transforms/FunctionSpecialization/global-var-constants.ll
    M llvm/test/Transforms/FunctionSpecialization/literal-const.ll
    M llvm/test/Transforms/LowerTypeTests/cfi-nounwind-direct-call.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/quant_4x4.ll
    M llvm/test/Transforms/PhaseOrdering/icmp-ashr-breaking-select-idiom.ll
    M llvm/test/Transforms/PhaseOrdering/min_max_loop.ll
    M llvm/test/Transforms/SCCP/and-add-shl.ll
    M llvm/test/Transforms/SCCP/ip-add-range-to-call.ll
    M llvm/test/Transforms/SCCP/ip-ranges-casts.ll
    M llvm/test/Transforms/SCCP/ipsccp-basic.ll
    M llvm/test/Transforms/SCCP/switch.ll
    M llvm/test/Transforms/SCCP/trunc-nuw-nsw-flags.ll

  Log Message:
  -----------
  [SCCP] Swap out range metadata to range attribute (#90134)

Also moved the range from the function's call sites to the functions
return value as that is possible now.


  Commit: 6844c2feae93dd42516851057277f6130f1864e1
      https://github.com/llvm/llvm-project/commit/6844c2feae93dd42516851057277f6130f1864e1
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Tools/lsp-server-support/Transport.h
    M mlir/lib/Tools/lsp-server-support/Transport.cpp
    M mlir/unittests/CMakeLists.txt
    R mlir/unittests/Tools/CMakeLists.txt
    R mlir/unittests/Tools/lsp-server-support/CMakeLists.txt
    R mlir/unittests/Tools/lsp-server-support/Transport.cpp

  Log Message:
  -----------
  Revert 4 last "[mlir-lsp]" commits: pre-merge bot is broken

This reverts commits:
- f3f6f22dfcced21116710a477c78e0739c942139.
- 37e13d4924841bd84edb8c67c667d6d2a6c2bc63.
- ba1b52e6e764ad637822f0b63d144eca6e5d5627.
- 84bc21f9101730af611a0175d89ae2056d5f41a7.


  Commit: c8edf11dc9a03a8a128d4a1e170df05e8f12878d
      https://github.com/llvm/llvm-project/commit/c8edf11dc9a03a8a128d4a1e170df05e8f12878d
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/array.ll

  Log Message:
  -----------
  [InstCombine] Add tests for inbounds preservation in gep+add fold (NFC)


  Commit: c7f4b3e1bd5cab43d6f733a5107b2946c76bc0bb
      https://github.com/llvm/llvm-project/commit/c7f4b3e1bd5cab43d6f733a5107b2946c76bc0bb
  Author: ChiaHungDuan <chiahungduan at google.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/primary64.h

  Log Message:
  -----------
  [scudo] Fix the misused Exhausted in region allocation (#89852)

`Region->Exhausted` indicates that we don't have more pages to create
new blocks in the region. It has different meaning from region
allocation failure.

Also fix a minor lint in popBlocks()


  Commit: d26002ac38ee1dea32053e7d12f1bb5dc420ac2d
      https://github.com/llvm/llvm-project/commit/d26002ac38ee1dea32053e7d12f1bb5dc420ac2d
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp

  Log Message:
  -----------
  [InstCombine] Fix use-after-free in OptimizePointerDifference()

EmitGEPOffset() may remove the old GEP, so be sure to cache the
inbounds flag beforehand.


  Commit: 28b55342e1a8d7a4fddde0fe1678883cd3b2d868
      https://github.com/llvm/llvm-project/commit/28b55342e1a8d7a4fddde0fe1678883cd3b2d868
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M lld/test/ELF/mips-eh_frame-pic.s
    M llvm/include/llvm/Object/ELFObjectFile.h
    M llvm/lib/MC/ELFObjectWriter.cpp
    M llvm/test/CodeGen/RISCV/fixups-diff.ll
    M llvm/test/DebugInfo/LoongArch/dwarf-loongarch-relocs.ll
    M llvm/test/DebugInfo/RISCV/dwarf-riscv-relocs.ll
    M llvm/test/DebugInfo/RISCV/relax-debug-frame.ll
    A llvm/test/DebugInfo/Symbolize/ELF/riscv-empty-name-symbol.s
    R llvm/test/DebugInfo/Symbolize/ELF/riscv-temporary-symbol.s
    M llvm/test/ExecutionEngine/JITLink/RISCV/anonymous_symbol.s
    M llvm/test/MC/ELF/RISCV/gen-dwarf.s
    M llvm/test/MC/RISCV/cfi-advance.s
    M llvm/test/MC/RISCV/fde-reloc.s
    M llvm/test/MC/RISCV/scoped-relaxation.s

  Log Message:
  -----------
  Revert "[MC] Rename temporary symbols of empty name to ".L0 " (#89693)"

This reverts commit 96c45a7fa12619c3abd6b81effe4c80f0916b78b.

Broke BOLT builders and all pre-merge testing:
https://lab.llvm.org/buildbot/#/builders/244/builds/28097


  Commit: 59bfc31068746dcae4cfb3cc648cd5cf243a3ccd
      https://github.com/llvm/llvm-project/commit/59bfc31068746dcae4cfb3cc648cd5cf243a3ccd
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M .ci/monolithic-linux.sh

  Log Message:
  -----------
  [CI] Use trunk Clang in BOLT testing


  Commit: 2de0bedfebb77a6c8a5b0d00902f796fa4022fd6
      https://github.com/llvm/llvm-project/commit/2de0bedfebb77a6c8a5b0d00902f796fa4022fd6
  Author: NorthBlue333 <43409865+NorthBlue333 at users.noreply.github.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

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

  Log Message:
  -----------
  [clang-format] Do not update cursor pos if no includes replacement (#77456)

Fix https://github.com/llvm/llvm-project/issues/77450.

---------

Signed-off-by: NorthBlue333 <north333 at free.fr>
Co-authored-by: Owen Pan <owenpiano at gmail.com>


  Commit: e982032199bbc2feb5acec0f6ae023239a40c1ca
      https://github.com/llvm/llvm-project/commit/e982032199bbc2feb5acec0f6ae023239a40c1ca
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M bolt/lib/Rewrite/RewriteInstance.cpp
    A bolt/test/RISCV/fake-label-no-entry.c
    R bolt/test/RISCV/unnamed-sym-no-entry.c

  Log Message:
  -----------
  [BOLT,RISCV] Remove empty name special case from #68977

The special case is unneeded after #89693.

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


  Commit: 21b84928f99169a5679c9195c2307c2dd4c8f1fd
      https://github.com/llvm/llvm-project/commit/21b84928f99169a5679c9195c2307c2dd4c8f1fd
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    A llvm/test/Instrumentation/MemorySanitizer/vscale.ll

  Log Message:
  -----------
  [msan] Don't crash in CreateShadowCast on vscale (#90126)

Code expects `VectorOrPrimitiveTypeSizeInBits` compile time value,
which is not available for vscale.
    
In trivial case of the same type we need to do nothing.


  Commit: 4b255085833b58392d7699aaf5c20ea49559fda9
      https://github.com/llvm/llvm-project/commit/4b255085833b58392d7699aaf5c20ea49559fda9
  Author: SunilKuravinakop <98882378+SunilKuravinakop at users.noreply.github.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang/docs/OpenMPSupport.rst

  Log Message:
  -----------
  Notifying assume directive as 'worked on'.  (#90022)

Notifying assume directive as 'worked on'. When checked on slack
channel, nobody was working on assume directive.

 Changes to be committed:
	modified:   clang/docs/OpenMPSupport.rst

---------

Co-authored-by: Sunil Kuravinakop


  Commit: 65fb80beaee235b76023fae3277694c56a1b7d99
      https://github.com/llvm/llvm-project/commit/65fb80beaee235b76023fae3277694c56a1b7d99
  Author: Thorsten Schütt <schuett at gmail.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/docs/GlobalISel/MIRPatterns.rst

  Log Message:
  -----------
  [GlobalIsel]  Add Gallery to MIR Patterns (#89974)

examples for fold of zext(trunc:nuw)


  Commit: 7840fa91a24ec7b9b771fd105ee1a9e1ba58837f
      https://github.com/llvm/llvm-project/commit/7840fa91a24ec7b9b771fd105ee1a9e1ba58837f
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir

  Log Message:
  -----------
  [RISCV] Fix doPRE not checking for ignored AVLs

This fixes a crash introduced in 011a65353b8b4dc018541f86356f2dfa0f124f1a
that showed up when compiling with -mrvv-vector-bits=zvl. Beforehand, if a
basic block only contained vmv.s.x the AVL register in VSETVLIInfo would
have been NoRegister since it ignores VL.

In doPRE if AvailableInfo had a register AVL we checked that it dominated,
but coincidentally this failed for NoRegister. Now that the ignored AVL
case is separated out, check for it and bail.

As a side note, it turns out 011a65353b8b4dc018541f86356f2dfa0f124f1a is
less NFC than it seems as we can now do PRE on blocks where AvailableInfo's
AVL is VLMAX.


  Commit: f4efa067435c8137718c907bf0de2b891b76552d
      https://github.com/llvm/llvm-project/commit/f4efa067435c8137718c907bf0de2b891b76552d
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/AbstractBasicReader.h
    M clang/include/clang/AST/AbstractBasicWriter.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/Basic/LangOptions.h
    A clang/include/clang/Basic/PointerAuthOptions.h

  Log Message:
  -----------
  [PAC][clang] Define `PointerAuthQualifier` and `PointerAuthenticationMode` (#84384)

This brings declarations of `PointerAuthQualifier` class and
`PointerAuthenticationMode` enum and related functions required for
PAuth support in lldb (see #84387) from downstream Apple's code. See
#84387 for tests as well.

Co-authored-by: Ahmed Bougacha <ahmed at bougacha.org>
Co-authored-by: John McCall <rjmccall at apple.com>

---------

Co-authored-by: John McCall <rjmccall at apple.com>
Co-authored-by: Ahmed Bougacha <ahmed at bougacha.org>


  Commit: 0d288e5b0ccf217e41944ad4fd8772d8ae45daa1
      https://github.com/llvm/llvm-project/commit/0d288e5b0ccf217e41944ad4fd8772d8ae45daa1
  Author: Sunho Kim <ksunhokim123 at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M compiler-rt/lib/orc/common.h
    M compiler-rt/lib/orc/elfnix_platform.cpp
    M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter3/KaleidoscopeJIT.h
    M llvm/examples/SpeculativeJIT/SpeculativeJIT.cpp
    M llvm/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h
    A llvm/include/llvm/ExecutionEngine/Orc/IRPartitionLayer.h
    A llvm/include/llvm/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.h
    M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
    A llvm/include/llvm/ExecutionEngine/Orc/ReOptimizeLayer.h
    A llvm/include/llvm/ExecutionEngine/Orc/RedirectionManager.h
    M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
    M llvm/lib/ExecutionEngine/Orc/CompileOnDemandLayer.cpp
    A llvm/lib/ExecutionEngine/Orc/IRPartitionLayer.cpp
    A llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    A llvm/lib/ExecutionEngine/Orc/ReOptimizeLayer.cpp
    A llvm/lib/ExecutionEngine/Orc/RedirectionManager.cpp
    M llvm/tools/lli/lli.cpp
    M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
    A llvm/unittests/ExecutionEngine/Orc/JITLinkRedirectionManagerTest.cpp
    A llvm/unittests/ExecutionEngine/Orc/ReOptimizeLayerTest.cpp

  Log Message:
  -----------
  [ORC] Implement basic reoptimization. (#67050)


  Commit: 82d87600e5141af85deb8f3c5387513fda50dc43
      https://github.com/llvm/llvm-project/commit/82d87600e5141af85deb8f3c5387513fda50dc43
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/mul.ll

  Log Message:
  -----------
  [InstCombine] Add extra tests for mul nuw inference (NFC)


  Commit: 47682e4b4a0c8e7637d65868a7208aa6806a50f4
      https://github.com/llvm/llvm-project/commit/47682e4b4a0c8e7637d65868a7208aa6806a50f4
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M compiler-rt/lib/orc/common.h
    M compiler-rt/lib/orc/elfnix_platform.cpp
    M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter3/KaleidoscopeJIT.h
    M llvm/examples/SpeculativeJIT/SpeculativeJIT.cpp
    M llvm/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h
    R llvm/include/llvm/ExecutionEngine/Orc/IRPartitionLayer.h
    R llvm/include/llvm/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.h
    M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
    R llvm/include/llvm/ExecutionEngine/Orc/ReOptimizeLayer.h
    R llvm/include/llvm/ExecutionEngine/Orc/RedirectionManager.h
    M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
    M llvm/lib/ExecutionEngine/Orc/CompileOnDemandLayer.cpp
    R llvm/lib/ExecutionEngine/Orc/IRPartitionLayer.cpp
    R llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    R llvm/lib/ExecutionEngine/Orc/ReOptimizeLayer.cpp
    R llvm/lib/ExecutionEngine/Orc/RedirectionManager.cpp
    M llvm/tools/lli/lli.cpp
    M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
    R llvm/unittests/ExecutionEngine/Orc/JITLinkRedirectionManagerTest.cpp
    R llvm/unittests/ExecutionEngine/Orc/ReOptimizeLayerTest.cpp

  Log Message:
  -----------
  Revert "[ORC] Implement basic reoptimization. (#67050)"

This reverts commit 0d288e5b0ccf217e41944ad4fd8772d8ae45daa1.

Breaks the build.


  Commit: 0d56d88d9fc48f1b97a641422ee23cc6eabcd6ef
      https://github.com/llvm/llvm-project/commit/0d56d88d9fc48f1b97a641422ee23cc6eabcd6ef
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M lldb/test/Shell/Unwind/eh-frame-dwarf-unwind-abort.test

  Log Message:
  -----------
  [lldb] Update eh-frame-dwarf-unwind-abort.test for a change in llvm assembler

The jump instruction now gets encoded as a near jump, which changes some
offsets.


  Commit: 2308d4697e0b3b0cfd905e2b025ea905ee763fbe
      https://github.com/llvm/llvm-project/commit/2308d4697e0b3b0cfd905e2b025ea905ee763fbe
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/Opcodes.td

  Log Message:
  -----------
  [clang][Interp][NFC] Rename locals and add assertions to virtual casts


  Commit: 8979644bbd82b85ef40c17165b37769980455b75
      https://github.com/llvm/llvm-project/commit/8979644bbd82b85ef40c17165b37769980455b75
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang/lib/AST/Interp/Descriptor.h
    M clang/lib/AST/Interp/Disasm.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Add InlineDescriptor::dump()


  Commit: c70f05831663915f1c66d3767803ff74c08e79ee
      https://github.com/llvm/llvm-project/commit/c70f05831663915f1c66d3767803ff74c08e79ee
  Author: martinboehme <mboehme at google.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/ASTOps.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp

  Log Message:
  -----------
  [clang][dataflow] Fix crash when `ConstantExpr` is used in conditional operator. (#90112)

`ConstantExpr` does not appear as a `CFGStmt` in the CFG, so
`StmtToEnvMap::getEnvironment()` was not finding an entry for it in the
map,
causing a crash when we tried to access the iterator resulting from the
map
lookup.

The fix is to make `ignoreCFGOmittedNodes()` ignore `ConstantExpr`, but
in
addition, I'm hardening `StmtToEnvMap::getEnvironment()` to make sure
release
builds don't crash in similar situations in the future.


  Commit: 2b2c66c00f968b439f159bf200f801da9afaf22f
      https://github.com/llvm/llvm-project/commit/2b2c66c00f968b439f159bf200f801da9afaf22f
  Author: long.chen <lipracer at gmail.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp

  Log Message:
  -----------
  [NFC][llvm] refine generated code format (#90172)


  Commit: 88a733f8e6ca42de8c7818cc404e38cbc8f497c9
      https://github.com/llvm/llvm-project/commit/88a733f8e6ca42de8c7818cc404e38cbc8f497c9
  Author: bd1976bris <bd1976llvm at gmail.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-objcopy.rst

  Log Message:
  -----------
  [llvm-objcopy][docs] Use "Mark" rather than "Make" in the objcopy docs for consistency (#90080)

llvm-objcopy --help uses the term "Mark" rather than "Make".
  e.g. "Mark all symbols local"
Change llvm/docs to align.


  Commit: c2db883ff4340b2f70154eca04e3adbc8e0d082c
      https://github.com/llvm/llvm-project/commit/c2db883ff4340b2f70154eca04e3adbc8e0d082c
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Print virtual bases in Record::dump()


  Commit: bc8a4ea11070d06374b403cd09b771a99cc6ba1a
      https://github.com/llvm/llvm-project/commit/bc8a4ea11070d06374b403cd09b771a99cc6ba1a
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    M clang/lib/AST/Interp/Context.cpp
    M clang/lib/AST/Interp/Context.h

  Log Message:
  -----------
  [clang][Interp][NFC] Move collectBaseOffset() to Context

We will need this outside of ByteCodeExprGen later.


  Commit: 22da5a6e34ed6146752b24d9156a678b50fddaef
      https://github.com/llvm/llvm-project/commit/22da5a6e34ed6146752b24d9156a678b50fddaef
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
    A llvm/test/Transforms/IRCE/pr89959.ll

  Log Message:
  -----------
  [IRCE] Skip icmp ptr in `InductiveRangeCheck::parseRangeCheckICmp` (#89967)

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


  Commit: c4b28bf903644c8c540310594983eba741d45abe
      https://github.com/llvm/llvm-project/commit/c4b28bf903644c8c540310594983eba741d45abe
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M lldb/docs/resources/lldbgdbremote.md
    M lldb/docs/resources/lldbplatformpackets.md

  Log Message:
  -----------
  [lldb][Docs] Link from platform doc to extensions doc (#90029)

So we aren't describing the same packets twice. Basically turning the
platform doc into a list of cross links.

qLaunchSuccess was missing a description so I added one.


  Commit: d529e780f3935aadd42688fa8ab45d0350c2f70c
      https://github.com/llvm/llvm-project/commit/d529e780f3935aadd42688fa8ab45d0350c2f70c
  Author: Owen Anderson <resistor at mac.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Scalar/GVN.h
    M llvm/lib/Transforms/Scalar/GVN.cpp

  Log Message:
  -----------
  [GVN] Refactor the LeaderTable structure into a properly encapsulated data structure (#88347)

Hide the details of the one-off linked list used to implement the leader
lists by
wrapping them in iterators, and then use that to reimplement a number of
traversals
using standard algorithms and range-based for-loops.

No functional change intended.


  Commit: bd53c7cce418fe7f3e171859d4718df15d03dc2b
      https://github.com/llvm/llvm-project/commit/bd53c7cce418fe7f3e171859d4718df15d03dc2b
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M lldb/docs/resources/lldbgdbremote.md

  Log Message:
  -----------
  [lldb][Docs] Document vFile "MD5" and "exists"

This is a Markdown version of https://github.com/llvm/llvm-project/pull/89357.


  Commit: 1a343c9b0ff0b38d841a54bdbef130dbdc624451
      https://github.com/llvm/llvm-project/commit/1a343c9b0ff0b38d841a54bdbef130dbdc624451
  Author: zxc12523 <76193329+zxc12523 at users.noreply.github.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

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

  Log Message:
  -----------
  [X86] LowerVectorCTLZInRegLUT - fix: typo "CLTZ"-> "CTLZ" (#90051)


  Commit: cf5a8b489464d09dfdd7a48ce7c8b41d3c9bf819
      https://github.com/llvm/llvm-project/commit/cf5a8b489464d09dfdd7a48ce7c8b41d3c9bf819
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/new-delete-overloads.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/Darwin.h
    M clang/lib/Driver/ToolChains/ZOS.cpp
    M clang/test/AST/ast-dump-expr-json.cpp
    M clang/test/AST/ast-dump-expr.cpp
    M clang/test/AST/ast-dump-stmt-json.cpp
    M clang/test/Analysis/cxxnewexpr-callback.cpp
    M clang/test/CXX/basic/basic.stc/basic.stc.dynamic/basic.stc.dynamic.deallocation/p2.cpp
    M clang/test/CXX/drs/cwg292.cpp
    M clang/test/CXX/expr/expr.unary/expr.new/p14.cpp
    M clang/test/CodeGenCXX/cxx1y-sized-deallocation.cpp
    M clang/test/CodeGenCXX/cxx1z-aligned-allocation.cpp
    M clang/test/CodeGenCXX/cxx2a-destroying-delete.cpp
    M clang/test/CodeGenCXX/delete-two-arg.cpp
    M clang/test/CodeGenCXX/delete.cpp
    M clang/test/CodeGenCXX/dllimport.cpp
    M clang/test/CodeGenCXX/new.cpp
    M clang/test/CodeGenCoroutines/coro-aligned-alloc-2.cpp
    M clang/test/CodeGenCoroutines/coro-aligned-alloc.cpp
    M clang/test/CodeGenCoroutines/coro-alloc.cpp
    M clang/test/CodeGenCoroutines/coro-cleanup.cpp
    M clang/test/CodeGenCoroutines/coro-dealloc.cpp
    M clang/test/CodeGenCoroutines/coro-gro.cpp
    M clang/test/CodeGenCoroutines/pr56919.cpp
    M clang/test/Lexer/cxx-features.cpp
    M clang/test/PCH/cxx1z-aligned-alloc.cpp
    M clang/test/SemaCXX/MicrosoftExtensions.cpp
    M clang/test/SemaCXX/builtin-operator-new-delete.cpp
    M clang/test/SemaCXX/cxx1y-sized-deallocation.cpp
    M clang/test/SemaCXX/unavailable_aligned_allocation.cpp
    M clang/tools/clang-repl/CMakeLists.txt
    M clang/unittests/Interpreter/CMakeLists.txt
    M clang/unittests/StaticAnalyzer/CallEventTest.cpp
    M clang/www/cxx_status.html
    M libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp

  Log Message:
  -----------
  [clang] Enable sized deallocation by default in C++14 onwards (#83774)


Since C++14 has been released for about nine years and most standard
libraries have implemented sized deallocation functions, it's time to
make this feature default again.

This is another try of https://reviews.llvm.org/D112921.

Fixes #60061


  Commit: 1c8ba24da884b612125aafed98f67f41883dc24c
      https://github.com/llvm/llvm-project/commit/1c8ba24da884b612125aafed98f67f41883dc24c
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M flang/include/flang/Runtime/descriptor.h

  Log Message:
  -----------
  [flang] Silence warning in release builds

/home/david.spickett/llvm-project/flang/include/flang/Runtime/descriptor.h:458:30: warning: variable 'addendum' set but not used [-Wunused-but-set-variable]
  458 |     if (DescriptorAddendum * addendum{descriptor().Addendum()}) {
      |

The if body is purely asserts.


  Commit: e0a51553c40ec9193be30a5ee41d786ef896811b
      https://github.com/llvm/llvm-project/commit/e0a51553c40ec9193be30a5ee41d786ef896811b
  Author: WANG Rui <wangrui at loongson.cn>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchSubtarget.h

  Log Message:
  -----------
  [LoongArch] Simplify RISCVSubtarget. NFC

The flags, initialization of the flags, and the getter methods for
features defined in LoongArch.td can be generated by TableGen.


  Commit: 15f02723d49be9a828fbf072966a225babd60457
      https://github.com/llvm/llvm-project/commit/15f02723d49be9a828fbf072966a225babd60457
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
    M clang/lib/AST/Interp/Descriptor.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/test/AST/Interp/cxx23.cpp
    M clang/test/AST/Interp/records.cpp

  Log Message:
  -----------
  [clang][Interp] Improve support for virtual bases

Fix initializing virtual bases. We only consider their base size,
not their virtual size because they get flattened into the Record
hierarchy when we create them. Fix that and also virtual
derived-to-base casts.


  Commit: 6578356a4e3e6acd7983c74feab43ac96925894c
      https://github.com/llvm/llvm-project/commit/6578356a4e3e6acd7983c74feab43ac96925894c
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

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

  Log Message:
  -----------
  [TableGen] Ignore inaccessible memory when checking pattern flags (#90061)

In the AMDGPU backend we have some cases where we'd like to mark an
intrinsic as IntrInaccessibleMemOnly to model dependencies, but the
corresponding MachineInstrs use uses/defs of a special physical register
to express the same thing. In this case TableGen would complain:

  Pattern doesn't match mayLoad/mayStore = 0

but the error is not useful.


  Commit: 23b6709c72357c8b8f0ffa6cdbd860977441982b
      https://github.com/llvm/llvm-project/commit/23b6709c72357c8b8f0ffa6cdbd860977441982b
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/test/CodeGen/AArch64/machine-combiner-subadd2.mir

  Log Message:
  -----------
  [AArch64] Drop poison-generating flags in `genSubAdd2SubSub` combiner

A miscompilation issue has been addressed with improved handling.

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


  Commit: 74a5e7784b32aba5670ff427b158d1e6e38012f1
      https://github.com/llvm/llvm-project/commit/74a5e7784b32aba5670ff427b158d1e6e38012f1
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/SubprocessMemory.cpp

  Log Message:
  -----------
  [llvm-exegesis] Close file descriptors after use (#86584)

There are several insstances in the subprocess executor in llvm-exegesis
where we fail to close file descriptors after using them. This leaves
them open, which can cause issues later on if a third-party binary is
using the exegesis libraries and executing many blocks before exiting.
Leaving the descriptors open until process exit is also bad practice.
This patch fixes that by explicitly calling close() when we are done
with a specific file descriptor.

This patch fixes #86583.


  Commit: 24c6409d56e43a7af3f6be6dd3e7267e243fb162
      https://github.com/llvm/llvm-project/commit/24c6409d56e43a7af3f6be6dd3e7267e243fb162
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeStmtGen.cpp

  Log Message:
  -----------
  [clang] Fix -Wunused-variable in ByteCodeStmtGen.cpp (NFC)

llvm-project/clang/lib/AST/Interp/ByteCodeStmtGen.cpp:196:31:
error: unused variable 'B' [-Werror,-Wunused-variable]
          const Record::Base *B = R->getVirtualBase(BaseDecl);
                              ^
1 error generated.


  Commit: 08dc03c57078ab806dbf015554b9faf38ccc4d4d
      https://github.com/llvm/llvm-project/commit/08dc03c57078ab806dbf015554b9faf38ccc4d4d
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/Transforms/LoopVersioning.cpp

  Log Message:
  -----------
  [flang][NFC] Use tablegen to create LoopVersioning constructor (#90037)

The pass is currently defined as only considering function arguments as
candidates for the optimization. I would prefer to generalise the pass
for other top level operations only when there is a concrete use case
before making too many assumptions about the current set of top level
operations. Therefore I have not adapted this pass to run on all top
level operations.


  Commit: 46b66dfd31ed0206b4444b77612df42193fe5b42
      https://github.com/llvm/llvm-project/commit/46b66dfd31ed0206b4444b77612df42193fe5b42
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/Transforms/StackArrays.cpp

  Log Message:
  -----------
  [flang][NFC] use tablegen to create StackArrays constructor (#90038)

Stack arrays needs to stay running only on func.func because it needs to
know which block terminators can end the function (rather than just
branch between unstructured control flow). A similar concept does not
exist at the more abstract level of "any top level mlir operation".

For example, it currently looks for func::ReturnOp and
fir::UnreachableOp as points when execution can end. If this were to be
run on omp.declare_reduction, it would also need to understand
omp.YieldOp (perhaps only when omp.declare_reduction is the parent).
There isn't a generic concept in MLIR for this.


  Commit: 213ab9610ced9152f70f5b9777347c28e777a0ff
      https://github.com/llvm/llvm-project/commit/213ab9610ced9152f70f5b9777347c28e777a0ff
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/Transforms/MemoryAllocation.cpp

  Log Message:
  -----------
  [flang][NFC] Use tablegen to reduce MemoryAllocationOpt boilerplate (#90062)

This is another one that runs on functions but isn't appropriate to also
run on other top level operations. It needs to find all paths that
return from the function to free heap allocated memory. There isn't a
generic concept for general top level operations which is equivalent to
looking for function returns.

I removed the manual definition of the options structure because there
is already an identical definition in tablegen and the options are
documented in Passes.td.


  Commit: 2e3e0868748635b779ba89a772eae3664bd822e4
      https://github.com/llvm/llvm-project/commit/2e3e0868748635b779ba89a772eae3664bd822e4
  Author: CL <48561979+coderchenlin at users.noreply.github.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    A llvm/test/Transforms/LoopUnroll/unroll-remove-redundant-dbg.ll
    M llvm/test/Transforms/SimplifyCFG/hoist-dbgvalue-inlined.ll
    M llvm/test/Transforms/SimplifyCFG/hoist-dbgvalue.ll

  Log Message:
  -----------
  [BasicBlockUtils] Remove redundant llvm.dbg instructions after blocks to reduce compile time (#89069)

this patch is to fix the compile time for some cases, before this
change, some targets (riscv-64, ve) will spend much more compile time on
this case (https://godbolt.org/z/rrov17cTo). With this change, the
compile time was reduced a lot.

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

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


  Commit: 1ed1ec9a99bf543b0a926434beca53a42d2de94d
      https://github.com/llvm/llvm-project/commit/1ed1ec9a99bf543b0a926434beca53a42d2de94d
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    A llvm/test/CodeGen/SPIRV/printf.ll
    A llvm/test/CodeGen/SPIRV/transcoding/spirv-event-null.ll

  Log Message:
  -----------
  [SPIRV] Improve builtins matching  and type inference in SPIR-V Backend,  fix target ext type constants (#89948)

This PR is to improve builtins matching and type inference in SPIR-V
Backend. The model test case is printf call from OpenCL.std that has
several features allowing for a wider look at builtins support/type
inference:
(1) call in a "spirv-friendly" style (prefixed by __spirv_ocl_)
(2) restricted type of the 1st argument

Attached test cases checks several possible inputs. Support of the
extension SPV_EXT_relaxed_printf_string_address_space is to do (see:
https://github.com/KhronosGroup/SPIRV-Registry/blob/main/extensions/EXT/SPV_EXT_relaxed_printf_string_address_space.asciidoc).

This PR also fixes target ext type constants and
OpGroupAsyncCopy/OpGroupWaitEvents generation. A new test case is
attached.


  Commit: f1112ebe074ea098d83dd100e67c218e1a20adf9
      https://github.com/llvm/llvm-project/commit/f1112ebe074ea098d83dd100e67c218e1a20adf9
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
    M llvm/test/Transforms/AtomicExpand/AMDGPU/no-expand-atomic-load.ll

  Log Message:
  -----------
  AMDGPU: Do not bitcast atomic load in IR (#90060)

These hooks should be removed. This is a trivial legalization transform
the legalizer needs to support. The IR just complicates things, and it
was losing metadata. Implement the DAG promotion support, and switch
AMDGPU over to using it.

Really we'd be a lot better off merging ATOMIC_LOAD and LOAD like
GlobalISel does.


  Commit: 5c969af66ac1ea58425101772ad099698f49a20d
      https://github.com/llvm/llvm-project/commit/5c969af66ac1ea58425101772ad099698f49a20d
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    A flang/test/Lower/OpenMP/default-clause-implied-do-fix.f90

  Log Message:
  -----------
  [Flang][OpenMP] Skip default privatization of implied do indices (#89915)

The scope of these indices is limited to the implied-do and is mapped to
SSA values or registers and hence need not be privatized.

Fixes #87216


  Commit: 0fa1f1f2d117564d86a0df8383e84341ba85c531
      https://github.com/llvm/llvm-project/commit/0fa1f1f2d117564d86a0df8383e84341ba85c531
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_fp_reduce.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td

  Log Message:
  -----------
  [LLVM][SVE] Seperate the int and floating-point variants of addqv. (#89762)

We only use common intrinsics for operations that treat their element
type as a container of bits.


  Commit: 12adaac7edf47f50bed536dd5e6eb1fd1caeef9f
      https://github.com/llvm/llvm-project/commit/12adaac7edf47f50bed536dd5e6eb1fd1caeef9f
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    A llvm/test/CodeGen/X86/combine-or-shuffle.ll
    M llvm/test/CodeGen/X86/combine-or.ll

  Log Message:
  -----------
  [X86] Split off or + blend/shuffle combine tests from combine-or.ll

Add additional cpu test coverage


  Commit: 28675109ccb69fbb6de93167a66a93663ceed65e
      https://github.com/llvm/llvm-project/commit/28675109ccb69fbb6de93167a66a93663ceed65e
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

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

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


  Commit: 1b2f970e9f40eb2a3bd082b6a660d4f58ba4f59b
      https://github.com/llvm/llvm-project/commit/1b2f970e9f40eb2a3bd082b6a660d4f58ba4f59b
  Author: CarolineConcatto <caroline.concatto at arm.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/lib/Target/AArch64/AArch64.td
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/test/MC/AArch64/SME2p1/fadd-diagnostics.s
    M llvm/test/MC/AArch64/SME2p1/fadd.s
    M llvm/test/MC/AArch64/SME2p1/fcvt.s
    M llvm/test/MC/AArch64/SME2p1/fcvtl-diagnostics.s
    M llvm/test/MC/AArch64/SME2p1/fcvtl.s
    M llvm/test/MC/AArch64/SME2p1/fmla-diagnostics.s
    M llvm/test/MC/AArch64/SME2p1/fmla.s
    M llvm/test/MC/AArch64/SME2p1/fmls-diagnostics.s
    M llvm/test/MC/AArch64/SME2p1/fmls.s
    M llvm/test/MC/AArch64/SME2p1/fmopa-diagnostics.s
    M llvm/test/MC/AArch64/SME2p1/fmopa.s
    M llvm/test/MC/AArch64/SME2p1/fmops-diagnostics.s
    M llvm/test/MC/AArch64/SME2p1/fmops.s
    M llvm/test/MC/AArch64/SME2p1/fsub-diagnostics.s
    M llvm/test/MC/AArch64/SME2p1/fsub.s

  Log Message:
  -----------
  [LLVM][AARCH64]Replace +sme2p1+smef16f16 by +smef16f16 (#88860)

According to the latest ISA Spec release[1] all instructions under:
     HasSME2p1 and HasSMEF16F16
should now only require:
    HasSMEF16F16

    [1]https://developer.arm.com


  Commit: 468fecfc39a7ad4a88ac9f8b8acb5ea76cbb1fc7
      https://github.com/llvm/llvm-project/commit/468fecfc39a7ad4a88ac9f8b8acb5ea76cbb1fc7
  Author: Troy Butler <118708570+Troy-Butler at users.noreply.github.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.h

  Log Message:
  -----------
  Fix mismatches between function parameter definitions and declarations (#89512)

Addresses issue #88716.

Some function parameter names in the affected header files did not match
the parameter names in the definitions, or were listed in a different
order.

---------

Signed-off-by: Troy-Butler <squintik at outlook.com>


  Commit: 357530f11351687aaec2f19ef7e19c82d5317210
      https://github.com/llvm/llvm-project/commit/357530f11351687aaec2f19ef7e19c82d5317210
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/docs/ReleaseNotes.rst
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/atomic-load-store.ll
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/CodeGen/RISCV/forced-atomics.ll

  Log Message:
  -----------
  Revert "[llvm][RISCV] Enable trailing fences for seq-cst stores by default (#87376)"

This reverts commit 733b271db793ce30c504a1b5c4ae7a8775b0a6a2.

Reverting in order to revert the companion patch adding the atomics ABI
ELF attributes due to the reported incompatibility with GNU ld.
https://github.com/llvm/llvm-project/pull/84597#issuecomment-2079128332


  Commit: 431be8626696da6059eee26b9a14e1dc9fc0c37f
      https://github.com/llvm/llvm-project/commit/431be8626696da6059eee26b9a14e1dc9fc0c37f
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M lld/ELF/Arch/RISCV.cpp
    M lld/test/ELF/riscv-attributes.s
    M llvm/include/llvm/Support/RISCVAttributeParser.h
    M llvm/include/llvm/Support/RISCVAttributes.h
    M llvm/lib/Support/RISCVAttributeParser.cpp
    M llvm/lib/Support/RISCVAttributes.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/MC/RISCV/attribute.s
    M llvm/test/MC/RISCV/invalid-attribute.s

  Log Message:
  -----------
  Revert "[RISCV] Support RISCV Atomics ABI attributes (#84597)"

This reverts commit 9221f3af8f832d990be986c05d964ad37e5a2356.

As reported
<https://github.com/llvm/llvm-project/pull/84597#issuecomment-2079128332>
and confirmed by me locally, adding these attributes causes current GNU
ld to segfault when processing the input. Reverted so we can discuss
the best next step.


  Commit: 73472c5996716cda0dbb3ddb788304e0e7e6a323
      https://github.com/llvm/llvm-project/commit/73472c5996716cda0dbb3ddb788304e0e7e6a323
  Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/AArch64/combine-mul.ll
    M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insertelement.ll
    M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/insertelement.ll
    M llvm/test/CodeGen/RISCV/alu64.ll
    M llvm/test/CodeGen/RISCV/atomicrmw-uinc-udec-wrap.ll
    M llvm/test/CodeGen/RISCV/bfloat-convert.ll
    M llvm/test/CodeGen/RISCV/double-convert.ll
    M llvm/test/CodeGen/RISCV/double-round-conv-sat.ll
    M llvm/test/CodeGen/RISCV/float-convert.ll
    M llvm/test/CodeGen/RISCV/float-round-conv-sat.ll
    M llvm/test/CodeGen/RISCV/forced-atomics.ll
    M llvm/test/CodeGen/RISCV/fpclamptosat.ll
    M llvm/test/CodeGen/RISCV/half-convert.ll
    M llvm/test/CodeGen/RISCV/half-round-conv-sat.ll
    M llvm/test/CodeGen/RISCV/iabs.ll
    M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
    M llvm/test/CodeGen/X86/abdu-vector-128.ll
    M llvm/test/CodeGen/X86/apx/kmov-postrapseudos.ll
    M llvm/test/CodeGen/X86/avx512-broadcast-arith.ll
    M llvm/test/CodeGen/X86/combine-mul.ll
    M llvm/test/CodeGen/X86/div-rem-pair-recomposition-signed.ll
    M llvm/test/CodeGen/X86/fold-masked-merge.ll
    M llvm/test/CodeGen/X86/freeze-binary.ll
    M llvm/test/CodeGen/X86/freeze-combine.ll
    M llvm/test/CodeGen/X86/gfni-funnel-shifts.ll
    M llvm/test/CodeGen/X86/gfni-rotates.ll
    M llvm/test/CodeGen/X86/known-never-zero.ll
    M llvm/test/CodeGen/X86/midpoint-int-vec-128.ll
    M llvm/test/CodeGen/X86/midpoint-int-vec-256.ll
    M llvm/test/CodeGen/X86/pr38539.ll
    M llvm/test/CodeGen/X86/pr62286.ll
    M llvm/test/CodeGen/X86/scheduler-backtracking.ll
    M llvm/test/CodeGen/X86/sdiv_fix_sat.ll
    M llvm/test/CodeGen/X86/setcc-non-simple-type.ll
    M llvm/test/CodeGen/X86/vec_saddo.ll
    M llvm/test/CodeGen/X86/vec_ssubo.ll
    M llvm/test/CodeGen/X86/vec_uaddo.ll
    M llvm/test/CodeGen/X86/vec_usubo.ll
    M llvm/test/CodeGen/X86/vector-bo-select.ll
    M llvm/test/CodeGen/X86/vector-fshr-128.ll
    M llvm/test/CodeGen/X86/vector-fshr-256.ll
    M llvm/test/CodeGen/X86/vector-fshr-sub128.ll
    M llvm/test/CodeGen/X86/vector-shift-shl-128.ll

  Log Message:
  -----------
  [SelectionDAG] Treat CopyFromReg as freezing the value (#85932)

The description of CopyFromReg in ISDOpcodes.h says that the input
valus is defined outside the scope of the current SelectionDAG. I
think that means that we basically can treat it as a FREEZE in the
sense that it can be seen as neither being undef nor poison.

Being able to fold freeze(CopyFromReg) into CopyFromReg seems
useful to avoid regressions if we start to introduce freeze
instruction in DAGCombiner/foldBoolSelectToLogic, e.g. to solve
https://github.com/llvm/llvm-project/issues/84653

Things _not_ dealt with in this patch:
- Depending on calling convention an input argument can be passed
  also on the stack and not in a register. If it is allowed to treat
  an argument received in a register as not being poison, then I think
  we want to treat arguments received on the stack the same way. But
  then we need to attribute load instructions, or add explicit FREEZE
  when lowering formal arguments.
- A common pattern is that there is an AssertZext or AssertSext just
  after CopyFromReg. I think that if we treat CopyFromReg as never
  being poison, then it should be allowed to fold
     (freeze(AssertZext(CopyFromReg))) -> AssertZext(CopyFromReg))


  Commit: 8e2f6495c0bac1dd6ee32b6a0d24152c9c343624
      https://github.com/llvm/llvm-project/commit/8e2f6495c0bac1dd6ee32b6a0d24152c9c343624
  Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/X86/freeze-binary.ll

  Log Message:
  -----------
  [DAGCombiner] Do not always fold FREEZE over BUILD_VECTOR (#85932)

Avoid turning a BUILD_VECTOR that can be recognized as "all zeros",
"all ones" or "constant" into something that depends on
freeze(undef), as that would destroy those properties.

Instead we replace undef by 0/-1 in such vectors, making it possible
to fold away the freeze. We typically use -1 if the BUILD_VECTOR
would identify as "all ones", and otherwise we use the value 0.


  Commit: a670cdadca54910a8e65d5521f2119337fb0bd03
      https://github.com/llvm/llvm-project/commit/a670cdadca54910a8e65d5521f2119337fb0bd03
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/test/Driver/aarch64-mcpu.c
    M clang/test/Misc/target-invalid-cpu-note.c
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/lib/Target/AArch64/AArch64Processors.td
    M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
    M llvm/lib/TargetParser/Host.cpp
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  [AArch64] Add support for Neoverse-N3, Neoverse-V3 and Neoverse-V3AE (#90143)

Neoverse-N3, Neoverse-V3 and Neoverse-V3AE are Armv9.2 AArch64 CPUs.

Technical Reference Manual for Neoverse-N3:
   https://developer.arm.com/documentation/107997/latest/

Technical Reference Manual for Neoverse-V3:
   https://developer.arm.com/documentation/107734/latest/

Technical Reference Manual for Neoverse-V3AE:
   https://developer.arm.com/documentation/101595/latest/


  Commit: 134e645645832af6fe9c15d121551de989aa81cf
      https://github.com/llvm/llvm-project/commit/134e645645832af6fe9c15d121551de989aa81cf
  Author: Dan Klishch <30951924+DanShaders at users.noreply.github.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang/lib/Headers/cpuid.h

  Log Message:
  -----------
  [clang][X86] Fix -Wundef warning in cpuid.h (#89842)

Caught by compiling a project (SerenityOS) that uses compiler-rt and not
silencing warnings from system headers.


  Commit: 39f1b2de6f6d45de226292fd24e2a2ceaab6c82f
      https://github.com/llvm/llvm-project/commit/39f1b2de6f6d45de226292fd24e2a2ceaab6c82f
  Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    A llvm/test/CodeGen/RISCV/pr84653_pr85190.ll

  Log Message:
  -----------
  Add test cases for SELECT->AND miscompiles in DAGCombiner

Adding reproducers for github issues #84653 and #85190.


  Commit: c4c9d4f306732c854fa88d2f30c1a22bb025d0c9
      https://github.com/llvm/llvm-project/commit/c4c9d4f306732c854fa88d2f30c1a22bb025d0c9
  Author: Peter Lafreniere <peter at n8pjl.ca>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Target/M68k/M68kExpandPseudo.cpp
    M llvm/lib/Target/M68k/M68kInstrData.td
    M llvm/lib/Target/M68k/M68kInstrInfo.cpp
    M llvm/lib/Target/M68k/M68kInstrInfo.h
    M llvm/test/CodeGen/M68k/Arith/add-with-overflow.ll
    M llvm/test/CodeGen/M68k/Arith/add.ll
    M llvm/test/CodeGen/M68k/Arith/bitwise.ll
    M llvm/test/CodeGen/M68k/Arith/divide-by-constant.ll
    M llvm/test/CodeGen/M68k/Arith/imul.ll
    M llvm/test/CodeGen/M68k/Arith/smul-with-overflow.ll
    M llvm/test/CodeGen/M68k/Arith/sub-with-overflow.ll
    M llvm/test/CodeGen/M68k/Arith/sub.ll
    M llvm/test/CodeGen/M68k/Arith/umul-with-overflow.ll
    M llvm/test/CodeGen/M68k/CConv/c-call.ll
    M llvm/test/CodeGen/M68k/CConv/fastcc-call.ll
    M llvm/test/CodeGen/M68k/CodeModel/medium-pie-global-access.ll
    M llvm/test/CodeGen/M68k/CodeModel/small-pie-global-access.ll
    M llvm/test/CodeGen/M68k/Control/cmp.ll
    M llvm/test/CodeGen/M68k/Control/long-setcc.ll
    M llvm/test/CodeGen/M68k/Control/setcc.ll
    M llvm/test/CodeGen/M68k/PR57660.ll
    M llvm/test/CodeGen/M68k/gcc_except_table.ll
    M llvm/test/CodeGen/M68k/link-unlnk.ll
    M llvm/test/MC/Disassembler/M68k/data.txt
    M llvm/test/MC/M68k/Data/Classes/MxMove_RI.s

  Log Message:
  -----------
  [M68k] Add support for MOVEQ instruction (#88542)

Add support for the moveq instruction, which is both faster and smaller
(1/2 to 1/3 the size) than a move with immediate to register.

This change introduces the instruction, along with a set of
pseudoinstructions to handle immediate moves to a register that is
lowered post-RA.

Pseudos are used as moveq can only write to the full register, which
makes
matching i8 and i16 immediate loads difficult in tablegen. Furthermore,
selecting moveq before RA constrains that immediate to be moved into a
data
register, which may not be optimal.

The bulk of this change are fixes to existing tests, which cover the new
functionality sufficiently.


  Commit: 7696d36b4ed595bf9681fd379d1dcbaf30c1ef0a
      https://github.com/llvm/llvm-project/commit/7696d36b4ed595bf9681fd379d1dcbaf30c1ef0a
  Author: Carlos Alberto Enciso <Carlos.Enciso at sony.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicInst.h
    M llvm/include/llvm/Transforms/Scalar/JumpThreading.h
    M llvm/include/llvm/Transforms/Utils/Local.h
    M llvm/lib/IR/IntrinsicInst.cpp
    M llvm/lib/Transforms/Scalar/JumpThreading.cpp
    M llvm/lib/Transforms/Utils/CloneFunction.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/test/Transforms/CallSiteSplitting/callsite-split-debug.ll

  Log Message:
  -----------
  [Transforms] Debug values are not remapped when cloning. (#87747)

When cloning instructions from one basic block to another,
the debug values are not remapped, in the same was as the
normal instructions.


  Commit: c379a5b69e7e1917589a1d0b6993d74e6697490e
      https://github.com/llvm/llvm-project/commit/c379a5b69e7e1917589a1d0b6993d74e6697490e
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

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

  Log Message:
  -----------
  [RISCV][NFC] Future-proof reference to ISA manual in RISCVInstrInfoC.td

The reference to a particular page number is long since out of date.
Instead, let's name the section title which at least has remained stable
so far.


  Commit: 55d85c84ac01fda633c82e7ba821f6e62352a5c3
      https://github.com/llvm/llvm-project/commit/55d85c84ac01fda633c82e7ba821f6e62352a5c3
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/X86/combine-or.ll
    M llvm/test/CodeGen/X86/subvectorwise-store-of-vector-splat.ll

  Log Message:
  -----------
  [DAG] visitORCommutative - fold build_pair(not(x),not(y)) -> not(build_pair(x,y)) style patterns (#90050)

(Sorry, not an actual build_pair node just a similar pattern).

For cases where we're concatenating 2 integers into a double width integer, see if both integer sources are NOT patterns.

We could take this further and handle all logic ops with a constant operands, but I just wanted to handle the case reported on #89533 initially.

Fixes #89533


  Commit: bb1a8bbbf06f4cbe66b685b068add5ae63c21697
      https://github.com/llvm/llvm-project/commit/bb1a8bbbf06f4cbe66b685b068add5ae63c21697
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang/test/ParserOpenACC/parse-cache-construct.cpp

  Log Message:
  -----------
  [NFC][OpenACC] Remove stale FIXME comment in a test

A recent patch changed the array sections to work differently for
OpenACC, including for the diagnostic, so the FIXME is now irrelevant.


  Commit: 405c018c71fb685425df4fe173e54f5edc5d6979
      https://github.com/llvm/llvm-project/commit/405c018c71fb685425df4fe173e54f5edc5d6979
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

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

  Log Message:
  -----------
  DAG: Simplify demanded bits for truncating atomic_store (#90113)

It's really unfortunate that STORE and ATOMIC_STORE are separate
opcodes. This duplicates a basic simplify demanded for the truncating
case. This avoids some AMDGPU lit regressions in a future patch.

I'm not sure how to craft a test that exposes this without first
introducing the regressions by promoting half to i16.


  Commit: 904b1a850536d273b0e11bd17a7ea642ba3b5bc4
      https://github.com/llvm/llvm-project/commit/904b1a850536d273b0e11bd17a7ea642ba3b5bc4
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
    M llvm/test/Transforms/OpenMP/add_attributes.ll
    M offload/test/unified_shared_memory/api.c
    M offload/test/unified_shared_memory/close_manual.c
    M offload/test/unified_shared_memory/shared_update.c

  Log Message:
  -----------
  [Offload] Remove remaining `__tgt_register_requires` references (#90198)

Summary:
This call was removed a few months ago to allow the runtime to actually
init / deinit in a correct order. However that patch forgot to remove a
few leftover uses.


  Commit: ace3bd0580d47fa044014eedd1e42ab6ab4d1e11
      https://github.com/llvm/llvm-project/commit/ace3bd0580d47fa044014eedd1e42ab6ab4d1e11
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

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

  Log Message:
  -----------
  Revert "[TableGen] Ignore inaccessible memory when checking pattern flags (#90061)"

This reverts commit 6578356a4e3e6acd7983c74feab43ac96925894c.

The patch had no effect due to a silly mistake and fixing the mistake
causes other problems.


  Commit: d74e42acd2479eb9f3bd8077fd3be2f3395aa638
      https://github.com/llvm/llvm-project/commit/d74e42acd2479eb9f3bd8077fd3be2f3395aa638
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-reorder-reshuffle.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr46983.ll

  Log Message:
  -----------
  [SLP]Attempt to vectorize long stores, if short one failed.

We can try to vectorize long store sequences, if short ones were
unsuccessful because of the non-profitable vectorization. It should not
increase compile time significantly (stores are sorted already,
complexity is n x log n), but vectorize extra code.

Metric: size..text

Program                                                                         size..text
                                                                                results     results0    diff
         test-suite :: External/SPEC/CINT2006/400.perlbench/400.perlbench.test  1088012.00  1088236.00  0.0%
                  test-suite :: SingleSource/UnitTests/matrix-types-spec.test   480396.00   480476.00  0.0%
          test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test   664613.00   664661.00  0.0%
         test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test   664613.00   664661.00  0.0%
        test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test  2041105.00  2040961.00 -0.0%
                 test-suite :: MultiSource/Applications/JM/lencod/lencod.test   836563.00   836387.00 -0.0%
                 test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test  1035100.00  1032140.00 -0.3%

In all benchmarks extra code gets vectorized

Reviewers: RKSimon

Reviewed By: RKSimon

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


  Commit: 450ac01bb9f4ee4f9e05eb6846f256bf2079a436
      https://github.com/llvm/llvm-project/commit/450ac01bb9f4ee4f9e05eb6846f256bf2079a436
  Author: Diego Caballero <diegocaballero at google.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M mlir/lib/Dialect/MemRef/Transforms/ExpandStridedMetadata.cpp
    M mlir/test/Dialect/MemRef/expand-strided-metadata.mlir

  Log Message:
  -----------
  [mlir][MemRef] Add ExtractStridedMetadataOpCollapseShapeFolder (#89954)

This PR adds a new pattern to the set of patterns used to resolve the offset, sizes and
stride of a memref. Similar to `ExtractStridedMetadataOpSubviewFolder`, the new
pattern resolves strided_metadata(collapse_shape) directly, without introduce a
reshape_cast op.


  Commit: 950b7ce0b88318f9099e9a7c9817d224ebdc6337
      https://github.com/llvm/llvm-project/commit/950b7ce0b88318f9099e9a7c9817d224ebdc6337
  Author: Christian Sigg <chsigg at users.noreply.github.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M flang/include/flang/Lower/Mangler.h
    M flang/include/flang/Optimizer/Analysis/TBAAForest.h
    M flang/include/flang/Optimizer/Builder/BoxValue.h
    M flang/include/flang/Optimizer/Builder/Factory.h
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/PPCIntrinsicCall.h
    M flang/include/flang/Optimizer/Dialect/CanonicalizationPatterns.td
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FIRType.h
    M flang/include/flang/Optimizer/Dialect/FIRTypes.td
    M flang/include/flang/Optimizer/Dialect/FortranVariableInterface.td
    M flang/include/flang/Optimizer/HLFIR/HLFIRDialect.h
    M flang/include/flang/Optimizer/Support/Utils.h
    M flang/include/flang/Tools/PointerModels.h
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/ConvertArrayConstructor.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertConstant.cpp
    M flang/lib/Lower/ConvertExpr.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/ConvertProcedureDesignator.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/CustomIntrinsicCall.cpp
    M flang/lib/Lower/DirectivesCommon.h
    M flang/lib/Lower/HlfirIntrinsics.cpp
    M flang/lib/Lower/HostAssociations.cpp
    M flang/lib/Lower/IO.cpp
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/lib/Lower/VectorSubscripts.cpp
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/Builder/BoxValue.cpp
    M flang/lib/Optimizer/Builder/Character.cpp
    M flang/lib/Optimizer/Builder/Complex.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/MutableBox.cpp
    M flang/lib/Optimizer/Builder/PPCIntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
    M flang/lib/Optimizer/Builder/Runtime/Character.cpp
    M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
    M flang/lib/Optimizer/Builder/Runtime/Ragged.cpp
    M flang/lib/Optimizer/Builder/Runtime/Reduction.cpp
    M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
    M flang/lib/Optimizer/CodeGen/CGOps.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp
    M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
    M flang/lib/Optimizer/CodeGen/TBAABuilder.cpp
    M flang/lib/Optimizer/CodeGen/Target.cpp
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
    M flang/lib/Optimizer/Dialect/FIRAttr.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/lib/Optimizer/Dialect/FortranVariableInterface.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/ConvertToFIR.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
    M flang/lib/Optimizer/Transforms/AbstractResult.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/AffineDemotion.cpp
    M flang/lib/Optimizer/Transforms/AffinePromotion.cpp
    M flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
    M flang/lib/Optimizer/Transforms/CharacterConversion.cpp
    M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
    M flang/lib/Optimizer/Transforms/MemoryAllocation.cpp
    M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
    M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
    M flang/lib/Optimizer/Transforms/StackArrays.cpp
    M flang/unittests/Optimizer/Builder/ComplexTest.cpp
    M flang/unittests/Optimizer/Builder/DoLoopHelperTest.cpp
    M flang/unittests/Optimizer/Builder/FIRBuilderTest.cpp
    M flang/unittests/Optimizer/RTBuilder.cpp
    M llvm/include/llvm/ADT/TypeSwitch.h
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
    M mlir/include/mlir/IR/Attributes.h
    M mlir/include/mlir/IR/BuiltinLocationAttributes.td
    M mlir/include/mlir/IR/Location.h
    M mlir/include/mlir/IR/Types.h
    M mlir/include/mlir/IR/Value.h
    M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
    M mlir/lib/Dialect/Polynomial/IR/PolynomialAttributes.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp

  Log Message:
  -----------
  [mlir] Mark `isa/dyn_cast/cast/...` member functions deprecated. (#89998)

See https://mlir.llvm.org/deprecation and
https://discourse.llvm.org/t/preferred-casting-style-going-forward.


  Commit: 1728a56d0e66c9e64a2e62fa6c5508580ccd28a0
      https://github.com/llvm/llvm-project/commit/1728a56d0e66c9e64a2e62fa6c5508580ccd28a0
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    A clang/test/CXX/drs/cwg2149.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang] Add test for CWG2149 "Brace elision and array length deduction" (#90079)

This patch adds test for
[CWG2149](https://cplusplus.github.io/CWG/issues/2149.html), following
[P3106R1](https://wg21.link/p3106R1) "Clarifying rules for brace elision
in aggregate initialization" and a clarification note on top of it added
on April 2024.

I haven't found a better way to check for equality of values inside
array in 98 mode than to dump AST. I'm open to suggestions there.


  Commit: e74be35c1abedf87cfaa141284cb730911211ee1
      https://github.com/llvm/llvm-project/commit/e74be35c1abedf87cfaa141284cb730911211ee1
  Author: Xiaoyang Liu <siujoeng.lau at gmail.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx2cIssues.csv
    M libcxx/include/__ranges/to.h
    M libcxx/test/std/ranges/range.utility/range.utility.conv/to.pass.cpp

  Log Message:
  -----------
  [libc++][ranges] LWG3984: ranges::to's recursion branch may be ill-formed (#87964)

This pull request implements LWG3984: ranges::to's recursion branch
may be ill-formed.

In the current implementation, ranges::to's recursion branch pipes the
range into a `views::transform(/* lambda */)`, which is a __range_adaptor_closure
object. In libc++, the pipe operator of __range_adaptor_closure requires a
viewable_range, so the following code won't compile, as the type of lvalue
`r` doesn't model viewable_range:

  #include <ranges>
  #include <vector>
  #include <list>

  int main() {
    std::vector<std::vector<int>> v;
    auto r = std::views::all(std::move(v));
    auto l = std::ranges::to<std::list<std::list<int>>>(r);
  }

Co-authored-by: A. Jiang <de34 at live.cn>


  Commit: 2d09ac4037415ab0044ad508aae2ff8b2559a9d8
      https://github.com/llvm/llvm-project/commit/2d09ac4037415ab0044ad508aae2ff8b2559a9d8
  Author: NagyDonat <donat.nagy at ericsson.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang-tools-extra/docs/clang-tidy/checks/cert/env33-c.rst

  Log Message:
  -----------
  [clang-tidy][NFC] Fix broken link in documentation of cert-env33-c (#90216)

It seems that the description of the SEI CERT rules was moved from
`www.securecoding.cert.org` to `wiki.sei.cmu.edu` and the page IDs were
not preserved during the transition.

However, the old domain name redirects to the new one and permalinks
derived from the name of the rule still work, so I kept using the old
domain name to be consistent with other documentation files using it.


  Commit: 64d514a2e1f1396d54bca0597b1e8b4e580bfd7b
      https://github.com/llvm/llvm-project/commit/64d514a2e1f1396d54bca0597b1e8b4e580bfd7b
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/VCIXOps.td

  Log Message:
  -----------
  [mlir] Fix -Wdeprecated-declarations of cast in VCIXToLLVMIRTranslation.cpp (NFC)

In file included from /llvm-project/mlir/lib/Target/LLVMIR/Dialect/VCIX/VCIXToLLVMIRTranslation.cpp:70:
/llvm-project/build-Release/tools/mlir/include/mlir/Dialect/LLVMIR/VCIXConversions.inc:8:48: error: 'cast' is deprecated: Use mlir::cast<U>() instead [-Werror,-Wdeprecated-declarations]
      VectorType vt = op.getResult().getType().cast<VectorType>();
                                               ^
/llvm-project/mlir/include/mlir/IR/Types.h:345:9: note: 'cast' has been explicitly marked deprecated here
U Type::cast() const {
        ^
In file included from /llvm-project/mlir/lib/Target/LLVMIR/Dialect/VCIX/VCIXToLLVMIRTranslation.cpp:70:
/llvm-project/build-Release/tools/mlir/include/mlir/Dialect/LLVMIR/VCIXConversions.inc:8:48: error: 'cast<mlir::VectorType>' is deprecated: Use mlir::cast<U>() instead [-Werror,-Wdeprecated-declarations]
      VectorType vt = op.getResult().getType().cast<VectorType>();
                                               ^
/llvm-project/mlir/include/mlir/IR/Types.h:112:5: note: 'cast<mlir::VectorType>' has been explicitly marked deprecated here
  [[deprecated("Use mlir::cast<U>() instead")]]
    ^
In file included from /llvm-project/mlir/lib/Target/LLVMIR/Dialect/VCIX/VCIXToLLVMIRTranslation.cpp:70:
/llvm-project/build-Release/tools/mlir/include/mlir/Dialect/LLVMIR/VCIXConversions.inc:32:48: error: 'cast' is deprecated: Use mlir::cast<U>() instead [-Werror,-Wdeprecated-declarations]
      VectorType vt = op.getResult().getType().cast<VectorType>();
                                               ^
/llvm-project/mlir/include/mlir/IR/Types.h:345:9: note: 'cast' has been explicitly marked deprecated here
U Type::cast() const {
        ^
In file included from /llvm-project/mlir/lib/Target/LLVMIR/Dialect/VCIX/VCIXToLLVMIRTranslation.cpp:70:
/llvm-project/build-Release/tools/mlir/include/mlir/Dialect/LLVMIR/VCIXConversions.inc:32:48: error: 'cast<mlir::VectorType>' is deprecated: Use mlir::cast<U>() instead [-Werror,-Wdeprecated-declarations]
      VectorType vt = op.getResult().getType().cast<VectorType>();
                                               ^
/llvm-project/mlir/include/mlir/IR/Types.h:112:5: note: 'cast<mlir::VectorType>' has been explicitly marked deprecated here
  [[deprecated("Use mlir::cast<U>() instead")]]
    ^
4 errors generated.


  Commit: 571831a680faa9615183f855fddf43fd1a9ba192
      https://github.com/llvm/llvm-project/commit/571831a680faa9615183f855fddf43fd1a9ba192
  Author: Diego Caballero <diegocaballero at google.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp
    M mlir/test/Dialect/MemRef/emulate-narrow-type.mlir

  Log Message:
  -----------
  [mlir] Add sub-byte type emulation support for `memref.collapse_shape` (#89962)

This PR adds support for `memref.collapse_shape` to sub-byte type emulation. The `memref.collapse_shape` becomes a no-opt given that we are flattening the memref as part of the emulation (i.e., we are collapsing all the dimensions).


  Commit: bf67610a8ac07ec143f243f129eecd456aa63383
      https://github.com/llvm/llvm-project/commit/bf67610a8ac07ec143f243f129eecd456aa63383
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M lld/test/ELF/mips-eh_frame-pic.s
    M llvm/include/llvm/Object/ELFObjectFile.h
    M llvm/lib/MC/ELFObjectWriter.cpp
    M llvm/test/CodeGen/RISCV/fixups-diff.ll
    M llvm/test/DebugInfo/LoongArch/dwarf-loongarch-relocs.ll
    M llvm/test/DebugInfo/RISCV/dwarf-riscv-relocs.ll
    M llvm/test/DebugInfo/RISCV/relax-debug-frame.ll
    R llvm/test/DebugInfo/Symbolize/ELF/riscv-empty-name-symbol.s
    A llvm/test/DebugInfo/Symbolize/ELF/riscv-temporary-symbol.s
    M llvm/test/ExecutionEngine/JITLink/RISCV/anonymous_symbol.s
    M llvm/test/MC/ELF/RISCV/gen-dwarf.s
    M llvm/test/MC/RISCV/cfi-advance.s
    M llvm/test/MC/RISCV/fde-reloc.s
    M llvm/test/MC/RISCV/scoped-relaxation.s

  Log Message:
  -----------
  [MC] Rename temporary symbols of empty name to ".L0 " (#89693)

Temporary symbols generated for .eh_frame and .debug_line have an empty
name, which appear in .symtab in the presence of RISC-V style linker
relaxation and will not be discarded by ld/objcopy --discard-locals
(-X).

In contrast, GNU assembler's riscv port assigns a fake name ".L0 " (with
a trailing space) to these symbols so that will be discarded by
ld/objcopy --discard-locals.

This patch matches the GNU behavior. Since Clang's RISC-V targets pass
-X to ld, and GNU ld defaults to -X for RISC-V targets, these ".L0 "
symbols will be discarded after linking by default, as expected by
users.

The llvm-symbolizer special case for RISC-V `SF_FormatSpecific` symbols
https://reviews.llvm.org/D98669 needs to be adjusted.

Note: `"":` in assembly currently crashes.

Note: bolt tests used /usr/bin/clang before
llvmorg-19-init-9532-g59bfc3106874.
The revert llvmorg-19-init-9531-g28b55342e1a8 actually broke
bolt/test/RISCV/fake-label-no-entry.c


  Commit: 0620a637e362d1add1fe506307a25d0353e254f5
      https://github.com/llvm/llvm-project/commit/0620a637e362d1add1fe506307a25d0353e254f5
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/subreg-to-reg-1.ll
    M llvm/test/CodeGen/X86/subreg-to-reg-3.ll
    M llvm/test/CodeGen/X86/subreg-to-reg-6.ll

  Log Message:
  -----------
  [X86] Regenerate subreg-to-reg tests with update_llc_test_checks.py


  Commit: 72c373bfdc9860b3d75e72c219b2c81c90bc4364
      https://github.com/llvm/llvm-project/commit/72c373bfdc9860b3d75e72c219b2c81c90bc4364
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang-tools-extra/test/pp-trace/pp-trace-pragma-general.cpp
    M clang-tools-extra/test/pp-trace/pp-trace-pragma-ms.cpp
    M clang-tools-extra/test/pp-trace/pp-trace-pragma-opencl.cpp
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/TargetInfo.h
    M clang/lib/Basic/Targets/ARM.h
    M clang/lib/Basic/Targets/AVR.h
    M clang/lib/Basic/Targets/BPF.h
    M clang/lib/Basic/Targets/M68k.h
    M clang/lib/Basic/Targets/Mips.h
    M clang/lib/Basic/Targets/PPC.h
    M clang/lib/Basic/Targets/RISCV.h
    M clang/lib/Basic/Targets/Sparc.h
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/test/AST/ast-dump-macro-json.c
    M clang/test/Analysis/html_diagnostics/relevant_lines/multifile.c
    M clang/test/Lexer/update_consecutive_macro_address_space.c
    A clang/test/Preprocessor/hardware_interference.cpp
    M clang/test/Preprocessor/init-aarch64.c
    M clang/test/Preprocessor/init.c
    M clang/test/Preprocessor/predefined-win-macros.c
    M libcxx/test/std/language.support/support.dynamic/hardware_inference_size.compile.pass.cpp

  Log Message:
  -----------
  [C++17] Support __GCC_[CON|DE]STRUCTIVE_SIZE (#89446)

These macros are used by STL implementations to support implementation
of std::hardware_destructive_interference_size and
std::hardware_constructive_interference_size

Fixes #60174

---------

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


  Commit: 37a92f9f60fc2f77264b06c5602a61aaa5196edb
      https://github.com/llvm/llvm-project/commit/37a92f9f60fc2f77264b06c5602a61aaa5196edb
  Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/test/CodeGen/AArch64/sve2-bsl.ll

  Log Message:
  -----------
  [AArch64][SVE2] SVE2 NBSL instruction lowering. (#89732)

Allow to fold BSL/EOR instuctions to NBSL instruction for scalable
vectors.


  Commit: d6c4ebbf78c67cd298f6ba2da6c06e2362f4d0f4
      https://github.com/llvm/llvm-project/commit/d6c4ebbf78c67cd298f6ba2da6c06e2362f4d0f4
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M libcxx/modules/std/ranges.inc

  Log Message:
  -----------
  [libc++][ranges] Exports operator|. (#90071)

This was omitted in c1086532d4d5 and not detected by the CI since
clang-tidy is not running. This fixes the exports.

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


  Commit: 7683d07d84fa7206e435fca5a2d518a9ee8b5b56
      https://github.com/llvm/llvm-project/commit/7683d07d84fa7206e435fca5a2d518a9ee8b5b56
  Author: Xuan Zhang <144393379+xuanzh-meta at users.noreply.github.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

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

  Log Message:
  -----------
  [NFC] update comments from an earlier version of SuffixTree (#89800)

LeafChildren is used in an earlier version of the SuffixTree
implementation to keep track of each nodes' leaf nodes. In the
new/current version, this variable is no longer used, but a comment is
left behind. This patch updates the comment.


  Commit: 6904e0e8852a587b49a673055997e88855f219ea
      https://github.com/llvm/llvm-project/commit/6904e0e8852a587b49a673055997e88855f219ea
  Author: ChiaHungDuan <chiahungduan at google.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/wrappers_c.inc

  Log Message:
  -----------
  [scudo] Reflect the allowed values for M_DECAY_TIME on Android (#89114)


  Commit: d2caaabf5d1532d210334d7092c2ad292334f15f
      https://github.com/llvm/llvm-project/commit/d2caaabf5d1532d210334d7092c2ad292334f15f
  Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp

  Log Message:
  -----------
  [DXIL] Fix build warning (#90226)


  Commit: 690c929b6c68b4cd0ff314a0a88d3b218d46db2d
      https://github.com/llvm/llvm-project/commit/690c929b6c68b4cd0ff314a0a88d3b218d46db2d
  Author: Xing Xue <xingxue at outlook.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M openmp/runtime/src/kmp_affinity.cpp
    M openmp/runtime/src/kmp_affinity.h

  Log Message:
  -----------
  [OpenMP][AIX] Use syssmt() to get the number of SMTs per physical CPU (#89985)

This patch changes to use system call `syssmt()` instead of
`lpar_get_info()` to get the number of SMTs (logical processors) per
physical processor for AIX. `lpar_get_info()` gives the max number of
SMTs that the physical processor can support while `syssmt()` returns
the number that is currently configured.


  Commit: 451e853e512ba6fca51f0743ffa24d252f7fc633
      https://github.com/llvm/llvm-project/commit/451e853e512ba6fca51f0743ffa24d252f7fc633
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/test/TableGen/riscv-target-def.td
    M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp

  Log Message:
  -----------
  [RISCV] Flatten the ImpliedExts table in RISCVISAInfo.cpp (#89975)

Previously we had an individiaul global array of implied extensions for
each extension that needed it. This allowed each array to have a
different length. Then we had a sorted table that stored pointers and
size for the indivual arrays keyed by the extension name.

This patch changes the sorted table to use multiple rows if multiple
extensions are implied. We use equal_range instead of lower_bound to
find all the rows that apply to a given extension.

The CombineIntoExts array was also modified to store only the extension
name that need to be combined. This extension name is looked up in the
implied table to find all the extensions it depends on.


  Commit: c49b74a4e6fff813a9ca402fa6494f80f8f0e3d6
      https://github.com/llvm/llvm-project/commit/c49b74a4e6fff813a9ca402fa6494f80f8f0e3d6
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll

  Log Message:
  -----------
  [LV] Add tests showing missed propgation of versiond stride values.

Strides are used through a sext/zext and the known constant value (1)
isn't propagated during codegen.


  Commit: 3aeb28b93fb740f531bc66a33b1b4ce520663582
      https://github.com/llvm/llvm-project/commit/3aeb28b93fb740f531bc66a33b1b4ce520663582
  Author: Peiming Liu <peiming at google.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensor.h
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
    A mlir/test/Dialect/SparseTensor/fuse_sparse_convert_into_producer.mlir
    R mlir/test/Dialect/SparseTensor/no_fold_into_consumer.mlir

  Log Message:
  -----------
  [mlir][sparse] fold sparse convert into producer linalg op. (#89999)


  Commit: 760910ddb918d77e7632be1678f69909384d69ae
      https://github.com/llvm/llvm-project/commit/760910ddb918d77e7632be1678f69909384d69ae
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
    M llvm/test/CodeGen/AArch64/arm64ec-entry-thunks.ll
    M llvm/test/CodeGen/AArch64/arm64ec-exit-thunks.ll

  Log Message:
  -----------
  [Arm64EC] Improve alignment mangling in arm64ec thunks. (#90115)

In some cases, MSVC's mangling for arm64ec thunks includes the alignment
of a struct. I added some code to try to match... but it never really
worked right. The issues:

- Alignment is only mangled if it's 16 or more (I guess the default is
supposed to be 8).
- Alignment isn't mangled on return values (since the memory is
allocated by the caller).

The current patch leaves hooks to make alignment mangling work... but
doesn't actually ever mangle alignment: clang never actually encodes a
relevant alignment into the IR. Once we get clang to emit the real
size/alignment of structs, we can start emitting it.


  Commit: b27f86b40b20942c0e809128214b43d6edde365a
      https://github.com/llvm/llvm-project/commit/b27f86b40b20942c0e809128214b43d6edde365a
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M lld/test/ELF/riscv-branch.s
    M lld/test/ELF/riscv-call.s
    M lld/test/ELF/riscv-hi20-lo12.s
    M lld/test/ELF/riscv-jal.s
    M llvm/docs/ReleaseNotes.rst
    M llvm/test/MC/RISCV/XTHeadVdot-valid.s
    M llvm/test/MC/RISCV/align.s
    M llvm/test/MC/RISCV/compress-cjal.s
    M llvm/test/MC/RISCV/compress-rv32d.s
    M llvm/test/MC/RISCV/compress-rv32f.s
    M llvm/test/MC/RISCV/compress-rv32i.s
    M llvm/test/MC/RISCV/compress-rv64i.s
    M llvm/test/MC/RISCV/nop-slide.s
    M llvm/test/MC/RISCV/option-pushpop.s
    M llvm/test/MC/RISCV/option-rvc.s
    M llvm/test/MC/RISCV/rv32e-invalid.s
    M llvm/test/MC/RISCV/rvv/add.s
    M llvm/test/MC/RISCV/rvv/and.s
    M llvm/test/MC/RISCV/rvv/clip.s
    M llvm/test/MC/RISCV/rvv/compare.s
    M llvm/test/MC/RISCV/rvv/convert.s
    M llvm/test/MC/RISCV/rvv/div.s
    M llvm/test/MC/RISCV/rvv/ext.s
    M llvm/test/MC/RISCV/rvv/fadd.s
    M llvm/test/MC/RISCV/rvv/fcompare.s
    M llvm/test/MC/RISCV/rvv/fdiv.s
    M llvm/test/MC/RISCV/rvv/fmacc.s
    M llvm/test/MC/RISCV/rvv/fminmax.s
    M llvm/test/MC/RISCV/rvv/fmul.s
    M llvm/test/MC/RISCV/rvv/fmv.s
    M llvm/test/MC/RISCV/rvv/fothers.s
    M llvm/test/MC/RISCV/rvv/freduction.s
    M llvm/test/MC/RISCV/rvv/fsub.s
    M llvm/test/MC/RISCV/rvv/load.s
    M llvm/test/MC/RISCV/rvv/macc.s
    M llvm/test/MC/RISCV/rvv/mask.s
    M llvm/test/MC/RISCV/rvv/minmax.s
    M llvm/test/MC/RISCV/rvv/mul.s
    M llvm/test/MC/RISCV/rvv/mv.s
    M llvm/test/MC/RISCV/rvv/or.s
    M llvm/test/MC/RISCV/rvv/others.s
    M llvm/test/MC/RISCV/rvv/reduction.s
    M llvm/test/MC/RISCV/rvv/shift.s
    M llvm/test/MC/RISCV/rvv/sign-injection.s
    M llvm/test/MC/RISCV/rvv/snippet.s
    M llvm/test/MC/RISCV/rvv/store.s
    M llvm/test/MC/RISCV/rvv/sub.s
    M llvm/test/MC/RISCV/rvv/vsetvl.s
    M llvm/test/MC/RISCV/rvv/xor.s
    M llvm/test/MC/RISCV/rvv/xsfvcp.s
    M llvm/test/MC/RISCV/rvv/xsfvfnrclip.s
    M llvm/test/MC/RISCV/rvv/xsfvfwmacc.s
    M llvm/test/MC/RISCV/rvv/xsfvqmacc.s
    M llvm/test/MC/RISCV/rvv/zvbb.s
    M llvm/test/MC/RISCV/rvv/zvbc.s
    M llvm/test/MC/RISCV/rvv/zvfbfmin.s
    M llvm/test/MC/RISCV/rvv/zvfbfwma.s
    M llvm/test/MC/RISCV/rvv/zvkb.s
    M llvm/test/MC/RISCV/rvv/zvkg.s
    M llvm/test/MC/RISCV/rvv/zvkned.s
    M llvm/test/MC/RISCV/rvv/zvknh.s
    M llvm/test/MC/RISCV/rvv/zvksed.s
    M llvm/test/MC/RISCV/rvv/zvksh.s
    M llvm/test/MC/RISCV/rvv/zvlsseg.s
    M llvm/tools/llvm-objdump/llvm-objdump.cpp

  Log Message:
  -----------
  [RISCV] Add an instruction PrettyPrinter to llvm-objdump (#90093)

This prints the opcode bytes in the same order as GNU objdump without a
space between them.


  Commit: b2098db2485331e01503e1452a7a60cd8c031a3f
      https://github.com/llvm/llvm-project/commit/b2098db2485331e01503e1452a7a60cd8c031a3f
  Author: Egor Zhdan <e_zhdan at apple.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang/include/clang/APINotes/Types.h
    M clang/lib/APINotes/APINotesFormat.h
    M clang/lib/APINotes/APINotesReader.cpp
    M clang/lib/APINotes/APINotesWriter.cpp
    M clang/lib/APINotes/APINotesYAMLCompiler.cpp
    M clang/lib/Sema/SemaAPINotes.cpp
    M clang/test/APINotes/Inputs/Headers/SwiftImportAs.apinotes
    M clang/test/APINotes/Inputs/Headers/SwiftImportAs.h
    M clang/test/APINotes/swift-import-as.cpp

  Log Message:
  -----------
  [APINotes] Allow annotating a C++ type as non-copyable in Swift

Certain C++ types, such as `std::chrono::tzdb` in libstdc++, are
non-copyable, but don't explicitly delete their copy constructor.
Instead, they trigger template instantiation errors when trying to call
their implicit copy constructor. The Swift compiler inserts implicit
copies of value types in some cases, which trigger compiler errors for
such types.

This adds a Clang API Notes attribute that allows annotating C++ types
as non-copyable in Swift. This lets the Swift compiler know that it
should not try to instantiate the implicit copy constructor for a C++
struct.

rdar://127049438


  Commit: 01d7dcfe5e3b261f587c05e33ffeecae7a11da80
      https://github.com/llvm/llvm-project/commit/01d7dcfe5e3b261f587c05e33ffeecae7a11da80
  Author: Alex Langford <alangford at apple.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFTypeUnit.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h

  Log Message:
  -----------
  [lldb] Switch to llvm::DWARFUnitHeader (#89808)

These are now close enough that they can be swapped out.


  Commit: 79314c64d0f88fa4ccc1709dee373fdfb9a6ca49
      https://github.com/llvm/llvm-project/commit/79314c64d0f88fa4ccc1709dee373fdfb9a6ca49
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/gep-with-extractelement-many-users.ll

  Log Message:
  -----------
  [SLP]Fix PR90224: check that users of gep are all vectorized.

Before deleting extractelement instruction for vectorized GEP with
external users, need to check that all users vectorized before deleting
this extractelement.


  Commit: 266a9274dd14d06d559ca8a37e2d1b5f985a5398
      https://github.com/llvm/llvm-project/commit/266a9274dd14d06d559ca8a37e2d1b5f985a5398
  Author: Marc Auberer <marc.auberer at chillibits.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M lldb/include/lldb/Utility/ProcessInfo.h
    M lldb/unittests/Host/HostTest.cpp

  Log Message:
  -----------
  [lldb] Fix typo in CumulativeSystemTimeIsValid check (#89680)

Resolves #89674


  Commit: 72b0c11cfd267b754076dfc2908ba921c4f69ee3
      https://github.com/llvm/llvm-project/commit/72b0c11cfd267b754076dfc2908ba921c4f69ee3
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M offload/plugins-nextgen/host/CMakeLists.txt
    M offload/src/CMakeLists.txt

  Log Message:
  -----------
  [Libomptarget] Rename `libomptarget.rtl.x86_64` to `libomptarget.rtl.host` (#86868)

Summary:
All of these are functionally the same code, just compiled for separate
architectures. We currently do not expose a way to execute these on
separate architectures as the host plugin works using `dlopen` into the
same process, and therefore cannot possibly be an incompatible
architecture. (This could work with a remote plugin, but this is not
supported yet).

This patch simply renames all of these to the same thing so we no longer
need to check around for its varying definitions.


  Commit: ac45bb5cbc4e37b41b78614f0cdd67d70485019a
      https://github.com/llvm/llvm-project/commit/ac45bb5cbc4e37b41b78614f0cdd67d70485019a
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp

  Log Message:
  -----------
  [RISCV] Consistently use uint32_t in Disassembler decode functions. NFC

We had some uses of uint64_t and unsigned. These all come from tblgen
code that is templated on InsnType which is currently uint32_t.


  Commit: 56c4971d33230607a7329bb831b6c8588231e872
      https://github.com/llvm/llvm-project/commit/56c4971d33230607a7329bb831b6c8588231e872
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    R clang/test/Driver/claim-unused.c
    M clang/test/Driver/fp-model.c
    A clang/test/Driver/gcc-param.c
    M clang/test/Driver/linux-ld.c

  Log Message:
  -----------
  [Driver,test] Replace CHECK-NOT: warning with -### -Werror

After https://reviews.llvm.org/D156363 changed -### to exist with code 1
if hasErrorOccurred, we can use -Werror to assert no warnings. This is
more reliable than a NOT pattern, which may go stale (when the
diagnostic is updated) without being noticed.


  Commit: 1b7db405b97cc350e2de243683273e9946fc0bd0
      https://github.com/llvm/llvm-project/commit/1b7db405b97cc350e2de243683273e9946fc0bd0
  Author: Michael Liao <michael.hliao at gmail.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang/test/Driver/hlsl-lang-targets-spirv.hlsl

  Log Message:
  -----------
  [HLSL][SPIR-V] Target `directx` is required

- One of tests needs target directx


  Commit: 7aedd7dc754c74a49fe84ed2640e269c25414087
      https://github.com/llvm/llvm-project/commit/7aedd7dc754c74a49fe84ed2640e269c25414087
  Author: dyung <douglas.yung at sony.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M flang/include/flang/Lower/Mangler.h
    M flang/include/flang/Optimizer/Analysis/TBAAForest.h
    M flang/include/flang/Optimizer/Builder/BoxValue.h
    M flang/include/flang/Optimizer/Builder/Factory.h
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/PPCIntrinsicCall.h
    M flang/include/flang/Optimizer/Dialect/CanonicalizationPatterns.td
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FIRType.h
    M flang/include/flang/Optimizer/Dialect/FIRTypes.td
    M flang/include/flang/Optimizer/Dialect/FortranVariableInterface.td
    M flang/include/flang/Optimizer/HLFIR/HLFIRDialect.h
    M flang/include/flang/Optimizer/Support/Utils.h
    M flang/include/flang/Tools/PointerModels.h
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/ConvertArrayConstructor.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertConstant.cpp
    M flang/lib/Lower/ConvertExpr.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/ConvertProcedureDesignator.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/CustomIntrinsicCall.cpp
    M flang/lib/Lower/DirectivesCommon.h
    M flang/lib/Lower/HlfirIntrinsics.cpp
    M flang/lib/Lower/HostAssociations.cpp
    M flang/lib/Lower/IO.cpp
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/lib/Lower/VectorSubscripts.cpp
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/Builder/BoxValue.cpp
    M flang/lib/Optimizer/Builder/Character.cpp
    M flang/lib/Optimizer/Builder/Complex.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/MutableBox.cpp
    M flang/lib/Optimizer/Builder/PPCIntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
    M flang/lib/Optimizer/Builder/Runtime/Character.cpp
    M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
    M flang/lib/Optimizer/Builder/Runtime/Ragged.cpp
    M flang/lib/Optimizer/Builder/Runtime/Reduction.cpp
    M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
    M flang/lib/Optimizer/CodeGen/CGOps.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp
    M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
    M flang/lib/Optimizer/CodeGen/TBAABuilder.cpp
    M flang/lib/Optimizer/CodeGen/Target.cpp
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
    M flang/lib/Optimizer/Dialect/FIRAttr.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/lib/Optimizer/Dialect/FortranVariableInterface.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/ConvertToFIR.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
    M flang/lib/Optimizer/Transforms/AbstractResult.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/AffineDemotion.cpp
    M flang/lib/Optimizer/Transforms/AffinePromotion.cpp
    M flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
    M flang/lib/Optimizer/Transforms/CharacterConversion.cpp
    M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
    M flang/lib/Optimizer/Transforms/MemoryAllocation.cpp
    M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
    M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
    M flang/lib/Optimizer/Transforms/StackArrays.cpp
    M flang/unittests/Optimizer/Builder/ComplexTest.cpp
    M flang/unittests/Optimizer/Builder/DoLoopHelperTest.cpp
    M flang/unittests/Optimizer/Builder/FIRBuilderTest.cpp
    M flang/unittests/Optimizer/RTBuilder.cpp
    M llvm/include/llvm/ADT/TypeSwitch.h
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
    M mlir/include/mlir/IR/Attributes.h
    M mlir/include/mlir/IR/BuiltinLocationAttributes.td
    M mlir/include/mlir/IR/Location.h
    M mlir/include/mlir/IR/Types.h
    M mlir/include/mlir/IR/Value.h
    M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
    M mlir/lib/Dialect/Polynomial/IR/PolynomialAttributes.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp

  Log Message:
  -----------
  Revert "[mlir] Mark `isa/dyn_cast/cast/...` member functions deprecated. (#89998)" (#90250)

This reverts commit 950b7ce0b88318f9099e9a7c9817d224ebdc6337.

This change is causing build failures on a bot
https://lab.llvm.org/buildbot/#/builders/216/builds/38157


  Commit: 5dd46d93fb9d7e7f8c9774433d60fd16dc659eb6
      https://github.com/llvm/llvm-project/commit/5dd46d93fb9d7e7f8c9774433d60fd16dc659eb6
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp

  Log Message:
  -----------
  [RISCV] Fix off by 1 typo in decodeVMaskReg. NFC

We're decoding a 1 bit field, but checked that the value was <= 2
instead of <= 1.

This isn't a functional change because the generated disassembler code
that calls this only extracts 1 bit.


  Commit: 300340f656d762afa8bde5fc398757d2951560bf
      https://github.com/llvm/llvm-project/commit/300340f656d762afa8bde5fc398757d2951560bf
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/include/llvm-c/DebugInfo.h
    M llvm/include/llvm/BinaryFormat/Dwarf.def
    M llvm/include/llvm/BinaryFormat/Dwarf.h
    M llvm/lib/BinaryFormat/Dwarf.cpp
    M llvm/unittests/BinaryFormat/DwarfTest.cpp

  Log Message:
  -----------
  Implement the DWARF 6 language and version attributes. (#89980)

This patch adds DWARF constants for DW_AT_language_name and
DW_AT_language_version to Dwarf.def and Dwarf.h.

While the DWARF 6 spec is not finalized, the constants are published on
the DWARF website and considered stable, with idea being that the list
published on dwarfstd.org is the authoritative source that is being
continuously updated between DWARF revisions, as new languages are being
developed.

https://dwarfstd.org/languages-v6.html

My main motivation for adding this is to use in
https://github.com/llvm/llvm-project/pull/89981


  Commit: 6e722bbe30bd7d44f8b1dbf70e9f341a7c7e65ff
      https://github.com/llvm/llvm-project/commit/6e722bbe30bd7d44f8b1dbf70e9f341a7c7e65ff
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
    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/lib/Target/AMDGPU/VOPInstructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.dpp.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.ll
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_err.s
    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] Support byte_sel modifier on v_cvt_sr_fp8_f32 and v_cvt_sr_bf8_f32 (#90244)


  Commit: ced8497970aec5a153211d352ff01c624e03abd6
      https://github.com/llvm/llvm-project/commit/ced8497970aec5a153211d352ff01c624e03abd6
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M .ci/generate-buildkite-pipeline-premerge

  Log Message:
  -----------
  [ci] Add clang project dependency for bolt testing (#90262)


  Commit: 022dc6bab5c47dfd18cde87f36e8fece43328fdf
      https://github.com/llvm/llvm-project/commit/022dc6bab5c47dfd18cde87f36e8fece43328fdf
  Author: Florian Mayer <fmayer at google.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp

  Log Message:
  -----------
  [NFC] [HWASan] factor out debug record annotation (#90252)

This will also be used by stack MTE


  Commit: a4c21d17fe187feb9e666ae8290b6d318014e9c8
      https://github.com/llvm/llvm-project/commit/a4c21d17fe187feb9e666ae8290b6d318014e9c8
  Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M lldb/include/lldb/API/SBDebugger.h
    M lldb/test/API/functionalities/diagnostic_reporting/TestDiagnosticReporting.py
    M lldb/test/API/functionalities/progress_reporting/TestProgressReporting.py
    M lldb/test/API/functionalities/progress_reporting/clang_modules/TestClangModuleBuildProgress.py
    M lldb/test/API/macosx/rosetta/TestRosetta.py
    M lldb/tools/lldb-dap/lldb-dap.cpp

  Log Message:
  -----------
  [lldb][sbapi] Fix API break in SBDebugger broadcast bits (#90261)

https://github.com/llvm/llvm-project/pull/87409 removed the broadcast
bits from SBDebugger and placed them in `lldb-enumerations.h`. This is
API-breaking so this commits places the enum back into `SBDebugger.h`
and references the bits from `lldb-enumerations.h`.

rdar://127128536


  Commit: 9ee8e38cdcc6925a4127d44a0360dc8de23dfb5f
      https://github.com/llvm/llvm-project/commit/9ee8e38cdcc6925a4127d44a0360dc8de23dfb5f
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll
    M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll

  Log Message:
  -----------
  [VPlan] Also propagate versioned strides to users via sext/zext.

The versioned value may not be used in the loop directly but through a
sext/zext. Add new live-ins in those cases.


  Commit: eb5907d06f2ffc3ed7fb8d4772bd3f8eab89c726
      https://github.com/llvm/llvm-project/commit/eb5907d06f2ffc3ed7fb8d4772bd3f8eab89c726
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M flang/lib/Lower/Bridge.cpp
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf

  Log Message:
  -----------
  [flang][cuda] Avoid to issue data transfer in device context (#90247)

Data transfer should not be issued in device function.


  Commit: d9fd0ddef38bb9d5cce7300ff820272183c09fcd
      https://github.com/llvm/llvm-project/commit/d9fd0ddef38bb9d5cce7300ff820272183c09fcd
  Author: Brendan Dahl <brendan.dahl at gmail.com>
  Date:   2024-04-26 (Fri, 26 Apr 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 clang/test/Driver/wasm-features.c
    M llvm/lib/Target/WebAssembly/WebAssembly.td
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
    M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h

  Log Message:
  -----------
  [WebAssembly] Add half-precision feature (#90248)

This currently only defines a constant, but in the future will be used
to gate builtins for experimenting and prototyping half-precision
proposal (https://github.com/WebAssembly/half-precision).


  Commit: 12d322db46952d15e36f5ce5863a2c70eee7857d
      https://github.com/llvm/llvm-project/commit/12d322db46952d15e36f5ce5863a2c70eee7857d
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/lib/Rewrite/RewriteInstance.cpp

  Log Message:
  -----------
  [BOLT][NFC] Use getEHFrameHdrSectionName() (#90257)

Reference section name via wrapper.


  Commit: 3d5e9ab6d89bfe3454e2b6f80b4babaa69413a87
      https://github.com/llvm/llvm-project/commit/3d5e9ab6d89bfe3454e2b6f80b4babaa69413a87
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args.cpp
    M clang/test/Analysis/Checkers/WebKit/mock-types.h

  Log Message:
  -----------
  [alpha.webkit.UncountedCallArgsChecker] Avoid emitting warnings for Ref, RefPtr, and their variants. (#90153)

Skip the analysis of Ref, RefPtr, and their variant classes in
UncountedCallArgsChecker since these classes are "trusted" to not do
anything dangerous.


  Commit: fefac5d5458a00b28860e0193928b30be85413cd
      https://github.com/llvm/llvm-project/commit/fefac5d5458a00b28860e0193928b30be85413cd
  Author: Usama Hameed <u_hameed at apple.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M compiler-rt/test/asan/TestCases/Darwin/odr-lto.cpp

  Log Message:
  -----------
  [ASan][Test] Remove hardcoded linker version from test (#90147)

This is not needed as the correct linker version is detected at
configure time and passed to all tests on Darwin.

rdar://125052667


  Commit: eb3030acd0bd3eaea85707cf00872e88d20f4664
      https://github.com/llvm/llvm-project/commit/eb3030acd0bd3eaea85707cf00872e88d20f4664
  Author: Amara Emerson <amara at apple.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    A llvm/test/CodeGen/AArch64/GlobalISel/legalize-bitcast.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Fix legalizer crash trying to legalize <16 x i32> = G_BITCAST i512

Trying to do fewerElements on this results in an assert.

rdar://126373053


  Commit: 8cf0f9ab2f32114afd615def833f66ebeeede7d5
      https://github.com/llvm/llvm-project/commit/8cf0f9ab2f32114afd615def833f66ebeeede7d5
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

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

  Log Message:
  -----------
  [msan] Add conservative handling of vscale params (#90167)

Msan uses `__msan_param_tls` to pass shadow of
arguments. Position of arguments is expected to be
available during compile time, if size of the
argument is know. This is not true for vscale.

As work around we require that vscale parameters
are always initialized, then we don't need to pass
shadow.

Ret val should work out of the box as we don't
need to know size compile time.


  Commit: 176ab5e9de540f4abcae4a232541f8493de11fc6
      https://github.com/llvm/llvm-project/commit/176ab5e9de540f4abcae4a232541f8493de11fc6
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

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

  Log Message:
  -----------
  [llvm-lto2] Simplify SymbolResolutions loop and avoid expensive std::string copy. NFC


  Commit: 5569c219d35c78ad60aea127a06a51e202ae5b6f
      https://github.com/llvm/llvm-project/commit/5569c219d35c78ad60aea127a06a51e202ae5b6f
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp

  Log Message:
  -----------
  [RISCV] Split RISCVDisassembler::getInstruction into a 16-bit and 32-bit version. (#90254)

This reduces nesting of the common 32-bit case and makes it easier to
add longer instruction lengths in the future.


  Commit: ad2816e7340be71c93e60b9bb58e107fe1b76e4d
      https://github.com/llvm/llvm-project/commit/ad2816e7340be71c93e60b9bb58e107fe1b76e4d
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/tools/llvm-exegesis/lib/SubprocessMemory.cpp

  Log Message:
  -----------
  [llvm-exegesis] Use const reference for range variable

In the SubprocessMemory destructor, I was using a normal std::string to
hold the name of the current shared memory name, but a const reference
works just as well in this situation while having better performance
characteristics.

Fixes #90289


  Commit: 3ec858bc5d45ee22ca99febd38e1ba188f71022c
      https://github.com/llvm/llvm-project/commit/3ec858bc5d45ee22ca99febd38e1ba188f71022c
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M bolt/lib/Rewrite/RewriteInstance.cpp

  Log Message:
  -----------
  [BOLT] Refactor patchELFPHDRTable() (#90290)

Mostly NFC accept for one assertion that was converted into an error.


  Commit: 2e5035aeed4a9d33ab179f6e90c68fa70588c013
      https://github.com/llvm/llvm-project/commit/2e5035aeed4a9d33ab179f6e90c68fa70588c013
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/new-delete-overloads.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/Darwin.h
    M clang/lib/Driver/ToolChains/ZOS.cpp
    M clang/test/AST/ast-dump-expr-json.cpp
    M clang/test/AST/ast-dump-expr.cpp
    M clang/test/AST/ast-dump-stmt-json.cpp
    M clang/test/Analysis/cxxnewexpr-callback.cpp
    M clang/test/CXX/basic/basic.stc/basic.stc.dynamic/basic.stc.dynamic.deallocation/p2.cpp
    M clang/test/CXX/drs/cwg292.cpp
    M clang/test/CXX/expr/expr.unary/expr.new/p14.cpp
    M clang/test/CodeGenCXX/cxx1y-sized-deallocation.cpp
    M clang/test/CodeGenCXX/cxx1z-aligned-allocation.cpp
    M clang/test/CodeGenCXX/cxx2a-destroying-delete.cpp
    M clang/test/CodeGenCXX/delete-two-arg.cpp
    M clang/test/CodeGenCXX/delete.cpp
    M clang/test/CodeGenCXX/dllimport.cpp
    M clang/test/CodeGenCXX/new.cpp
    M clang/test/CodeGenCoroutines/coro-aligned-alloc-2.cpp
    M clang/test/CodeGenCoroutines/coro-aligned-alloc.cpp
    M clang/test/CodeGenCoroutines/coro-alloc.cpp
    M clang/test/CodeGenCoroutines/coro-cleanup.cpp
    M clang/test/CodeGenCoroutines/coro-dealloc.cpp
    M clang/test/CodeGenCoroutines/coro-gro.cpp
    M clang/test/CodeGenCoroutines/pr56919.cpp
    M clang/test/Lexer/cxx-features.cpp
    M clang/test/PCH/cxx1z-aligned-alloc.cpp
    M clang/test/SemaCXX/MicrosoftExtensions.cpp
    M clang/test/SemaCXX/builtin-operator-new-delete.cpp
    M clang/test/SemaCXX/cxx1y-sized-deallocation.cpp
    M clang/test/SemaCXX/unavailable_aligned_allocation.cpp
    M clang/tools/clang-repl/CMakeLists.txt
    M clang/unittests/Interpreter/CMakeLists.txt
    M clang/unittests/StaticAnalyzer/CallEventTest.cpp
    M clang/www/cxx_status.html
    M libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp

  Log Message:
  -----------
  Revert "[clang] Enable sized deallocation by default in C++14 onwards (#83774)" (#90299)

https://lab.llvm.org/buildbot/#/builders/168/builds/20063 (should be
fixed with #90292)

More details in #83774

This reverts commit cf5a8b489464d09dfdd7a48ce7c8b41d3c9bf819.


  Commit: de375fbc713b7c5cd0e3377a49f0773300203b63
      https://github.com/llvm/llvm-project/commit/de375fbc713b7c5cd0e3377a49f0773300203b63
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M lld/ELF/Arch/RISCV.cpp
    M llvm/include/llvm/Support/RISCVISAUtils.h
    M llvm/include/llvm/TargetParser/RISCVISAInfo.h
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
    M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp

  Log Message:
  -----------
  [RISCV] Move OrderedExtensionMap typedef to RISCVISAUtils.h. NFC


  Commit: d6bf04f4760b0dff3c3d3ff9b560c04438cc25ac
      https://github.com/llvm/llvm-project/commit/d6bf04f4760b0dff3c3d3ff9b560c04438cc25ac
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

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

  Log Message:
  -----------
  [LTO] Remove extraneous ArrayRef (NFC) (#90306)

We don't need to explicitly create these instances of ArrayRef because
Hasher::update takes ArrayRef, and ArrayRef can be implicitly
constructed from C arrays.


  Commit: e04df693bf5b38099ef1d7ab8e6ce6a1469597e2
      https://github.com/llvm/llvm-project/commit/e04df693bf5b38099ef1d7ab8e6ce6a1469597e2
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

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

  Log Message:
  -----------
  [memprof] Introduce FrameIdConverter and CallStackIdConverter (#90307)

Currently, we convert FrameId to Frame and CallStackId to a call stack
at several places.  This patch unifies those into function objects --
FrameIdConverter and CallStackIdConverter.

The existing implementation of CallStackIdConverter, being removed in
this patch, handles both FrameId and CallStackId conversions.  This
patch splits it into two phases for flexibility (but make them
composable) because some places only require the FrameId conversion.


  Commit: 315dc4bbc730a3c672967c27587088cfe9752fe6
      https://github.com/llvm/llvm-project/commit/315dc4bbc730a3c672967c27587088cfe9752fe6
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

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

  Log Message:
  -----------
  [clang-format] Add a space after a word token only if required (#90161)

Fixes #78166.


  Commit: cb508a0032eb2d11391214864f408261158361bf
      https://github.com/llvm/llvm-project/commit/cb508a0032eb2d11391214864f408261158361bf
  Author: Perry MacMurray <pmacmurr at quicinc.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Target/Hexagon/CMakeLists.txt
    A llvm/lib/Target/Hexagon/HexagonCopyHoisting.cpp
    M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
    A llvm/test/CodeGen/Hexagon/hexagon-copy-hoisting.mir

  Log Message:
  -----------
  [Hexagon] Add Hexagon Copy Hoisting pass (#89313)

Adds the HexagonCopyHoisting pass, which moves a common copy instruction
into a basic block if it is present in all successor basic blocks.

---------

Co-authored-by: Jyotsna Verma <jverma at quicinc.com>


  Commit: 338561657685c1831a53563b1bc36ffc7470239e
      https://github.com/llvm/llvm-project/commit/338561657685c1831a53563b1bc36ffc7470239e
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

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

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


  Commit: 90a959a8c978671467041c865509a0e1823c5115
      https://github.com/llvm/llvm-project/commit/90a959a8c978671467041c865509a0e1823c5115
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

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

  Log Message:
  -----------
  [Bazel] Add llvm-mca unittests (#90309)

This patch refactors the llvm-mca rules slightly so that the source
files within the tool source directory but not the library source
directory are included in a separate cc_library. This patch also adds
the llvm-mca unittests.


  Commit: 85a9528aa1f2d54379bf972908e12ee2a6f07b4b
      https://github.com/llvm/llvm-project/commit/85a9528aa1f2d54379bf972908e12ee2a6f07b4b
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M libcxx/include/__utility/no_destroy.h
    M libcxx/test/libcxx/transitive_includes/cxx20.csv
    A libcxx/test/libcxx/utilities/no_destroy.pass.cpp

  Log Message:
  -----------
  [libcxx] Remove empty ~__no_destroy (#89882)

Primary motivation: is that after #84651 msan will
complain if fields accessed after ~__no_destroy.

My understanding of the https://eel.is/c++draft/basic.life#10
Static object with trivial destruction has program lifetime.
Static object with empty destuctor has implicit lifetime, and
accessing the object after lifetime is UB.

It was UB before #84651, it's just msan ignored union members.

Existing code with unions uses empty destructor, so accessing after
the main() can cause UB.

"placement new" version can have trivial destructor, so there is no end
of lifetime.

Secondary motivation: empty destructor will register __cxa_atexit with
-O0.
https://gcc.godbolt.org/z/hce587b65

We can not remove the destructor with union where
_Tp can have non-trivial destructor.

But we can remove destructor if we use in-place
new instead of union.
https://gcc.godbolt.org/z/Yqxx57eEd - empty even with -O0.

New test fails without the patch on

https://lab.llvm.org/buildbot/#/builders/sanitizer-x86_64-linux-bootstrap-msan


  Commit: 9145514fde484916971e6bb147c18f9235a9f2b5
      https://github.com/llvm/llvm-project/commit/9145514fde484916971e6bb147c18f9235a9f2b5
  Author: Semyon Khechnev <91785625+s-khechnev at users.noreply.github.com>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

  Changed paths:
    M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
    M mlir/test/Dialect/Arith/canonicalize.mlir

  Log Message:
  -----------
  [mlir][arith] fix canonicalization of mulsi_extended for i1 (#90150)

There is the `MulSIExtendedRHSOne` canonicalization for
arith.mulsi_extended that is defined as follows: `mulsi_extended(x, 1)
-> [x, extsi(cmpi slt, x, 0)]`. In the implementation of this, there is
a `IsScalarOrSplatOne` constraint for the second argument. However, this
constraint does not correctly handle situation when multiplying i1
values. Therefore, an additional constraint has been added which checks
the second argument for strict positivity.

fix #88732


  Commit: bc349cea7ad83bba9614e82f695d4b608f801102
      https://github.com/llvm/llvm-project/commit/bc349cea7ad83bba9614e82f695d4b608f801102
  Author: Thorsten Schütt <schuett at gmail.com>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CombinerHelperVectorOps.cpp
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-insert-vec-elt.mir

  Log Message:
  -----------
  [GlobalIsel] combine insert vector element (#89363)

preliminary steps
poison symbols


  Commit: 7aa6896dd7bcdcb1d09f4f98e356c43d723d9d6b
      https://github.com/llvm/llvm-project/commit/7aa6896dd7bcdcb1d09f4f98e356c43d723d9d6b
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

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

  Log Message:
  -----------
  Revert "[memprof] Introduce FrameIdConverter and CallStackIdConverter" (#90318)

Reverts llvm/llvm-project#90307

Breaks bots https://lab.llvm.org/buildbot/#/builders/5/builds/42943


  Commit: 9bb84cec1b5375c24e5fa9cf7700070d9d1b4184
      https://github.com/llvm/llvm-project/commit/9bb84cec1b5375c24e5fa9cf7700070d9d1b4184
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

  Changed paths:
    M llvm/include/llvm/ADT/StringRef.h
    M llvm/unittests/ADT/StringRefTest.cpp

  Log Message:
  -----------
  [ADT] Add StringRef::{starts,ends}_with(char) (#90311)

This patch adds to StringRef the equivalent of
std::string_view::{starts,ends}_with(char) in C++20.


  Commit: 840032419d3717a81e48db6c165dab006252936b
      https://github.com/llvm/llvm-project/commit/840032419d3717a81e48db6c165dab006252936b
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

  Changed paths:
    M libcxx/include/__algorithm/find.h
    M libcxx/include/__algorithm/ranges_find.h
    M libcxx/include/__string/char_traits.h

  Log Message:
  -----------
  [libc++][NFC] Rename __find_impl to __find (#90163)

For most algorithms we've just added underscores to the detail function.
This changes `std::find` to match that pattern.


  Commit: 715219482b99ceef9bf83a2ff68c64c8faa930cd
      https://github.com/llvm/llvm-project/commit/715219482b99ceef9bf83a2ff68c64c8faa930cd
  Author: Cinhi Young <cyanoxygen at aosc.io>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

  Changed paths:
    M llvm/lib/Target/Mips/Mips32r6InstrInfo.td
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    A llvm/test/CodeGen/Mips/mipsr6-minmaxnum.ll
    M llvm/test/CodeGen/Mips/msa/f16-llvm-ir.ll

  Log Message:
  -----------
  [MIPS] match llvm.{min,max}num with {min,max}.fmt for R6 (#89021)

- The behavior is similar to UCOMISD on x86, which is also used to
compare two fp values, specifically on handling of NaNs.
- Update related tests regarding this change.
- The further goal is to implement `llvm.minimum` and `llvm.maximum`
intrinsics for MIPS R6 and Pre-R6.

Part of https://github.com/llvm/llvm-project/issues/64207


  Commit: c229f767e48c7190b7568e6ebd1688bb08795744
      https://github.com/llvm/llvm-project/commit/c229f767e48c7190b7568e6ebd1688bb08795744
  Author: XChy <xxs_chy at outlook.com>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

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

  Log Message:
  -----------
  [DFAJumpThreading] Avoid exploring the paths that never come back (#85505)

This patch does:
- Preserve loop info when unfolding selects.
- Reduce the search space for loop paths.


  Commit: b2c9f7d3188e41163574a83a835437955cf4b80f
      https://github.com/llvm/llvm-project/commit/b2c9f7d3188e41163574a83a835437955cf4b80f
  Author: Danny Mösch <danny.moesch at icloud.com>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

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

  Log Message:
  -----------
  [clang-tidy] Ensure nullable variable is not accessed without validity test (#90173)


  Commit: 9e30c96aee5c85b4a5b7efa79cc7c94c1edb9d5b
      https://github.com/llvm/llvm-project/commit/9e30c96aee5c85b4a5b7efa79cc7c94c1edb9d5b
  Author: Serge Pavlov <sepavloff at gmail.com>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/test/CodeGen/AArch64/fpmode.ll

  Log Message:
  -----------
  [AArch64] Lowering of fpmode intrinsics in DAG (#80611)

LLVM intrinsics `get_fpmode`, `set_fpmode` and `reset_fpmode` operate
control modes, the bits of FP environment that affect FP operations. On
AArch64 these bits are in FPCR. The lowering implemented to produce code
close to that of GLIBC.


  Commit: b5e8555607ed39816dd05e8b6fafa2774305e825
      https://github.com/llvm/llvm-project/commit/b5e8555607ed39816dd05e8b6fafa2774305e825
  Author: XChy <xxs_chy at outlook.com>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

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

  Log Message:
  -----------
  [MemCpyOpt][NFC] Format codebase (#90225)

This patch automatically formats the code.


  Commit: 7b5b5214a6f905be67e3c2ecb9b4887eaa3406c3
      https://github.com/llvm/llvm-project/commit/7b5b5214a6f905be67e3c2ecb9b4887eaa3406c3
  Author: XChy <xxs_chy at outlook.com>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

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

  Log Message:
  -----------
  [DFAJumpThreading][NFC] Use const reference as range variable (#90342)

Fixes #90286


  Commit: ff03f23be8bc6df701efd9e1093779fbcf382d87
      https://github.com/llvm/llvm-project/commit/ff03f23be8bc6df701efd9e1093779fbcf382d87
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/CMakeLists.txt
    M llvm/lib/Target/WebAssembly/WebAssembly.h
    A llvm/lib/Target/WebAssembly/WebAssemblyCleanCodeAfterTrap.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
    M llvm/test/CodeGen/WebAssembly/unreachable.ll
    M llvm/test/MC/WebAssembly/global-ctor-dtor.ll

  Log Message:
  -----------
  [WebAssembly] remove instruction after builtin trap (#90207)

`llvm.trap` will be convert as `unreachable` which is terminator.
Instruction after terminator will cause validation failed.
This PR introduces a pass to clean instruction after terminator.
Fixes: #68770.


  Commit: 738c135ee09de66a26805530d314c2f28d1eca02
      https://github.com/llvm/llvm-project/commit/738c135ee09de66a26805530d314c2f28d1eca02
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/SystemZ/atomic-load-08.ll
    M llvm/test/CodeGen/SystemZ/atomic-store-08.ll
    M llvm/test/CodeGen/SystemZ/atomicrmw-xchg-07.ll

  Log Message:
  -----------
  SystemZ: Add more tests for fp128 atomics (#90269)

These did not have proper floating point uses so weren't representative
samples. The bitcast inserted by lowering could be absorbed by the
load/store on the source/use.


  Commit: 803cbcbc4029fc65188f6c1083a230341279b2d2
      https://github.com/llvm/llvm-project/commit/803cbcbc4029fc65188f6c1083a230341279b2d2
  Author: Björn Svensson <bjorn.a.svensson at est.tech>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-nullptr.rst
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr-c23.c
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr.c

  Log Message:
  -----------
  [clang-tidy] Enable C23 support in modernize-use-nullptr (#89990)

C23 introduces the `nullptr` constant similar to C++11 which means that
the checker `modernize-use-nullptr` can be used on C23 code as well.

This PR enables the checker to be run on C23 and adds testcases.

See N3042:
https://open-std.org/JTC1/SC22/WG14/www/docs/n3042.htm


  Commit: 0336328e970e7e809d52a33a704bb7c05f6e170e
      https://github.com/llvm/llvm-project/commit/0336328e970e7e809d52a33a704bb7c05f6e170e
  Author: Piotr Zegar <me at piotrzegar.pl>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

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

  Log Message:
  -----------
  [clang-tidy][DOC] Minor fixes to release notes

Fix minor style problems in release notes.


  Commit: 38a2051c5222b3e5245043a3056b3a1e89f69b22
      https://github.com/llvm/llvm-project/commit/38a2051c5222b3e5245043a3056b3a1e89f69b22
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/CMakeLists.txt
    M llvm/lib/Target/WebAssembly/WebAssembly.h
    R llvm/lib/Target/WebAssembly/WebAssemblyCleanCodeAfterTrap.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
    M llvm/test/CodeGen/WebAssembly/unreachable.ll
    M llvm/test/MC/WebAssembly/global-ctor-dtor.ll

  Log Message:
  -----------
  Revert "[WebAssembly] remove instruction after builtin trap" (#90354)

Reverts llvm/llvm-project#90207

LLD Bots are broken.


  Commit: 6084dcbfce6a54f6cb88e40ef490e0dd25984f81
      https://github.com/llvm/llvm-project/commit/6084dcbfce6a54f6cb88e40ef490e0dd25984f81
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll

  Log Message:
  -----------
  [LV] Add additional cost model coverage for loops with casted inds.

Add test coverage for cost-model code-paths not covered by current unit
tests in preparation for
 https://github.com/llvm/llvm-project/pull/67934.


  Commit: b4af01bada0c945906d85c364e12aceaf98b0fae
      https://github.com/llvm/llvm-project/commit/b4af01bada0c945906d85c364e12aceaf98b0fae
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

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

  Log Message:
  -----------
  [clang-format][NFC] Don't repeat Changes[i]/Changes[i - 1]


  Commit: 53ff002c6f7ec64a75ab0990b1314cc6b4bb67cf
      https://github.com/llvm/llvm-project/commit/53ff002c6f7ec64a75ab0990b1314cc6b4bb67cf
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

  Changed paths:
    M clang/cmake/caches/Release.cmake
    M llvm/utils/release/test-release.sh

  Log Message:
  -----------
  [CMake][Release] Enable CMAKE_POSITION_INDEPENDENT_CODE (#90139)

Set this in the cache file directly instead of via the test-release.sh
script so that the release builds can be reproduced with just the cache
file.


  Commit: ad1e10ae1109fa7204ab70422bb611fe88391228
      https://github.com/llvm/llvm-project/commit/ad1e10ae1109fa7204ab70422bb611fe88391228
  Author: Nathan Lanza <nathanlanza at gmail.com>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

  Changed paths:
    M .github/CODEOWNERS

  Log Message:
  -----------
  [github] Add ClangIR codeowners (#86089)


  Commit: 1a462296360f311d4593694aefd30c6b3e969460
      https://github.com/llvm/llvm-project/commit/1a462296360f311d4593694aefd30c6b3e969460
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M lld/test/wasm/init-fini.ll
    M llvm/lib/Target/WebAssembly/CMakeLists.txt
    M llvm/lib/Target/WebAssembly/WebAssembly.h
    A llvm/lib/Target/WebAssembly/WebAssemblyCleanCodeAfterTrap.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
    M llvm/test/CodeGen/WebAssembly/unreachable.ll
    M llvm/test/MC/WebAssembly/global-ctor-dtor.ll

  Log Message:
  -----------
  Revert "Revert "[WebAssembly] remove instruction after builtin trap" (#90354)" (#90366)

`llvm.trap` will be convert as unreachable which is terminator.
Instruction after terminator will cause validation failed.
This PR introduces a pass to clean instruction after terminator.
Fixes: https://github.com/llvm/llvm-project/issues/68770
Reapply: #90207


  Commit: 679e99d6667343e32f418d249e1af1cd76f1c08a
      https://github.com/llvm/llvm-project/commit/679e99d6667343e32f418d249e1af1cd76f1c08a
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

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

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


  Commit: 7037878d2b4afbda436ec61008ac907bd782bdd8
      https://github.com/llvm/llvm-project/commit/7037878d2b4afbda436ec61008ac907bd782bdd8
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M llvm/test/TableGen/riscv-target-def.td
    M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp

  Log Message:
  -----------
  [RISCV][TableGen] Get right experimental extension name

We should remove the `experimental-` prefix when printing march
string.

We didn't meet this problem because there is no processor containing
experimental extensions.

Reviewers: fpetrogalli, asb, topperc

Reviewed By: topperc, asb

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


  Commit: f86d264dfdd6d1fa2fc6f933c9ae7b5db50a770b
      https://github.com/llvm/llvm-project/commit/f86d264dfdd6d1fa2fc6f933c9ae7b5db50a770b
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCV.td
    A llvm/lib/Target/RISCV/RISCVProfiles.td
    M llvm/test/CodeGen/RISCV/attributes.ll

  Log Message:
  -----------
  [RISCV] Add subtarget features for profiles

This may simplify the usage of tools like `opt`, `llc`, etc.

Reviewers: michaelmaitland, 4vtomat, preames, asb

Reviewed By: michaelmaitland, preames, 4vtomat

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


  Commit: c705c6847633ae3ef6711f911b829521463b24b4
      https://github.com/llvm/llvm-project/commit/c705c6847633ae3ef6711f911b829521463b24b4
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/test/TableGen/riscv-target-def.td
    M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp

  Log Message:
  -----------
  [RISCV] Generate profiles from RISCVProfiles.td

So we can only mantain one place.

Reviewers: preames, yetingk, topperc

Reviewed By: topperc

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


  Commit: 2c1c887c8e6baf39a58a2ec18a43ed4101422e2a
      https://github.com/llvm/llvm-project/commit/2c1c887c8e6baf39a58a2ec18a43ed4101422e2a
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/test/CodeGen/RISCV/rvv/commutable.ll

  Log Message:
  -----------
  [RISCV] Make fixed-point instructions commutable (#90035)

This PR includes:
* vsadd.vv/vsaddu.vv
* vaadd.vv/vaaddu.vv
* vsmul.vv


  Commit: 37eb9c9632fb5e82827d1a0559f2279e9a9f1969
      https://github.com/llvm/llvm-project/commit/37eb9c9632fb5e82827d1a0559f2279e9a9f1969
  Author: Zhijin Zeng <zhijin.zeng at spacemit.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/select.ll

  Log Message:
  -----------
  [RISC-V][ISel] Remove redundant czero.eqz like 'czero.eqz a0, a0, a0' (#90208)

In RISC-V ISel, the instruction `czero.eqz a0, a0, a0` is meaningless.
This patch does the following folds in ISel:
```
czero_eqz x, (setcc x, 0, ne) -> x
czero_nez x, (setcc x, 0, eq) -> x
```

---------

Signed-off-by: Zhijin Zeng <zhijin.zeng at spacemit.com>


  Commit: 487967af82053cd08022635a2ff768385d936c80
      https://github.com/llvm/llvm-project/commit/487967af82053cd08022635a2ff768385d936c80
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M clang/include/clang/AST/DeclContextInternals.h
    A clang/test/Modules/pr88400.cppm

  Log Message:
  -----------
  [Modules] Don't replace local declarations with external declaration with lower visibility

Close https://github.com/llvm/llvm-project/issues/88400

For the reproducer:

```
//--- header.h

namespace N {
    template<typename T>
    concept X = true;

    template<X T>
    class Y {
    public:
        template<X U>
        friend class Y;
    };

    inline Y<int> x;
}

//--- bar.cppm
module;
export module bar;
namespace N {
    // To make sure N::Y won't get elided.
    using N::x;
}

//--- foo.cc
// expected-no-diagnostics
import bar;
void y() {
    N::Y<int> y{};
};
```

it will crash. The root cause is that in
`StoredDeclsList::replaceExternalDecls`, we will replace the
existing declarations with external declarations.

Then for the reproducer, the redecl chain for Y is like:

```
Y (Local) -> Y (Local, friend) -> Y (Imported) -> Y(Imported, friend)
```

Before the lookup, the stored lookup result is `Y(Local)` then we find
`Y(Imported)`. And now we repalce `Y(Local)` with `Y(Imported)`. But
`Y(Imported)` is not visible. So we tried to find if there is any
redeclarations visible but we find `Y(Local, friend)`, then problem
happens.

The solution is try to avoid the replace to happen if the external
declaration has lower visibility then we can always find the local
declarations. This may help the lookup performance slightly.

Also I found the implementation of
`StoredDeclsList::replaceExternalDecls` is not efficiency. It has an
`O(n*m)` complexities. But let's improve that in the future.


  Commit: 5820ad92456dfb68bd964fb2bfa0fa783a5b99fe
      https://github.com/llvm/llvm-project/commit/5820ad92456dfb68bd964fb2bfa0fa783a5b99fe
  Author: Piyou Chen <piyou.chen at sifive.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

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

  Log Message:
  -----------
  [NFC][RISCV] Keep AVLReg define instr inside VSETVLInfo (#89180)

Currently, the vsetvli pass tracks the define instruction through
`MRI->getVRegDef` due to the SSA form.

This patch keeps the AVLReg DefMI within VSETVLInfo during construction.
And replace `MRI->getVRegDef(AVLReg)` with `getAVLRegDefMI()`.

This information is useful when vsetvli pass live in post-ra situation.

The testcases don't change because the VReg always has a unique def in
SSA.


  Commit: 0a0f1f9f1db0546084e9a62ec370025ec23be8f2
      https://github.com/llvm/llvm-project/commit/0a0f1f9f1db0546084e9a62ec370025ec23be8f2
  Author: Chen Zheng <czhengsz at cn.ibm.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
    A llvm/test/CodeGen/PowerPC/peephole-counter-XToI.mir
    A llvm/test/CodeGen/PowerPC/peephole-counter-perOp.mir

  Log Message:
  -----------
  [PPC]add DEBUG_COUNTER for PPCMIPeephole pass


  Commit: e3dea5e3410fd6a1e549cfa7021c4f8652b36095
      https://github.com/llvm/llvm-project/commit/e3dea5e3410fd6a1e549cfa7021c4f8652b36095
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M libcxx/include/__format/escaped_output_table.h
    M libcxx/include/format
    A libcxx/test/libcxx/utilities/format/format.string/format.string.std/escaped_output.pass.cpp
    M libcxx/utils/generate_escaped_output_table.py

  Log Message:
  -----------
  [libc++][format] Improves escaping performance. (#88533)

The previous patch implemented
- P2713R1 Escaping improvements in std::format
- LWG3965 Incorrect example in [format.string.escaped] p3 for formatting
of combining characters

These changes were correct, but had a size and performance penalty. This
patch improves the size and performance of the previous patch. The
performance is still worse than before since the lookups may require two
property lookups instead of one before implementing the paper. The
changes give a tighter coupling between the Unicode data and the
algorithm. Additional tests are added to notify about changes in future
Unicode updates.

Before
```
-----------------------------------------------------------------------
Benchmark                             Time             CPU   Iterations
-----------------------------------------------------------------------
BM_ascii_escaped<char>           110704 ns       110696 ns         6206
BM_unicode_escaped<char>         101371 ns       101374 ns         6862
BM_cyrillic_escaped<char>         63329 ns        63327 ns        11013
BM_japanese_escaped<char>         41223 ns        41225 ns        16938
BM_emoji_escaped<char>           111022 ns       111021 ns         6304
BM_ascii_escaped<wchar_t>        112441 ns       112443 ns         6231
BM_unicode_escaped<wchar_t>      102776 ns       102779 ns         6813
BM_cyrillic_escaped<wchar_t>      58977 ns        58975 ns        11868
BM_japanese_escaped<wchar_t>      36885 ns        36886 ns        18975
BM_emoji_escaped<wchar_t>        115885 ns       115881 ns         6051
```

The first change is to manually encode the entire last area and make a
manual exception for the 240 excluded entries. This reduced the table
from 1077 to 729 entries and gave the following benchmark results.
```
-----------------------------------------------------------------------
Benchmark                             Time             CPU   Iterations
-----------------------------------------------------------------------
BM_ascii_escaped<char>           104777 ns       104776 ns         6550
BM_unicode_escaped<char>          96980 ns        96982 ns         7238
BM_cyrillic_escaped<char>         60254 ns        60251 ns        11670
BM_japanese_escaped<char>         44452 ns        44452 ns        15734
BM_emoji_escaped<char>           104557 ns       104551 ns         6685
BM_ascii_escaped<wchar_t>        107456 ns       107454 ns         6505
BM_unicode_escaped<wchar_t>       96219 ns        96216 ns         7301
BM_cyrillic_escaped<wchar_t>      56921 ns        56904 ns        12288
BM_japanese_escaped<wchar_t>      39530 ns        39529 ns        17492
BM_emoji_escaped<wchar_t>        108494 ns       108496 ns         6408
```

An entry in the table can only contain 2048 code points. For larger
ranges there are multiple entries split in chunks with a maximum size of
2048 entries. To encode the entire Unicode code point range 21 bits are
required. The manual part starts at 0x323B0 this means all entries in
the table fit in 18 bits. This allows to allocate 3 additional bits for
the range. This allows entries to have 16384 elements. This range always
avoids splitting the range in multiple chunks.

This reduces the number of table elements from 729 to 711 and gives the
following benchmark results.
```
-----------------------------------------------------------------------
Benchmark                             Time             CPU   Iterations
-----------------------------------------------------------------------
BM_ascii_escaped<char>           104289 ns       104289 ns         6619
BM_unicode_escaped<char>          96682 ns        96681 ns         7215
BM_cyrillic_escaped<char>         59673 ns        59673 ns        11732
BM_japanese_escaped<char>         41983 ns        41982 ns        16646
BM_emoji_escaped<char>           104119 ns       104120 ns         6683
BM_ascii_escaped<wchar_t>        104503 ns       104505 ns         6693
BM_unicode_escaped<wchar_t>       93426 ns        93423 ns         7489
BM_cyrillic_escaped<wchar_t>      54858 ns        54859 ns        12742
BM_japanese_escaped<wchar_t>      36385 ns        36384 ns        19259
BM_emoji_escaped<wchar_t>        105608 ns       105610 ns         6592
```


  Commit: 367efa0b0542e6f4171e8c914728946c302ab24b
      https://github.com/llvm/llvm-project/commit/367efa0b0542e6f4171e8c914728946c302ab24b
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

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

  Log Message:
  -----------
  [NFC] [Modules] Avoid scanning the stored decl list twice when replace
external decls

This patch fixes a FIXME in StoredDeclList::replaceExternalDecls.

StoredDeclList::replaceExternalDecls will iterate the list first to
remove some declarations and iterate the list again to get the tail of
the list.

It should be better to avoid the second iterations.


  Commit: bfd269d0d0d6cb58235a838eb659eef97e4f2ebf
      https://github.com/llvm/llvm-project/commit/bfd269d0d0d6cb58235a838eb659eef97e4f2ebf
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

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

  Log Message:
  -----------
  [AMDGPU] Fix test failing on Windows for `ld.lld.exe`


  Commit: 46321395ce5c13079322ab0d965967fb60472fd2
      https://github.com/llvm/llvm-project/commit/46321395ce5c13079322ab0d965967fb60472fd2
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    R flang/test/Lower/OpenMP/FIR/array-bounds.f90
    R flang/test/Lower/OpenMP/FIR/atomic-capture.f90
    R flang/test/Lower/OpenMP/FIR/atomic-read.f90
    R flang/test/Lower/OpenMP/FIR/atomic-update.f90
    R flang/test/Lower/OpenMP/FIR/atomic-write.f90
    R flang/test/Lower/OpenMP/FIR/copyin.f90
    R flang/test/Lower/OpenMP/FIR/critical.f90
    R flang/test/Lower/OpenMP/FIR/declare-target-data.f90
    R flang/test/Lower/OpenMP/FIR/declare-target-func-and-subr.f90
    R flang/test/Lower/OpenMP/FIR/declare-target-implicit-func-and-subr-cap-enter.f90
    R flang/test/Lower/OpenMP/FIR/declare-target-implicit-func-and-subr-cap.f90
    R flang/test/Lower/OpenMP/FIR/default-clause.f90
    R flang/test/Lower/OpenMP/FIR/delayed-privatization-firstprivate.f90
    R flang/test/Lower/OpenMP/FIR/delayed-privatization-private.f90
    R flang/test/Lower/OpenMP/FIR/firstprivate-commonblock.f90
    R flang/test/Lower/OpenMP/FIR/flush.f90
    R flang/test/Lower/OpenMP/FIR/if-clause.f90
    R flang/test/Lower/OpenMP/FIR/is-device.f90
    R flang/test/Lower/OpenMP/FIR/lastprivate-commonblock.f90
    R flang/test/Lower/OpenMP/FIR/location.f90
    R flang/test/Lower/OpenMP/FIR/loop-combined.f90
    R flang/test/Lower/OpenMP/FIR/map-component-ref.f90
    R flang/test/Lower/OpenMP/FIR/master.f90
    R flang/test/Lower/OpenMP/FIR/omp-declare-target-program-var.f90
    R flang/test/Lower/OpenMP/FIR/omp-is-gpu.f90
    R flang/test/Lower/OpenMP/FIR/ordered-threads.f90
    R flang/test/Lower/OpenMP/FIR/parallel-firstprivate-clause-scalar.f90
    R flang/test/Lower/OpenMP/FIR/parallel-lastprivate-clause-scalar.f90
    R flang/test/Lower/OpenMP/FIR/parallel-private-clause-fixes.f90
    R flang/test/Lower/OpenMP/FIR/parallel-private-clause.f90
    R flang/test/Lower/OpenMP/FIR/parallel-reduction-add-byref.f90
    R flang/test/Lower/OpenMP/FIR/parallel-reduction-add.f90
    R flang/test/Lower/OpenMP/FIR/parallel-sections.f90
    R flang/test/Lower/OpenMP/FIR/parallel-wsloop-firstpriv.f90
    R flang/test/Lower/OpenMP/FIR/parallel-wsloop.f90
    R flang/test/Lower/OpenMP/FIR/parallel.f90
    R flang/test/Lower/OpenMP/FIR/pre-fir-tree-loop.f90
    R flang/test/Lower/OpenMP/FIR/pre-fir-tree01.f90
    R flang/test/Lower/OpenMP/FIR/private-commonblock.f90
    R flang/test/Lower/OpenMP/FIR/requires-common.f90
    R flang/test/Lower/OpenMP/FIR/requires-notarget.f90
    R flang/test/Lower/OpenMP/FIR/requires.f90
    R flang/test/Lower/OpenMP/FIR/rtl-flags.f90
    R flang/test/Lower/OpenMP/FIR/sections-pft.f90
    R flang/test/Lower/OpenMP/FIR/sections.f90
    R flang/test/Lower/OpenMP/FIR/simd.f90
    R flang/test/Lower/OpenMP/FIR/simple-barrier.f90
    R flang/test/Lower/OpenMP/FIR/single.f90
    R flang/test/Lower/OpenMP/FIR/stop-stmt-in-region.f90
    R flang/test/Lower/OpenMP/FIR/target.f90
    R flang/test/Lower/OpenMP/FIR/target_cpu_features.f90
    R flang/test/Lower/OpenMP/FIR/task.f90
    R flang/test/Lower/OpenMP/FIR/taskgroup.f90
    R flang/test/Lower/OpenMP/FIR/taskwait.f90
    R flang/test/Lower/OpenMP/FIR/taskyield.f90
    R flang/test/Lower/OpenMP/FIR/teams.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-char-array-chararray.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-commonblock.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-integer-different-kinds.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-non-global.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-pointer-allocatable.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-real-logical-complex-derivedtype.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-use-association-2.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-use-association.f90
    R flang/test/Lower/OpenMP/FIR/unstructured.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-chunks.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-collapse.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-monotonic.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-nonmonotonic.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-ordered.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-add-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-add.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-max-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-max.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-min-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-min.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-simd.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-variable.f90
    R flang/test/Lower/OpenMP/FIR/wsloop.f90

  Log Message:
  -----------
  [Flang][OpenMP] Remove deprecated FIR lowering tests (#90188)

Remove OpenMP FIR lowering tests. These are now replaced by HLFIR based
tests. This might hopefully speedup testing as well.


  Commit: 19d2d3fe50c301272350d12c53c801b17e29e64e
      https://github.com/llvm/llvm-project/commit/19d2d3fe50c301272350d12c53c801b17e29e64e
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M libcxx/CMakeLists.txt
    M libcxx/cmake/caches/Generic-cxx20.cmake
    M libcxx/cmake/caches/Generic-cxx23.cmake
    M libcxx/cmake/caches/Generic-cxx26.cmake
    M libcxx/cmake/caches/Generic-hardening-mode-extensive.cmake
    M libcxx/cmake/caches/Generic-no-exceptions.cmake
    M libcxx/cmake/caches/Generic-no-experimental.cmake
    M libcxx/cmake/caches/Generic-no-filesystem.cmake
    M libcxx/cmake/caches/Generic-no-localization.cmake
    M libcxx/cmake/caches/Generic-no-random_device.cmake
    M libcxx/cmake/caches/Generic-no-threads.cmake
    M libcxx/cmake/caches/Generic-no-unicode.cmake
    M libcxx/cmake/caches/Generic-no-wide-characters.cmake
    M libcxx/docs/BuildingLibcxx.rst
    M libcxx/docs/ReleaseNotes/19.rst

  Log Message:
  -----------
  [libc++][modules] Enable installation by default. (#90094)

This was suggested during the review of
https://github.com/llvm/llvm-project/pull/89413

This does not change the experimental state of modules.


  Commit: b6a8f5486bc12b132ec984bc8767506e3bcb6694
      https://github.com/llvm/llvm-project/commit/b6a8f5486bc12b132ec984bc8767506e3bcb6694
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll

  Log Message:
  -----------
  [LV] Consider all exit branch conditions uniform.

If we vectorize a loop with multiple exits, all exiting branches should
be considered uniform, as the resulting loop will be controlled by the
canonical IV only. Previously we were overestimating the cost of values
contributing to the other exits.


  Commit: dc6ce60801ede0c6423470961d3728596ee46b04
      https://github.com/llvm/llvm-project/commit/dc6ce60801ede0c6423470961d3728596ee46b04
  Author: Fabian Mora <fmora.dev at gmail.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/GPU/Transforms/Passes.td
    M mlir/lib/Dialect/GPU/Transforms/ModuleToBinary.cpp

  Log Message:
  -----------
  [mlir][gpu] Remove `offloadingHandler` from `ModuleToBinary` (#90368)

This patch removes the `offloadingHandler` option from the
`ModuleToBinary` pass. The option is removed as it cannot be parsed from
textual form.

This fixes issue #90344.


  Commit: 4cec3b36f6d6c858992530fa5592824622ada9c7
      https://github.com/llvm/llvm-project/commit/4cec3b36f6d6c858992530fa5592824622ada9c7
  Author: Renato Golin <rengolin at systemcall.eu>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgEnums.td
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/python/mlir/dialects/linalg/opdsl/lang/comprehension.py
    M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
    M mlir/test/Dialect/Linalg/generalize-named-ops.mlir
    M mlir/test/Dialect/Linalg/named-ops-fail.mlir
    M mlir/test/Dialect/Linalg/named-ops.mlir

  Log Message:
  -----------
  [MLIR][Linalg] More Linalg named ops (#90236)

Adding `min` that was already implemented but not exposed.

Adding a few additional unary ops:
* Reciprocal as `arith.div(1,arg)`
* Round as `math.round(arg)`
* Sqrt as `math.sqrt(arg)`
* Rsqrt as `math.rsqrt(arg)`
* Square as `math.powf(arg, 2)`
* TanH as `math.tanh(arg)`

All with the agreed semantics at the round table: no implicit
broadcast/type cast.


  Commit: 256d76f48060a353ba3bb885698e2ba8d1c87ec6
      https://github.com/llvm/llvm-project/commit/256d76f48060a353ba3bb885698e2ba8d1c87ec6
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M llvm/docs/ConvergenceAndUniformity.rst
    M llvm/docs/ConvergentOperations.rst

  Log Message:
  -----------
  [Docs] Improve the description of convergence (#89038)

- Clarify convergence of threads v/s convergence of operations.
- Explicitly address operations that are not in any cycle.

This was inspired by a discussion on Discourse:
https://discourse.llvm.org/t/llvm-convergence-semantics/77642


  Commit: 98001a662c28c7e7d36b13be3073d41dbcd961b0
      https://github.com/llvm/llvm-project/commit/98001a662c28c7e7d36b13be3073d41dbcd961b0
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

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

  Log Message:
  -----------
  [X86] Fix tabs/spaces typo. NFC.


  Commit: a1aea37fd1fe6a61342f6ca672581c3641efaaeb
      https://github.com/llvm/llvm-project/commit/a1aea37fd1fe6a61342f6ca672581c3641efaaeb
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/cmp.ll

  Log Message:
  -----------
  [X86] cmp.ll - update check prefixes to share common CHECK

Split ndd/no-ndd check prefix cases


  Commit: 8ad092f126bd1d6f9fe6006eba1e3115a080235e
      https://github.com/llvm/llvm-project/commit/8ad092f126bd1d6f9fe6006eba1e3115a080235e
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    A clang/test/Misc/cc1as-relax-all.s
    M clang/tools/driver/cc1as_main.cpp

  Log Message:
  -----------
  [cc1as] Respect -mrelax-all

So that `clang -c -mrelax-all a.s` sets MCRelaxAll and assembles JMP/JCC
to a near jump instead of silently ignoring `-mrelax-all`.


  Commit: 216787cffc4a864e0effb165c1c32b92328a0a06
      https://github.com/llvm/llvm-project/commit/216787cffc4a864e0effb165c1c32b92328a0a06
  Author: Théo Degioanni <theo.degioanni.llvm.deluge062 at simplelogin.fr>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M mlir/test/Dialect/Arith/canonicalize.mlir

  Log Message:
  -----------
  [mlir][arith] Add tests for i0 canonicalization (#89665)

Before #87193, the canonicalizer in arith crashed when attempting signed
extension on an i0 value. To hopefully avoid it happening again, this PR
introduces tests for canonicalization of arith operations with i0
values, focusing on operations related to bit width or signedness.


  Commit: 6dd90616c477d83c156eed62c880e951bb508cfd
      https://github.com/llvm/llvm-project/commit/6dd90616c477d83c156eed62c880e951bb508cfd
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Sema/DeclSpec.h
    M clang/include/clang/Sema/ParsedAttr.h
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Sema/DeclSpec.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/test/Lexer/cxx-features.cpp
    M clang/test/Parser/cxx1z-decomposition.cpp
    M clang/test/SemaCXX/unused.cpp
    M clang/www/cxx_status.html

  Log Message:
  -----------
  [Clang] Implement C++26 Attributes for Structured Bindings (P0609R3) (#89906)

https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p0609r3.pdf

We support this feature in all language mode.

maybe_unused applied to a binding makes the whole declaration unused.


  Commit: 352602010fac5c7e07bc6b992848ab746d0c2857
      https://github.com/llvm/llvm-project/commit/352602010fac5c7e07bc6b992848ab746d0c2857
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

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

  Log Message:
  -----------
  Repply [memprof] Introduce FrameIdConverter and CallStackIdConverter (#90307)

Currently, we convert FrameId to Frame and CallStackId to a call stack
at several places.  This patch unifies those into function objects --
FrameIdConverter and CallStackIdConverter.

The existing implementation of CallStackIdConverter, being removed in
this patch, handles both FrameId and CallStackId conversions.  This
patch splits it into two phases for flexibility (but make them
composable) because some places only require the FrameId conversion.

This iteration fixes a problem uncovered with ubsan, where we were
dereferencing an uninitialized std::unique_ptr.


  Commit: c9dae43438897590a21edbc89003bd6704659c7c
      https://github.com/llvm/llvm-project/commit/c9dae43438897590a21edbc89003bd6704659c7c
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

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

  Log Message:
  -----------
  [memprof] Add access checks to PortableMemInfoBlock::get* (#90121)

commit 4c8ec8f8bc3fb4dda4fd36c3b2ad745bd3451970
  Author: Kazu Hirata <kazu at google.com>
  Date:   Wed Apr 24 16:25:35 2024 -0700

introduced the idea of serializing/deserializing a subset of the
fields in PortableMemInfoBlock.  While it reduces the size of the
indexed MemProf profile file, we now could inadvertently access
unavailable fields and go without noticing.

To protect ourselves from the risk, this patch adds access checks to
PortableMemInfoBlock::get* methods by embedding a bit set representing
available fields into PortableMemInfoBlock.


  Commit: fac349a169976f822fb27f03e623fa0d28aec1f3
      https://github.com/llvm/llvm-project/commit/fac349a169976f822fb27f03e623fa0d28aec1f3
  Author: Christian Sigg <chsigg at users.noreply.github.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M flang/include/flang/Lower/Mangler.h
    M flang/include/flang/Optimizer/Analysis/TBAAForest.h
    M flang/include/flang/Optimizer/Builder/BoxValue.h
    M flang/include/flang/Optimizer/Builder/Factory.h
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/PPCIntrinsicCall.h
    M flang/include/flang/Optimizer/Dialect/CanonicalizationPatterns.td
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FIRType.h
    M flang/include/flang/Optimizer/Dialect/FIRTypes.td
    M flang/include/flang/Optimizer/Dialect/FortranVariableInterface.td
    M flang/include/flang/Optimizer/HLFIR/HLFIRDialect.h
    M flang/include/flang/Optimizer/Support/Utils.h
    M flang/include/flang/Tools/PointerModels.h
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/ConvertArrayConstructor.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertConstant.cpp
    M flang/lib/Lower/ConvertExpr.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/ConvertProcedureDesignator.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/CustomIntrinsicCall.cpp
    M flang/lib/Lower/DirectivesCommon.h
    M flang/lib/Lower/HlfirIntrinsics.cpp
    M flang/lib/Lower/HostAssociations.cpp
    M flang/lib/Lower/IO.cpp
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/lib/Lower/VectorSubscripts.cpp
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/Builder/BoxValue.cpp
    M flang/lib/Optimizer/Builder/Character.cpp
    M flang/lib/Optimizer/Builder/Complex.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/MutableBox.cpp
    M flang/lib/Optimizer/Builder/PPCIntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
    M flang/lib/Optimizer/Builder/Runtime/Character.cpp
    M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
    M flang/lib/Optimizer/Builder/Runtime/Ragged.cpp
    M flang/lib/Optimizer/Builder/Runtime/Reduction.cpp
    M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
    M flang/lib/Optimizer/CodeGen/CGOps.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp
    M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
    M flang/lib/Optimizer/CodeGen/TBAABuilder.cpp
    M flang/lib/Optimizer/CodeGen/Target.cpp
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
    M flang/lib/Optimizer/Dialect/FIRAttr.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/lib/Optimizer/Dialect/FortranVariableInterface.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/ConvertToFIR.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
    M flang/lib/Optimizer/Transforms/AbstractResult.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/AffineDemotion.cpp
    M flang/lib/Optimizer/Transforms/AffinePromotion.cpp
    M flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
    M flang/lib/Optimizer/Transforms/CharacterConversion.cpp
    M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
    M flang/lib/Optimizer/Transforms/MemoryAllocation.cpp
    M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
    M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
    M flang/lib/Optimizer/Transforms/StackArrays.cpp
    M flang/unittests/Optimizer/Builder/ComplexTest.cpp
    M flang/unittests/Optimizer/Builder/DoLoopHelperTest.cpp
    M flang/unittests/Optimizer/Builder/FIRBuilderTest.cpp
    M flang/unittests/Optimizer/RTBuilder.cpp
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
    M mlir/include/mlir/IR/BuiltinLocationAttributes.td
    M mlir/include/mlir/IR/Value.h
    M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
    M mlir/lib/Dialect/Polynomial/IR/PolynomialAttributes.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp

  Log Message:
  -----------
  Reapply "[mlir] Mark `isa/dyn_cast/cast/...` member functions depreca… (#90406)

…ted. (#89998)" (#90250)

This partially reverts commit 7aedd7dc754c74a49fe84ed2640e269c25414087.

This change removes calls to the deprecated member functions. It does
not mark the functions deprecated yet and does not disable the
deprecation warning in TypeSwitch. This seems to cause problems with
MSVC.


  Commit: aafed3408e7269c42f974189198a47eb6dd2fc84
      https://github.com/llvm/llvm-project/commit/aafed3408e7269c42f974189198a47eb6dd2fc84
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

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

  Log Message:
  -----------
  [VPlan] Make createScalarIVSteps return VPScalarIVStepsRecipe (NFC).

This avoids the need for using getVPSingleValue/getDefiningRecipe at the
place the return value is used.


  Commit: 9c1de620344b2518bb171be51066e1ec9a5be623
      https://github.com/llvm/llvm-project/commit/9c1de620344b2518bb171be51066e1ec9a5be623
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/TokenAnnotator.cpp

  Log Message:
  -----------
  [clang-format][NFC] Return early in isWordLike() for non-Verilog (#90363)


  Commit: aa596fa4d974f75ed8d2db3f4880ec0e5be3e176
      https://github.com/llvm/llvm-project/commit/aa596fa4d974f75ed8d2db3f4880ec0e5be3e176
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

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

  Log Message:
  -----------
  [clang-format] Set Change.TokenLength to ColumnWidth (#90378)

Fixes #37705.
Fixes #47333.
Fixes #47624.
Fixes #58850.
Fixes #75929.
Fixes #87885.
Fixes #89916.


  Commit: 145176dc0c93566ce4aef721044d49ab8ba50f87
      https://github.com/llvm/llvm-project/commit/145176dc0c93566ce4aef721044d49ab8ba50f87
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.h
    M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
    M mlir/lib/Dialect/Polynomial/IR/PolynomialDialect.cpp
    M mlir/lib/Dialect/Polynomial/IR/PolynomialOps.cpp
    A mlir/test/Dialect/Polynomial/ops.mlir
    A mlir/test/Dialect/Polynomial/ops_errors.mlir
    M mlir/test/Dialect/Polynomial/types.mlir

  Log Message:
  -----------
  polynomial: Add basic ops (#89525)

Adds a few basic polynomial ops.

- add, sub, mul
- mul_scalar
- leading_term, monomial_mul, monomial (useful for lowering `mul` to
standard MLIR)
- from_tensor, to_tensor, constant

---------

Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Co-authored-by: Oleksandr "Alex" Zinenko <ftynse at gmail.com>


  Commit: 35b89dda2b9734917824b1457f149192669b314c
      https://github.com/llvm/llvm-project/commit/35b89dda2b9734917824b1457f149192669b314c
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86Subtarget.h
    M llvm/test/CodeGen/X86/avx512bwvl-arith.ll

  Log Message:
  -----------
  [X86][EVEX512] Check hasEVEX512 for canExtendTo512DQ (#90390)

Fixes #90356


  Commit: feaddc10194e54a5ef977320134956ad91591324
      https://github.com/llvm/llvm-project/commit/feaddc10194e54a5ef977320134956ad91591324
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/array.ll

  Log Message:
  -----------
  [InstCombine] Preserve inbounds when canonicalizing gep+add (#90160)

When canonicalizing gep+add into gep+gep we can preserve inbounds if the
add is also nsw and both add operands are non-negative (or both
negative, but I don't think that's practically relevant).

Proof: https://alive2.llvm.org/ce/z/tJLBta


  Commit: 3c553fc9e0503240c9fa6d937de0cbcb956303ce
      https://github.com/llvm/llvm-project/commit/3c553fc9e0503240c9fa6d937de0cbcb956303ce
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/test/Transforms/InstCombine/mul.ll

  Log Message:
  -----------
  [InstCombine] Infer nuw on mul nsw with non-negative operands (#90170)

If a mul nsw has non-negative operands, it's also nuw.

Proof: https://alive2.llvm.org/ce/z/2Dz9Uu

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


  Commit: 2951dba98beb97a73da3443dcdb2eb09069e1aca
      https://github.com/llvm/llvm-project/commit/2951dba98beb97a73da3443dcdb2eb09069e1aca
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/avx512bwvl-arith.ll

  Log Message:
  -----------
  [X86] Fix prefix type, NFC


  Commit: da213d77c026ded4e13911959c4a6ff24a6a0d73
      https://github.com/llvm/llvm-project/commit/da213d77c026ded4e13911959c4a6ff24a6a0d73
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M mlir/lib/Dialect/Polynomial/IR/CMakeLists.txt

  Log Message:
  -----------
  [MLIR] Fix linking error of PolynomialDialect on MacOS (NFC)

ld64.lld: error: undefined symbol: mlir::detail::verifyInferredResultTypes(mlir::Operation*)
>>> referenced by tools/mlir/lib/Dialect/Polynomial/IR/CMakeFiles/obj.MLIRPolynomialDialect.dir/PolynomialDialect.cpp.o:(symbol mlir::Op<mlir::polynomial::AddOp, mlir::OpTrait::ZeroRegions, mlir::OpTrait::OneResult, mlir::OpTrait::OneTypedResult<mlir::Type>::Impl, mlir::OpTrait::ZeroSuccessors, mlir::OpTrait::NOperands<2u>::Impl, mlir::OpTrait::OpInvariants, mlir::OpTrait::IsCommutative, mlir::ConditionallySpeculatable::Trait, mlir::OpTrait::AlwaysSpeculatableImplTrait, mlir::MemoryEffectOpInterface::Trait, mlir::OpTrait::SameOperandsAndResultType, mlir::OpTrait::Elementwise, mlir::OpTrait::Scalarizable, mlir::OpTrait::Vectorizable, mlir::OpTrait::Tensorizable, mlir::InferTypeOpInterface::Trait>::verifyRegionInvariants(mlir::Operation*)+0x14)
>>> referenced by tools/mlir/lib/Dialect/Polynomial/IR/CMakeFiles/obj.MLIRPolynomialDialect.dir/PolynomialDialect.cpp.o:(symbol mlir::Op<mlir::polynomial::MonicMonomialMulOp, mlir::OpTrait::ZeroRegions, mlir::OpTrait::OneResult, mlir::OpTrait::OneTypedResult<mlir::Type>::Impl, mlir::OpTrait::ZeroSuccessors, mlir::OpTrait::NOperands<2u>::Impl, mlir::OpTrait::OpInvariants, mlir::ConditionallySpeculatable::Trait, mlir::OpTrait::AlwaysSpeculatableImplTrait, mlir::MemoryEffectOpInterface::Trait, mlir::InferTypeOpInterface::Trait>::verifyRegionInvariants(mlir::Operation*)+0x14)


  Commit: 42bc4f692dfe699b90f4609b7ad7c6708cf3fc43
      https://github.com/llvm/llvm-project/commit/42bc4f692dfe699b90f4609b7ad7c6708cf3fc43
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86LowerTileCopy.cpp
    M llvm/test/CodeGen/X86/AMX/amx-lower-tile-copy.ll

  Log Message:
  -----------
  Reland "[X86] X86LowerTileCopy: Find dead register to use to prevent save-reload of tile register (#83628)"

Fixes compile time regression in previous commit.


  Commit: 53cda4ca3b97b3787e5bf8738119dab2d5bd1889
      https://github.com/llvm/llvm-project/commit/53cda4ca3b97b3787e5bf8738119dab2d5bd1889
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

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

  Log Message:
  -----------
  [Transforms] Use LLVMContext::MD_loop (NFC)


  Commit: 3785d7424680e0bcb914a485af61be51559ab1ba
      https://github.com/llvm/llvm-project/commit/3785d7424680e0bcb914a485af61be51559ab1ba
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/CodeGen/FIROpPatterns.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
    A flang/test/Lower/OpenMP/cfg-conversion-omp.private.f90

  Log Message:
  -----------
  [flang][OpenMP][LLVMIR] Support CFG and LLVM IR conversion for `omp.p… (#90164)

…rivate`

Adds support for CFG conversion and conversion to LLVM IR for
`omp.private` ops. This bridges a gap between FIR and LLVM to provide
more support for lowering `omp.private` ops for things like
allocatables.


  Commit: fa8fda85c6792d9078922ab8658c321c4939e63a
      https://github.com/llvm/llvm-project/commit/fa8fda85c6792d9078922ab8658c321c4939e63a
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

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

  Log Message:
  -----------
  [mlir][Bazel] Add missing dependency after 145176dc0c93566ce4aef721044d49ab8ba50f87


  Commit: 501cfd5243c025b22075e1f13817a0a37fef96a6
      https://github.com/llvm/llvm-project/commit/501cfd5243c025b22075e1f13817a0a37fef96a6
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h
    M llvm/lib/Target/X86/X86RegisterInfo.cpp

  Log Message:
  -----------
  [X86] Use static_asserts instead of assert (NFC)

Identified with misc-static-assert.


  Commit: 6cd6bde3090a405e4091ef6f743cb2e56b376a55
      https://github.com/llvm/llvm-project/commit/6cd6bde3090a405e4091ef6f743cb2e56b376a55
  Author: Shih-Po Hung <shihpo.hung at sifive.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/test/Analysis/CostModel/RISCV/arith-fp.ll
    M llvm/test/Analysis/CostModel/RISCV/arith-int.ll

  Log Message:
  -----------
  [RISCV] Remove -riscv-v-fixed-length-vector-lmul-max from arith tests (#89886)

This patch splits off from #89170 to clean up the tests.


  Commit: b3c55b707110084a9f50a16aade34c3be6fa18da
      https://github.com/llvm/llvm-project/commit/b3c55b707110084a9f50a16aade34c3be6fa18da
  Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/AMDGPU/div_i128.ll
    M llvm/test/CodeGen/AMDGPU/rem_i128.ll
    M llvm/test/CodeGen/X86/div-rem-pair-recomposition-signed.ll
    M llvm/test/CodeGen/X86/freeze-binary.ll
    M llvm/test/CodeGen/X86/midpoint-int-vec-512.ll

  Log Message:
  -----------
  [SelectionDAG] Handle more opcodes in canCreateUndefOrPoison (#84921)

[SelectionDAG] Handle more opcodes in canCreateUndefOrPoison

Handle SELECT_CC similarly as SETCC.

Handle these operations that only propagate poison/undef based on the
input operands:
  SADDSAT, UADDSAT, SSUBSAT, USUBSAT, MULHU, MULHS,
  SMIN, SMAX, UMIN, UMAX

These operations may create poison based on shift amount and exact
flag being violated:
  SRL, SRA

One goal here is to allow pushing freeze through these operations
when allowed, as well as letting analyses such as
isGuaranteedNotToBeUndefOrPoison to not break on such operations.

Since some problems have been observed with pushing freeze through
SRA/SRL we block that explicitly in DAGCombiner::visitFreeze now.
That way we can still model SRA/SRL properly in
SelectionDAG::canCreateUndefOrPoison, e.g. when used by
isGuaranteedNotToBeUndefOrPoison, even if we do not want to push
freeze through those instructions.


  Commit: dc7834b76c187bdf3b260c66445b750ed8d99507
      https://github.com/llvm/llvm-project/commit/dc7834b76c187bdf3b260c66445b750ed8d99507
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M llvm/lib/ProfileData/InstrProfWriter.cpp

  Log Message:
  -----------
  [ProfileData] Use static_assert instead of assert (NFC)

Identified with misc-static-assert.


  Commit: ec6c0a2b7da4a23a33de049ab9a07fd30fff56b8
      https://github.com/llvm/llvm-project/commit/ec6c0a2b7da4a23a33de049ab9a07fd30fff56b8
  Author: WANG Rui <wangrui at loongson.cn>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    A llvm/test/CodeGen/LoongArch/sextw-removal.ll

  Log Message:
  -----------
  [LoongArch] Pre-commit tests for OptWInstrs. NFC


  Commit: 66274eb9f7e7fc4b023343476c4d066e4413180a
      https://github.com/llvm/llvm-project/commit/66274eb9f7e7fc4b023343476c4d066e4413180a
  Author: Tim Creech <timothy.m.creech at intel.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/docs/UsersManual.rst

  Log Message:
  -----------
  Improve documented sampling profiler steps to best known methods (#88438)

1. Add `-fdebug-info-for-profiling -funique-internal-linkage-names`,
which improve the usefulness of debug info for profiling.

2. Recommend the use of `br_inst_retired.near_taken:uppp`, which
provides the most precise results on supporting hardware. Mention
`branches:u` as a more portable backup.

Both should portray execution counts better than the default event
(`cycles`) and have a better chance of working as an unprivileged user
due to the `:u` modifier.


  Commit: e2b8af7e149c38e3b7ab0d25f86792fcbdd06507
      https://github.com/llvm/llvm-project/commit/e2b8af7e149c38e3b7ab0d25f86792fcbdd06507
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

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

  Log Message:
  -----------
  [RISCV] Don't use MachineInstr::isIdenticalTo in hasSameAVL (#90431)

MachineInstr::isIdenticalTo compares that the operands and flags are the
same IIUC, but I think we actually want to check that it's the same
MachineInstr * with respect to position in the block etc.


  Commit: 4a8f2f2e1aab027a559c71d4e055db3205ec2e32
      https://github.com/llvm/llvm-project/commit/4a8f2f2e1aab027a559c71d4e055db3205ec2e32
  Author: Qiu Chaofan <qiucofan at cn.ibm.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/ARM/minnum-maxnum-intrinsics.ll
    A llvm/test/CodeGen/PowerPC/fminimum-fmaximum-f128.ll
    A llvm/test/CodeGen/PowerPC/fminimum-fmaximum.ll

  Log Message:
  -----------
  [Legalizer] Expand fmaximum and fminimum (#67301)

According to langref, llvm.maximum/minimum has -0.0 < +0.0 semantics and
propagates NaN.

Expand the nodes on targets not supporting the operation, by adding
extra check for NaN and using is_fpclass to check zero signs.


  Commit: bd9fdce69b4c4cdb572e715c5f453aaf9b77b83a
      https://github.com/llvm/llvm-project/commit/bd9fdce69b4c4cdb572e715c5f453aaf9b77b83a
  Author: Christian Sigg <chsigg at users.noreply.github.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp

  Log Message:
  -----------
  [flang] Use `isa/dyn_cast/cast/...` free functions. (#90432)

The corresponding member functions are deprecated.


  Commit: e1622e189e8c0ef457bfac528f90a7a930d9aad2
      https://github.com/llvm/llvm-project/commit/e1622e189e8c0ef457bfac528f90a7a930d9aad2
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/icmp-of-trunc-ext.ll

  Log Message:
  -----------
  [InstCombine] Add tests for trunc nuw/nsw in icmp (NFC)


  Commit: 5f79f7506a495872be431a4607a33fa717fda2eb
      https://github.com/llvm/llvm-project/commit/5f79f7506a495872be431a4607a33fa717fda2eb
  Author: Peter Waller <peter.waller at arm.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/lib/MCA/InstrBuilder.cpp
    A llvm/test/tools/llvm-mca/X86/BtVer2/skip-unsupported-instructions-none-remain.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/unsupported-instruction.s
    M llvm/tools/llvm-mca/CodeRegion.h
    M llvm/tools/llvm-mca/llvm-mca.cpp

  Log Message:
  -----------
  [llvm-mca] Add -skip-unsupported-instructions option (#89733)

Prior to this patch, if llvm-mca encountered an instruction which parses
but has no scheduler info, the instruction is always reported as
unsupported, and llvm-mca halts with an error.

However, it would still be useful to allow MCA to continue even in the
case of instructions lacking scheduling information. Obviously if
scheduling information is lacking, it's not possible to give an accurate
analysis for those instructions, and therefore a warning is emitted.

A user could previously have worked around such unsupported instructions
manually by deleting such instructions from the input, but this provides
them a way of doing this for bulk inputs where they may not have a list
of such unsupported instructions to drop up front.

Note that this behaviour of instructions with no scheduling information
under -skip-unsupported-instructions is analagous to current
instructions which fail to parse: those are currently dropped from the
input with a message printed, after which the analysis continues.

~Testing the feature is a little awkward currently, it relies on an
instruction
which is currently marked as unsupported, which may not remain so;
should the
situation change it would be necessary to find an alternative
unsupported
instruction or drop the test.~

A test is added to check that analysis still reports an error if all
instructions are removed from the input, to mirror the current behaviour
of giving an error if no instructions are supplied.


  Commit: 41942c852e2be6c7c37f41e5128d446182fc9763
      https://github.com/llvm/llvm-project/commit/41942c852e2be6c7c37f41e5128d446182fc9763
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M lldb/docs/resources/lldbgdbremote.md

  Log Message:
  -----------
  [lldb[Docs] Reduce title noise in packets doc (#90183)

This removes the "Brief" and "Description" subtitles and merges the text
of both so that the contents listing is clearer.


  Commit: ab12bba0aad800c1805eca2ea937da958c1854c8
      https://github.com/llvm/llvm-project/commit/ab12bba0aad800c1805eca2ea937da958c1854c8
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/test/Transforms/CodeGenPrepare/ARM/branch-on-zero.ll
    A llvm/test/Transforms/CodeGenPrepare/RISCV/convert-to-eqz.ll

  Log Message:
  -----------
   [CGP] Drop poison-generating flags after hoisting (#90382)

See the following case:
```
define i8 @src1(i8 %x) {
entry:
  %cmp = icmp eq i8 %x, -1
  br i1 %cmp, label %exit, label %if.then

if.then:
  %inc = add nuw nsw i8 %x, 1
  br label %exit

exit:
  %retval = phi i8 [ %inc, %if.then ], [ -1, %entry ]
  ret i8 %retval
}

define i8 @tgt1(i8 %x) {
entry:
  %inc = add nuw nsw i8 %x, 1
  %0 = icmp eq i8 %inc, 0
  br i1 %0, label %exit, label %if.then

if.then:                                          ; preds = %entry
  br label %exit

exit:                                             ; preds = %if.then, %entry
  %retval = phi i8 [ %inc, %if.then ], [ -1, %entry ]
  ret i8 %retval
}
```
`optimizeBranch` converts `icmp eq X, -1` into cmp to zero on RISC-V and
hoists the add into the entry block. Poison-generating flags should be
dropped as they don't still hold.

Proof: https://alive2.llvm.org/ce/z/sP7mvK
Fixes https://github.com/llvm/llvm-project/issues/90380


  Commit: a19a4113df3e9a3ca3747075da6de21901796524
      https://github.com/llvm/llvm-project/commit/a19a4113df3e9a3ca3747075da6de21901796524
  Author: Peter Waller <peter.waller at arm.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/test/tools/llvm-mca/X86/BtVer2/skip-unsupported-instructions-none-remain.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/unsupported-instruction.s

  Log Message:
  -----------
  [llvm-mca] Fix -skip-unsupported-instruction tests on Windows

Builder alerted me to the failing test, attempt #1 in the blind.


  Commit: f029da5cfce66e2d460d5f54b17582810a9111ad
      https://github.com/llvm/llvm-project/commit/f029da5cfce66e2d460d5f54b17582810a9111ad
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    A flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    A flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
    A flang/test/Transforms/debug-fn-info.f90
    M flang/test/Transforms/debug-line-table-inc-file.fir

  Log Message:
  -----------
  [flang] Improve debug info for functions. (#90083)

This PR improves the debug information for functions in the following
ways:

1. Get line number information from FuncOp and remove hard-coded line
numbers.
2. Use proper type for function signature. I have a added a type
converter. Currently, it is very limited but will be enhanced with time.
3. Use de-constructed function name.


  Commit: 16bd10a38730fed27a3bf111076b8ef7a7e7b3ee
      https://github.com/llvm/llvm-project/commit/16bd10a38730fed27a3bf111076b8ef7a7e7b3ee
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/AArch64/combine-mul.ll
    M llvm/test/CodeGen/AMDGPU/div_i128.ll
    M llvm/test/CodeGen/AMDGPU/rem_i128.ll
    M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insertelement.ll
    M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/insertelement.ll
    M llvm/test/CodeGen/RISCV/alu64.ll
    M llvm/test/CodeGen/RISCV/atomicrmw-uinc-udec-wrap.ll
    M llvm/test/CodeGen/RISCV/bfloat-convert.ll
    M llvm/test/CodeGen/RISCV/double-convert.ll
    M llvm/test/CodeGen/RISCV/double-round-conv-sat.ll
    M llvm/test/CodeGen/RISCV/float-convert.ll
    M llvm/test/CodeGen/RISCV/float-round-conv-sat.ll
    M llvm/test/CodeGen/RISCV/forced-atomics.ll
    M llvm/test/CodeGen/RISCV/fpclamptosat.ll
    M llvm/test/CodeGen/RISCV/half-convert.ll
    M llvm/test/CodeGen/RISCV/half-round-conv-sat.ll
    M llvm/test/CodeGen/RISCV/iabs.ll
    M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
    M llvm/test/CodeGen/X86/abdu-vector-128.ll
    M llvm/test/CodeGen/X86/apx/kmov-postrapseudos.ll
    M llvm/test/CodeGen/X86/avx512-broadcast-arith.ll
    M llvm/test/CodeGen/X86/combine-mul.ll
    M llvm/test/CodeGen/X86/div-rem-pair-recomposition-signed.ll
    M llvm/test/CodeGen/X86/fold-masked-merge.ll
    M llvm/test/CodeGen/X86/freeze-binary.ll
    M llvm/test/CodeGen/X86/freeze-combine.ll
    M llvm/test/CodeGen/X86/gfni-funnel-shifts.ll
    M llvm/test/CodeGen/X86/gfni-rotates.ll
    M llvm/test/CodeGen/X86/known-never-zero.ll
    M llvm/test/CodeGen/X86/midpoint-int-vec-128.ll
    M llvm/test/CodeGen/X86/midpoint-int-vec-256.ll
    M llvm/test/CodeGen/X86/midpoint-int-vec-512.ll
    M llvm/test/CodeGen/X86/pr38539.ll
    M llvm/test/CodeGen/X86/pr62286.ll
    M llvm/test/CodeGen/X86/scheduler-backtracking.ll
    M llvm/test/CodeGen/X86/sdiv_fix_sat.ll
    M llvm/test/CodeGen/X86/setcc-non-simple-type.ll
    M llvm/test/CodeGen/X86/vec_saddo.ll
    M llvm/test/CodeGen/X86/vec_ssubo.ll
    M llvm/test/CodeGen/X86/vec_uaddo.ll
    M llvm/test/CodeGen/X86/vec_usubo.ll
    M llvm/test/CodeGen/X86/vector-bo-select.ll
    M llvm/test/CodeGen/X86/vector-fshr-128.ll
    M llvm/test/CodeGen/X86/vector-fshr-256.ll
    M llvm/test/CodeGen/X86/vector-fshr-sub128.ll
    M llvm/test/CodeGen/X86/vector-shift-shl-128.ll

  Log Message:
  -----------
  Revert "[SelectionDAG] Handle more opcodes in canCreateUndefOrPoison (#84921)" and more...

This reverts:
b3c55b707110084a9f50a16aade34c3be6fa18da - "[SelectionDAG] Handle more opcodes in canCreateUndefOrPoison (#84921)"
(because it updates a test case that I don't know how to resolve the conflict for)
8e2f6495c0bac1dd6ee32b6a0d24152c9c343624 - "[DAGCombiner] Do not always fold FREEZE over BUILD_VECTOR (#85932)"
73472c5996716cda0dbb3ddb788304e0e7e6a323 - "[SelectionDAG] Treat CopyFromReg as freezing the value (#85932)"

Due to a test suite failure on AArch64 when compiling for SVE.
https://lab.llvm.org/buildbot/#/builders/197/builds/13955

clang: ../llvm/llvm/include/llvm/CodeGen/ValueTypes.h:307: MVT llvm::EVT::getSimpleVT() const: Assertion `isSimple() && "Expected a SimpleValueType!"' failed.


  Commit: bfc0317153dca75137fba00b5c28758d6f720963
      https://github.com/llvm/llvm-project/commit/bfc0317153dca75137fba00b5c28758d6f720963
  Author: Maciej Gabka <maciej.gabka at arm.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/lib/CodeGen/CGExprScalar.cpp
    M llvm/docs/LangRef.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/InterleavedAccessPass.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/IR/IRBuilder.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Analysis/CostModel/AArch64/getIntrinsicInstrCost-vector-reverse.ll
    M llvm/test/Analysis/CostModel/AArch64/splice.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
    M llvm/test/Analysis/CostModel/RISCV/rvv-shuffle.ll
    M llvm/test/Analysis/CostModel/RISCV/splice.ll
    A llvm/test/Bitcode/upgrade-vector-interleave2-deinterleave2-intrinsics.ll
    A llvm/test/Bitcode/upgrade-vector-reverse-intrinsic.ll
    A llvm/test/Bitcode/upgrade-vector-splice-intrinsic.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-vector-deinterleave2.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-vector-interleave2.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-add-mull-scalable-contract.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-add-mull-scalable-fast.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-add-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-add.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-mul-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-f32-add-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-f32-mul-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-f64-add-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-f64-mul-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i16-add-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i16-mul-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i32-add-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i32-mul-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i64-add-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i64-mul-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i8-add-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-predicated-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-splat-scalable.ll
    M llvm/test/CodeGen/AArch64/fixed-vector-deinterleave.ll
    M llvm/test/CodeGen/AArch64/fixed-vector-interleave.ll
    M llvm/test/CodeGen/AArch64/named-vector-shuffle-reverse-neon.ll
    M llvm/test/CodeGen/AArch64/named-vector-shuffle-reverse-sve.ll
    M llvm/test/CodeGen/AArch64/named-vector-shuffles-neon.ll
    M llvm/test/CodeGen/AArch64/named-vector-shuffles-sve.ll
    M llvm/test/CodeGen/AArch64/sve-vector-deinterleave.ll
    M llvm/test/CodeGen/AArch64/sve-vector-interleave.ll
    M llvm/test/CodeGen/AArch64/sve2-intrinsics-while-reversed.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-deinterleave-load.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleave-store.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse-bitrotate.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse.ll
    M llvm/test/CodeGen/RISCV/rvv/named-vector-shuffle-reverse.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-splice.ll
    M llvm/test/CodeGen/X86/named-vector-shuffle-reverse.ll
    M llvm/test/Transforms/InstCombine/vector-reverse.ll
    M llvm/test/Transforms/InstSimplify/named-vector-shuffle-reverse.ll
    M llvm/test/Transforms/InstSimplify/select.ll
    M llvm/test/Transforms/InterleavedAccess/AArch64/fixed-deinterleave-intrinsics.ll
    M llvm/test/Transforms/InterleavedAccess/AArch64/scalable-deinterleave-intrinsics.ll
    M llvm/test/Transforms/InterleavedAccess/AArch64/sve-interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-option.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse-mask4.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
    M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
    M llvm/test/Verifier/invalid-splice.ll
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
    M mlir/lib/Dialect/ArmSME/Transforms/OuterProductFusion.cpp
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
    M mlir/test/Dialect/ArmSME/outer-product-fusion.mlir
    M mlir/test/Dialect/LLVMIR/invalid.mlir
    M mlir/test/Dialect/LLVMIR/roundtrip.mlir

  Log Message:
  -----------
  Move several vector intrinsics out of experimental namespace (#88748)

This patch is moving out following intrinsics:
* vector.interleave2/deinterleave2
* vector.reverse
* vector.splice

from the experimental namespace.

All these intrinsics exist in LLVM for more than a year now, and are
widely used, so should not be considered as experimental.


  Commit: d30f6bc5cd9579204864c944f127011be70b2c74
      https://github.com/llvm/llvm-project/commit/d30f6bc5cd9579204864c944f127011be70b2c74
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M libcxx/include/__string/constexpr_c_functions.h
    M libcxx/include/__type_traits/datasizeof.h
    M libcxx/test/libcxx/type_traits/datasizeof.compile.pass.cpp
    M libcxx/test/libcxx/utilities/expected/expected.expected/no_unique_address.compile.pass.cpp
    M libcxx/test/libcxx/utilities/expected/expected.void/no_unique_address.compile.pass.cpp
    M libcxx/test/std/containers/sequences/array/size_and_alignment.compile.pass.cpp

  Log Message:
  -----------
  [libc++][NFC] Refactor __libcpp_datasizeof to be a variable template (#87769)

This decreases memory consumption and compiles times slightly and
removes a bit of boilderplate.


  Commit: 75d52f5797c367488c5623fefb02b32dea25fbb1
      https://github.com/llvm/llvm-project/commit/75d52f5797c367488c5623fefb02b32dea25fbb1
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

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

  Log Message:
  -----------
  [X86] matchTruncateWithPACK - merge equivalent calls to getSizeInBits/getScalarSizeInBits. NFC.


  Commit: bf57d2e57c3e708a32c1f8a273b0e3465078d7b5
      https://github.com/llvm/llvm-project/commit/bf57d2e57c3e708a32c1f8a273b0e3465078d7b5
  Author: chuongg3 <chuong.goh at arm.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
    M llvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp

  Log Message:
  -----------
  [AArch64][GlobalISel] Enable computeNumSignBits for G_XOR, G_AND, G_OR (#89896)


  Commit: 0edb5c3be56a07ddaad26ffbb270b4aa2308d03a
      https://github.com/llvm/llvm-project/commit/0edb5c3be56a07ddaad26ffbb270b4aa2308d03a
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    R flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    R flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
    R flang/test/Transforms/debug-fn-info.f90
    M flang/test/Transforms/debug-line-table-inc-file.fir

  Log Message:
  -----------
  Revert "[flang] Improve debug info for functions." (#90444)

Reverts llvm/llvm-project#90083 due to a test suite failure:
https://lab.llvm.org/buildbot/#/builders/184/builds/11961

```
flang-new: ../llvm/mlir/lib/IR/Types.cpp:126: unsigned int mlir::Type::getIntOrFloatBitWidth() const: Assertion `isIntOrFloat() && "only integers and floats have a bitwidth"' failed.
```


  Commit: 93e69abfc77b0bd90f3669e36e510dd4f45aab14
      https://github.com/llvm/llvm-project/commit/93e69abfc77b0bd90f3669e36e510dd4f45aab14
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/avgceils.ll
    M llvm/test/CodeGen/X86/avgceilu.ll
    M llvm/test/CodeGen/X86/avgfloors.ll
    M llvm/test/CodeGen/X86/avgflooru.ll

  Log Message:
  -----------
  [X86] avg*.ll - add nounwind to silence cfi noise


  Commit: df762a1643bb5b0b3c907611d118c82d4b68a39d
      https://github.com/llvm/llvm-project/commit/df762a1643bb5b0b3c907611d118c82d4b68a39d
  Author: Mital Ashok <mital at mitalashok.co.uk>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp

  Log Message:
  -----------
  [SemaCXX] Recognise initializer_list injected-class-name types as initializer_lists (#90210)

This allows the implicitly-generated deduction guide for the copy
constructor to be recognised as an initializer-list constructor,
allowing CTAD for std::initializer_list


  Commit: d72146f47156dc645b1c0a4cb9c72f01e6d6dd0e
      https://github.com/llvm/llvm-project/commit/d72146f47156dc645b1c0a4cb9c72f01e6d6dd0e
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGCleanup.cpp
    M clang/lib/CodeGen/CGCleanup.h
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/test/CodeGenCXX/blocks.cpp
    A clang/test/CodeGenCXX/control-flow-in-stmt-expr.cpp
    A clang/test/CodeGenCoroutines/coro-suspend-cleanups.cpp
    M clang/test/CodeGenObjC/arc-blocks-exceptions.m
    M clang/test/CodeGenObjC/arc-blocks.m

  Log Message:
  -----------
  Re-apply "Emit missing cleanups for stmt-expr" and other commits (#89154)

Latest diff:
https://github.com/llvm/llvm-project/pull/89154/files/f1ab4c2677394bbfc985d9680d5eecd7b2e6a882..adf9bc902baddb156c83ce0f8ec03c142e806d45

We address two additional bugs here: 

### Problem 1: Deactivated normal cleanup still runs, leading to
double-free
Consider the following:
```cpp

struct A { };

struct B { B(const A&); };

struct S {
  A a;
  B b;
};

int AcceptS(S s);

void Accept2(int x, int y);

void Test() {
  Accept2(AcceptS({.a = A{}, .b = A{}}), ({ return; 0; }));
}
```
We add cleanups as follows:
1. push dtor for field `S::a`
2. push dtor for temp `A{}` (used by ` B(const A&)` in `.b = A{}`)
3. push dtor for field `S::b`
4. Deactivate 3 `S::b`-> This pops the cleanup.
5. Deactivate 1 `S::a` -> Does not pop the cleanup as *2* is top. Should
create _active flag_!!
6. push dtor for `~S()`.
7. ...

It is important to deactivate **5** using active flags. Without the
active flags, the `return` will fallthrough it and would run both `~S()`
and dtor `S::a` leading to **double free** of `~A()`.
In this patch, we unconditionally emit active flags while deactivating
normal cleanups. These flags are deleted later by the `AllocaTracker` if
the cleanup is not emitted.

### Problem 2: Missing cleanup for conditional lifetime extension
We push 2 cleanups for lifetime-extended cleanup. The first cleanup is
useful if we exit from the middle of the expression (stmt-expr/coro
suspensions). This is deactivated after full-expr, and a new cleanup is
pushed, extending the lifetime of the temporaries (to the scope of the
reference being initialized).
If this lifetime extension happens to be conditional, then we use active
flags to remember whether the branch was taken and if the object was
initialized.
Previously, we used a **single** active flag, which was used by both
cleanups. This is wrong because the first cleanup will be forced to
deactivate after the full-expr and therefore this **active** flag will
always be **inactive**. The dtor for the lifetime extended entity would
not run as it always sees an **inactive** flag.

In this patch, we solve this using two separate active flags for both
cleanups. Both of them are activated if the conditional branch is taken,
but only one of them is deactivated after the full-expr.

---

Fixes https://github.com/llvm/llvm-project/issues/63818
Fixes https://github.com/llvm/llvm-project/issues/88478

---

Previous PR logs:
1. https://github.com/llvm/llvm-project/pull/85398
2. https://github.com/llvm/llvm-project/pull/88670
3. https://github.com/llvm/llvm-project/pull/88751
4. https://github.com/llvm/llvm-project/pull/88884


  Commit: 0c8151ac809c283187e9b19d0cbe72a09c8d74e0
      https://github.com/llvm/llvm-project/commit/0c8151ac809c283187e9b19d0cbe72a09c8d74e0
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M lldb/test/API/functionalities/fork/concurrent_vfork/TestConcurrentVFork.py

  Log Message:
  -----------
  [lldb][Test] Disable concurrent vfork tests on Arm and AArch64 Linux (again)

5f3e106de3cd5ce6d7ba37fb11f6ad740cb430c5 made them a lot more stable but
there are still occasions where they will timeout and leave behind stale
processes.

For example https://lab.llvm.org/buildbot/#/builders/96/builds/56699.


  Commit: 2914a11e3fad5d5634272f028b2765ac182d6b20
      https://github.com/llvm/llvm-project/commit/2914a11e3fad5d5634272f028b2765ac182d6b20
  Author: David Stuttard <david.stuttard at amd.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    A llvm/test/CodeGen/AMDGPU/hard-clauses-img-gfx10.mir
    A llvm/test/CodeGen/AMDGPU/hard-clauses-img-gfx11.mir
    A llvm/test/CodeGen/AMDGPU/hard-clauses-img-gfx12.mir
    M llvm/test/CodeGen/AMDGPU/hard-clauses.mir

  Log Message:
  -----------
  [AMDGPU] Fix hard clausing for image instructions on gfx12 (#90221)

Also updated hard-clauses.mir to have separate versions for gfx11 and
gfx12 since
the MIR instructions are different for each of them.


  Commit: 5b187751452e0702fc9c29b64ab301737718e604
      https://github.com/llvm/llvm-project/commit/5b187751452e0702fc9c29b64ab301737718e604
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

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

  Log Message:
  -----------
  [AMDGPU] Fix typo in #89773

Fixes #90281


  Commit: f2452d4b689469b6da63d9e8ffa96eaf4b39ac5d
      https://github.com/llvm/llvm-project/commit/f2452d4b689469b6da63d9e8ffa96eaf4b39ac5d
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/test/AST/Interp/records.cpp

  Log Message:
  -----------
  [clang][Interp] Implement zero-init for record types


  Commit: 37f2928ce382603fdadd7bae87fa245ac65b7d4f
      https://github.com/llvm/llvm-project/commit/37f2928ce382603fdadd7bae87fa245ac65b7d4f
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/test/CXX/drs/cwg2149.cpp
    M clang/test/CXX/drs/dr20xx.cpp
    M clang/test/CXX/drs/dr21xx.cpp
    M clang/test/CXX/drs/dr24xx.cpp
    M clang/test/CXX/drs/dr25xx.cpp
    M clang/test/CXX/drs/dr28xx.cpp
    M clang/www/cxx_dr_status.html
    M clang/www/make_cxx_dr_status

  Log Message:
  -----------
  [clang] Use `cwg_index.html` from GitHub for DR status page (#90352)

Currently we're using official publication of CWG issue list available
at https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_index.html.
Unfortunately, it's not updated as frequently as we sometimes need. For
instance, recently there was a confusion during review of CWG2149 test
(https://github.com/llvm/llvm-project/pull/90079#discussion_r1580174003).
This patch changes our `make_cxx_dr_status` script to use issue list
from CWG GitHub repository. I confirmed with CWG chair that this is the
most up-to-date source of information on CWG issues.

Changing the source of issue list uncovered previously unhandled
"tentatively ready" status of an issue. This status is considered
unresolved by the script (like `open`, `drafting`, and `review`), as the
resolution might change during face-to-face CWG meeting.

I also noticed that CWG decided to handle 2561 differently from what
we're doing, so this DR is now considered not available in Clang,
despite being declared as available since 18. CC @cor3ntin.

This patch also brings new issues into our DR list, so if someone was
waiting for a newly-filed issue to appear on our status page, it should
appear with this PR.


  Commit: b35bdb1d7b31c2267af14ee7e097c78d89c3ddb0
      https://github.com/llvm/llvm-project/commit/b35bdb1d7b31c2267af14ee7e097c78d89c3ddb0
  Author: oltolm <oleg.tolmatcev at gmail.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    A llvm/test/tools/llvm-rc/Inputs/dialog-with-menu.rc
    A llvm/test/tools/llvm-rc/dialog-with-menu.test
    M llvm/tools/llvm-rc/ResourceFileWriter.cpp
    M llvm/tools/llvm-rc/ResourceFileWriter.h
    M llvm/tools/llvm-rc/ResourceScriptParser.cpp
    M llvm/tools/llvm-rc/ResourceScriptParser.h
    M llvm/tools/llvm-rc/ResourceScriptStmt.cpp
    M llvm/tools/llvm-rc/ResourceScriptStmt.h
    M llvm/tools/llvm-rc/ResourceVisitor.h

  Log Message:
  -----------
  llvm-rc: add support for MENU in DIALOG(EX) (#89409)

Adds support for `MENU` in `DIALOG(EX)` to `llvm-rc`. Fixes #49559.


  Commit: 95395ee51124792302390305b02cbeace5f07611
      https://github.com/llvm/llvm-project/commit/95395ee51124792302390305b02cbeace5f07611
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/memcmp-minsize-x32.ll
    M llvm/test/CodeGen/X86/memcmp-minsize.ll
    M llvm/test/CodeGen/X86/memcmp-optsize-x32.ll
    M llvm/test/CodeGen/X86/memcmp-optsize.ll
    M llvm/test/CodeGen/X86/memcmp-pgso-x32.ll
    M llvm/test/CodeGen/X86/memcmp-pgso.ll

  Log Message:
  -----------
  [X86] memcmp tests - merge check-prefixes. NFC.


  Commit: 55c6bda01ef5a166a69b43956775272d9d67bda5
      https://github.com/llvm/llvm-project/commit/55c6bda01ef5a166a69b43956775272d9d67bda5
  Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/AArch64/combine-mul.ll
    M llvm/test/CodeGen/AMDGPU/div_i128.ll
    M llvm/test/CodeGen/AMDGPU/rem_i128.ll
    M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insertelement.ll
    M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/insertelement.ll
    M llvm/test/CodeGen/RISCV/alu64.ll
    M llvm/test/CodeGen/RISCV/atomicrmw-uinc-udec-wrap.ll
    M llvm/test/CodeGen/RISCV/bfloat-convert.ll
    M llvm/test/CodeGen/RISCV/double-convert.ll
    M llvm/test/CodeGen/RISCV/double-round-conv-sat.ll
    M llvm/test/CodeGen/RISCV/float-convert.ll
    M llvm/test/CodeGen/RISCV/float-round-conv-sat.ll
    M llvm/test/CodeGen/RISCV/forced-atomics.ll
    M llvm/test/CodeGen/RISCV/fpclamptosat.ll
    M llvm/test/CodeGen/RISCV/half-convert.ll
    M llvm/test/CodeGen/RISCV/half-round-conv-sat.ll
    M llvm/test/CodeGen/RISCV/iabs.ll
    M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
    M llvm/test/CodeGen/X86/abdu-vector-128.ll
    M llvm/test/CodeGen/X86/apx/kmov-postrapseudos.ll
    M llvm/test/CodeGen/X86/avx512-broadcast-arith.ll
    M llvm/test/CodeGen/X86/combine-mul.ll
    M llvm/test/CodeGen/X86/div-rem-pair-recomposition-signed.ll
    M llvm/test/CodeGen/X86/fold-masked-merge.ll
    M llvm/test/CodeGen/X86/freeze-binary.ll
    M llvm/test/CodeGen/X86/freeze-combine.ll
    M llvm/test/CodeGen/X86/freeze-vector.ll
    M llvm/test/CodeGen/X86/gfni-funnel-shifts.ll
    M llvm/test/CodeGen/X86/gfni-rotates.ll
    M llvm/test/CodeGen/X86/known-never-zero.ll
    M llvm/test/CodeGen/X86/midpoint-int-vec-128.ll
    M llvm/test/CodeGen/X86/midpoint-int-vec-256.ll
    M llvm/test/CodeGen/X86/midpoint-int-vec-512.ll
    M llvm/test/CodeGen/X86/pr38539.ll
    M llvm/test/CodeGen/X86/pr62286.ll
    M llvm/test/CodeGen/X86/scheduler-backtracking.ll
    M llvm/test/CodeGen/X86/sdiv_fix_sat.ll
    M llvm/test/CodeGen/X86/setcc-non-simple-type.ll
    M llvm/test/CodeGen/X86/vec_saddo.ll
    M llvm/test/CodeGen/X86/vec_ssubo.ll
    M llvm/test/CodeGen/X86/vec_uaddo.ll
    M llvm/test/CodeGen/X86/vec_usubo.ll
    M llvm/test/CodeGen/X86/vector-bo-select.ll
    M llvm/test/CodeGen/X86/vector-fshr-128.ll
    M llvm/test/CodeGen/X86/vector-fshr-256.ll
    M llvm/test/CodeGen/X86/vector-fshr-sub128.ll
    M llvm/test/CodeGen/X86/vector-shift-shl-128.ll

  Log Message:
  -----------
  Revert "Revert "[SelectionDAG] Handle more opcodes in canCreateUndefOrPoison (#84921)" and more..."

This reverts commit 16bd10a38730fed27a3bf111076b8ef7a7e7b3ee.

Re-applies:
    b3c55b707110084a9f50a16aade34c3be6fa18da - "[SelectionDAG] Handle more opcodes in canCreateUndefOrPoison (#84921)"
    8e2f6495c0bac1dd6ee32b6a0d24152c9c343624 - "[DAGCombiner] Do not always fold FREEZE over BUILD_VECTOR (#85932)"
    73472c5996716cda0dbb3ddb788304e0e7e6a323 - "[SelectionDAG] Treat CopyFromReg as freezing the value (#85932)"

with a fix in DAGCombiner::visitFREEZE.


  Commit: 179e174945b6c0da462c534504720c9544aebf84
      https://github.com/llvm/llvm-project/commit/179e174945b6c0da462c534504720c9544aebf84
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp

  Log Message:
  -----------
  [mlir][bufferization][NFC] More documentation for `runOneShotBufferize` (#90445)


  Commit: cb3174bd7895535d2f397695b5b20b1e90876997
      https://github.com/llvm/llvm-project/commit/cb3174bd7895535d2f397695b5b20b1e90876997
  Author: nihui <shuizhuyuanluo at 126.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_neon.td
    M clang/test/CodeGen/arm-bf16-convert-intrinsics.c

  Log Message:
  -----------
  [clang][CodeGen] fix UB in aarch64 bfloat16 scalar conversion (#89062)

do not bitcast 16bit `bfloat16` to 32bit `int32_t` directly
bitcast to `int16_t`, and then upcast to `int32_t`

Fix ASAN runtime error when calling vcvtah_f32_bf16
`==21842==ERROR: AddressSanitizer: stack-buffer-overflow on address
0x007fda1dd063 at pc 0x005c0361c234 bp 0x007fda1dd030 sp 0x007fda1dd028
`

without patch
```c
__ai __attribute__((target("bf16"))) float32_t vcvtah_f32_bf16(bfloat16_t __p0) {
  float32_t __ret;
bfloat16_t __reint = __p0;
int32_t __reint1 = *(int32_t *) &__reint << 16;
  __ret = *(float32_t *) &__reint1;
  return __ret;
}
```

with this patch
```c
__ai __attribute__((target("bf16"))) float32_t vcvtah_f32_bf16(bfloat16_t __p0) {
  float32_t __ret;
bfloat16_t __reint = __p0;
int32_t __reint1 = (int32_t)(*(int16_t *) &__reint) << 16;
  __ret = *(float32_t *) &__reint1;
  return __ret;
}
```

fix issue https://github.com/llvm/llvm-project/issues/61983


  Commit: 959d98c05ecacf79bbe78bc83e6dd99a3d58cab2
      https://github.com/llvm/llvm-project/commit/959d98c05ecacf79bbe78bc83e6dd99a3d58cab2
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Fix a typo


  Commit: 6e473307ab74263e3b72e67b592579e36cee5b6b
      https://github.com/llvm/llvm-project/commit/6e473307ab74263e3b72e67b592579e36cee5b6b
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
    M clang/test/AST/Interp/functions.cpp

  Log Message:
  -----------
  [clang][Interp] Ignore FunctionDecls in compound statements


  Commit: f5ed9170464b73a7a0a386358e995ce8373ef153
      https://github.com/llvm/llvm-project/commit/f5ed9170464b73a7a0a386358e995ce8373ef153
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    M clang/lib/AST/Interp/Program.cpp
    M clang/test/AST/Interp/records.cpp

  Log Message:
  -----------
  [clang][Interp] Fix creating variables for TemplateParamObjectDecls

Actually initialize them with their value. While at it, fix doing
it for non-primitive (only struct so far) types as well.


  Commit: 217c099eadfb9f2c5b5caf1af7b1ceb6a632cf74
      https://github.com/llvm/llvm-project/commit/217c099eadfb9f2c5b5caf1af7b1ceb6a632cf74
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/RISCV/strided-stores-vectorized.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test for strided stores support, NFC.


  Commit: e5c92c51e9869a6f109381d9e565b36cd4fb7b34
      https://github.com/llvm/llvm-project/commit/e5c92c51e9869a6f109381d9e565b36cd4fb7b34
  Author: Ivan Kosarev <ivan.kosarev at amd.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/test/MC/AMDGPU/ds-err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_err.s

  Log Message:
  -----------
  [AMDGPU][AsmParser] Do not use predicates for validation of NamedIntOperands. (#90251)

Their job is to discriminate between different types of operands, not to
check if they are valid. For validation we can use conversion functions.

Clears the road to generating predicates automatically.

Part of <https://github.com/llvm/llvm-project/issues/62629>.


  Commit: 8e17c84836b08be9a23d76c2cc234777712347de
      https://github.com/llvm/llvm-project/commit/8e17c84836b08be9a23d76c2cc234777712347de
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    A llvm/test/CodeGen/AMDGPU/fp_trunc_store_bf16.ll

  Log Message:
  -----------
  [AMDGPU][ISel] Set trunc store action to expand for v4f32->v4bf16 (#90427)


  Commit: de6b2b9dbf9a18e9e160cff60f7eb238909a931c
      https://github.com/llvm/llvm-project/commit/de6b2b9dbf9a18e9e160cff60f7eb238909a931c
  Author: Kohei Asano <32860920+khei4 at users.noreply.github.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/docs/LibTooling.rst

  Log Message:
  -----------
  [Clang][Docs] use CommonOptionsParser::create instead of protected constructor on libTooling tutorial (NFC) (#70427)

This patch fixes the code example on CommonOptionParser on
https://intel.github.io/llvm-docs/clang/LibTooling.html

CommonOptionParser's constructor is protected, and we can use
`CommonOptionParser::create` instead of that.
It seems like the LibASTMatcher tutorial already uses that.
https://clang.llvm.org/docs/LibASTMatchersTutorial.html

---------

Co-authored-by: Sirraide <aeternalmail at gmail.com>


  Commit: 8d5386669ed63548daf1bee415596582d6d78d7d
      https://github.com/llvm/llvm-project/commit/8d5386669ed63548daf1bee415596582d6d78d7d
  Author: David Truby <david.truby at arm.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/docs/FlangDriver.md
    M flang/include/flang/Optimizer/Builder/Runtime/EnvironmentDefaults.h
    A flang/include/flang/Optimizer/Builder/Runtime/Main.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/Builder/CMakeLists.txt
    M flang/lib/Optimizer/Builder/Runtime/EnvironmentDefaults.cpp
    A flang/lib/Optimizer/Builder/Runtime/Main.cpp
    M flang/runtime/CMakeLists.txt
    R flang/runtime/FortranMain/CMakeLists.txt
    R flang/runtime/FortranMain/Fortran_main.c
    M flang/test/CMakeLists.txt
    A flang/test/Driver/driver-help-hidden.f90
    M flang/test/Driver/dynamic-linker.f90
    M flang/test/Driver/emit-mlir.f90
    M flang/test/Driver/linker-flags.f90
    M flang/test/Driver/msvc-dependent-lib-flags.f90
    M flang/test/Driver/no-duplicate-main.f90
    M flang/tools/flang-driver/CMakeLists.txt
    M lld/COFF/MinGW.cpp

  Log Message:
  -----------
  [flang] Generate main only when a Fortran program statement is present (#89938)

This patch changes the behaviour for flang to only create and link to a
`main` entry point when the Fortran code has a program statement in it.

This means that flang-new can be used to link even when the program is
a mixed C/Fortran code with `main` present in C and no entry point
present in Fortran.

This also removes the `-fno-fortran-main` flag as this no longer has any
functionality.


  Commit: e57b8724140664da408da92d5d50f9a1e0c9828a
      https://github.com/llvm/llvm-project/commit/e57b8724140664da408da92d5d50f9a1e0c9828a
  Author: Danial Klimkin <dklimkin at google.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp

  Log Message:
  -----------
  Avoid unusable variable in ByteCodeExprGen.cpp (#90469)

Inline assert to avoid unusable variable warning/error when asserts are
disabled.


  Commit: caa902613a96f63c3855b3a0bcd82d1b1db49408
      https://github.com/llvm/llvm-project/commit/caa902613a96f63c3855b3a0bcd82d1b1db49408
  Author: offsetof <131769984+offsetof at users.noreply.github.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/CXX/drs/dr25xx.cpp
    M clang/test/CXX/drs/dr28xx.cpp
    M clang/test/CXX/expr/expr.const/p5-26.cpp
    M clang/www/cxx_dr_status.html
    M clang/www/make_cxx_dr_status

  Log Message:
  -----------
  [clang] Allow constexpr cast from `void*` in more cases (#89484)

[[expr.const]/5.14](https://eel.is/c++draft/expr.const#5.14) says that
constexpr cast from <code>*cv* void\*</code> to `T*` is OK if the
pointee type is similar to `T`, but Clang currently only permits the
conversion if the types are the same except top-level cv-qualifiers.

This patch also allows casting `(void*)nullptr`, implementing the
resolution of [CWG2819](https://cplusplus.github.io/CWG/issues/2819).

---------

Co-authored-by: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>


  Commit: 5f9ae61dee0f6432c1dcc16b4412bb99803fa7d5
      https://github.com/llvm/llvm-project/commit/5f9ae61dee0f6432c1dcc16b4412bb99803fa7d5
  Author: Jannik Silvanus <37809848+jasilvanus at users.noreply.github.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Support/YAMLTraits.h
    M llvm/lib/Support/YAMLTraits.cpp
    M llvm/test/CodeGen/AMDGPU/amdpal-callable.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-cs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-es.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-gs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-hs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-ls.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-cs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-default.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-denormal.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-dx10-clamp.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-es.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-gs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-hs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-ieee.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-ls.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-ps.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-psenable.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-vs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-psenable.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-usersgpr-init.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-vs.ll
    M llvm/test/CodeGen/AMDGPU/extra-lds-size.ll
    M llvm/test/CodeGen/AMDGPU/pal-userdata-regs.ll
    M llvm/test/CodeGen/AMDGPU/wave_dispatch_regs.ll
    M llvm/test/MC/AMDGPU/pal-msgpack.s
    M llvm/unittests/Support/YAMLIOTest.cpp

  Log Message:
  -----------
  [Support][YamlTraits] Add quoting for keys in textual YAML representation (#88763)

The support library contains helpers to parse and emit YAML documents.

In the textual YAML representation, some strings need to be quoted, e.g.
when containing unprintable characters.

We already have such quoting implemented for YAML values.

This patch applies the same quoting to YAML *keys*.

One affected case is output of control registers in AMDGPU Msgpack
metadata, which are printed in a format like this:

```
   0x2cca (SPI_SHADER_PGM_RSRC1_ES): 42
```

With this patch, the key is quoted:

```
   '0x2cca (SPI_SHADER_PGM_RSRC1_ES)': 42
```

Most test changes come from this pattern.


  Commit: 86b9a4f892b9fc6cf5929f33a529570acd7abc71
      https://github.com/llvm/llvm-project/commit/86b9a4f892b9fc6cf5929f33a529570acd7abc71
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/gather-node-same-as-vect-but-order.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with the skipped gather node, which is same, as vectorized node.


  Commit: 040b5a1255dba79f6e6819ac4864256127f810a0
      https://github.com/llvm/llvm-project/commit/040b5a1255dba79f6e6819ac4864256127f810a0
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/gather-node-same-as-vect-but-order.ll

  Log Message:
  -----------
  [SLP]Fix PR90211: vectorized node must match completely to be reused.

If the gather node matches the vectorized node, it must also match with
the scalars completely. Otherwise, need to revectorize the gather node
to generate correct code.


  Commit: 37ae4ad0eef338776c7e2cffb3896153d43dcd90
      https://github.com/llvm/llvm-project/commit/37ae4ad0eef338776c7e2cffb3896153d43dcd90
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/gather-buildvector-with-minbitwidth-user.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/gather-with-minbith-user.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/user-node-not-in-bitwidths.ll
    M llvm/test/Transforms/SLPVectorizer/SystemZ/minbitwidth-root-trunc.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-node-with-multi-users.ll

  Log Message:
  -----------
  [SLP]Support minbitwidth analisys for buildvector nodes.

Metric: size..text

Program                                                                                                                                                size..text
                                                                                                                                                       exp           ref        diff
                                                                                  test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test    42906.00    42986.00  0.2%
                                                                           test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test    42909.00    42989.00  0.2%
                                                                                   test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test   664581.00   664661.00  0.0%
                                                                                  test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test   664581.00   664661.00  0.0%

Less is better.

Replaces `buildvector <p x in> + trunc <p x in> to <p x im>` sequences to
`buildvector <p x im> of { trunc in to im }` scalars, which is free in
most cases, results in better code.

Reviewers: RKSimon

Reviewed By: RKSimon

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


  Commit: e71840305d621dcc43d5253e332db990220b7fcb
      https://github.com/llvm/llvm-project/commit/e71840305d621dcc43d5253e332db990220b7fcb
  Author: yronglin <yronglin777 at gmail.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaInit.cpp
    M clang/test/CXX/drs/cwg650.cpp
    A clang/test/CXX/stmt.stmt/stmt.return/p6.cpp
    M clang/test/SemaCXX/type-traits.cpp
    M clang/www/cxx_status.html

  Log Message:
  -----------
  [Clang] Implement C++26 P2748R5 "Disallow Binding a Returned Glvalue to a Temporary" (#89942)

Implement P2748R5 "Disallow Binding a Returned Glvalue to a Temporary"
https://wg21.link/P2748R5

---------

Signed-off-by: yronglin <yronglin777 at gmail.com>


  Commit: c4c8d08b81e622529aaf0bfc3020d2b9e87267b3
      https://github.com/llvm/llvm-project/commit/c4c8d08b81e622529aaf0bfc3020d2b9e87267b3
  Author: yronglin <yronglin777 at gmail.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/lib/CodeGen/CGLoopInfo.cpp
    M clang/lib/Sema/SemaStmtAttr.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    A clang/test/AST/ast-dump-pragma-unroll.cpp
    M clang/test/CodeGenCXX/pragma-gcc-unroll.cpp
    M clang/test/CodeGenCXX/pragma-unroll.cpp
    M clang/test/Parser/pragma-unroll.cpp

  Log Message:
  -----------
  [Clang] Fix incorrect handling of #pragma {GCC} unroll N in dependent context (#90240)

PR https://github.com/llvm/llvm-project/pull/89567 fix the `#pragma
unroll N` crash issue in dependent context, but it's introduce an new
issue:

Since https://github.com/llvm/llvm-project/pull/89567, if `N` is value
dependent, 'option' and 'state' were ` (LoopHintAttr::Unroll,
LoopHintAttr::Enable)`. Therefor, clang's code generator generated
incorrect IR metadata.

For the situation `#pragma {GCC} unroll {0|1}`, before template
instantiation, this PR tweak the 'option' to `LoopHintAttr::UnrollCount`
and 'state' to `LoopHintAttr::Numeric`. During template instantiation
and if unroll count is 0 or 1 this PR tweak 'option' to
`LoopHintAttr::Unroll` and 'state' to `LoopHintAttr::Disable`. We don't
use `LoopHintAttr::UnrollCount` here because it's will emit an redundant
LLVM IR metadata `!{!"llvm.loop.unroll.count", i32 1}` when unroll count
is 1.

---------

Signed-off-by: yronglin <yronglin777 at gmail.com>


  Commit: 6561fa3d02b746743139212f31f24c4a81e5138c
      https://github.com/llvm/llvm-project/commit/6561fa3d02b746743139212f31f24c4a81e5138c
  Author: Matthew Devereau <matthew.devereau at arm.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/test/Transforms/SimpleLoopUnswitch/endless-unswitch.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/partial-unswitch.ll

  Log Message:
  -----------
  [LoopUnswitch] Allow i1 truncs in loop unswitch (#89738)

With the addition of #84628, truncs to i1 are being emitted as
conditions to branch instructions. This caused significant regressions
in cases which were previously improved by loop unswitch. Adding truncs
to i1 restore the previous performance seen.


  Commit: bb770deb9acf554a17ad49c0b3af9b8cf83ec221
      https://github.com/llvm/llvm-project/commit/bb770deb9acf554a17ad49c0b3af9b8cf83ec221
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/test/AST/Interp/functions.cpp

  Log Message:
  -----------
  [clang][Interp] Reject void-typed InitListExprs


  Commit: e34b41c707a8cc589725d5f996e1a40e9631a495
      https://github.com/llvm/llvm-project/commit/e34b41c707a8cc589725d5f996e1a40e9631a495
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    M clang/test/AST/Interp/records.cpp

  Log Message:
  -----------
  [clang][Interp] Support CXXParenListInitExprs for non-record types

Merge the non-record code paths into visitInitList().


  Commit: 45bd85e4815254a4528cc337447fd6a8eb6fd583
      https://github.com/llvm/llvm-project/commit/45bd85e4815254a4528cc337447fd6a8eb6fd583
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/test/AST/Interp/c.c

  Log Message:
  -----------
  [clang][Interp] Fix casting function pointers to integers


  Commit: 5e3032638e2df5f301dee21f072acc4d6cc806c8
      https://github.com/llvm/llvm-project/commit/5e3032638e2df5f301dee21f072acc4d6cc806c8
  Author: Renato Golin <rengolin at systemcall.eu>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgEnums.td
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/python/mlir/dialects/linalg/opdsl/lang/comprehension.py
    M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
    M mlir/test/Dialect/Linalg/generalize-named-ops.mlir
    M mlir/test/Dialect/Linalg/named-ops-fail.mlir
    M mlir/test/Dialect/Linalg/named-ops.mlir

  Log Message:
  -----------
  [MLIR][Linalg] Left over Linalg named ops from previous PR (#90405)

Adding `erf` as unary and `powf` as binary.

Same as `max(arg, 0.0)` for `ReLU`, `powf(arg, const)` can be either a
generic (with broadcast) or a pair (`linalg.broadcast + linalg.powf`)
and then lowered "correctly". Either way, the lower dialects need to
know what kind of broadcast anyway, so no materialization of the
constant tensors should remain.

I want to flush the easy ones before we start working on type cast &
softmax.


  Commit: bd07c22e5372789c3eb47b9009029d5e99e0ef9f
      https://github.com/llvm/llvm-project/commit/bd07c22e5372789c3eb47b9009029d5e99e0ef9f
  Author: Lawrence Benson <github at lawben.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/Type.h
    M clang/lib/AST/Type.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/CodeGen/builtins-reduction-math.c

  Log Message:
  -----------
  [Clang] Add support for scalable vectors in __builtin_reduce_* functions (#87750)

Currently, a lot of `__builtin_reduce_*` function do not support
scalable vectors, i.e., ARM SVE and RISCV V. This PR adds support for
them. The main code change is to use a different path to extract the
type from the vectors, the rest is the same and LLVM supports the reduce
functions for `vscale` vectors.

This PR adds scalable vector support for:
- `__builtin_reduce_add`
- `__builtin_reduce_mul`
- `__builtin_reduce_xor`
- `__builtin_reduce_or`
- `__builtin_reduce_and`
- `__builtin_reduce_min`
- `__builtin_reduce_max`

Note: For all except `min/max`, the element type must still be an
integer value. Adding floating point support for `add` and `mul` is
still an open TODO.


  Commit: ef78edafabe72fac1dad1675a5a25d7e2d62bb2c
      https://github.com/llvm/llvm-project/commit/ef78edafabe72fac1dad1675a5a25d7e2d62bb2c
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/RISCV/minbw-with-and-and-scalar-trunc.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with the optimizable and and final ext, NFC.


  Commit: 3044eaf40932c23d668483c6557fa3877f979e62
      https://github.com/llvm/llvm-project/commit/3044eaf40932c23d668483c6557fa3877f979e62
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M flang/test/Lower/OpenMP/threadprivate-real-logical-complex-derivedtype.f90

  Log Message:
  -----------
  [Flang][OpenMP] Use a label to avoid complexity of too many CHECK-DAGs in a test (#90190)

This speeds up the test.


  Commit: d486a4c29a331d3bfb3649a8a0aa2ba4970a6455
      https://github.com/llvm/llvm-project/commit/d486a4c29a331d3bfb3649a8a0aa2ba4970a6455
  Author: David Green <david.green at arm.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-counting-down.ll

  Log Message:
  -----------
  [ARM] Ensure extra uses are not dead in tail-folding-counting-down.ll. NFC

This might help keep the test valid if vplan is removing dead intructions.


  Commit: f6187c76595d576ee75252eee3bf199e91bd276f
      https://github.com/llvm/llvm-project/commit/f6187c76595d576ee75252eee3bf199e91bd276f
  Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/cmake/modules/llvm-driver-template.cpp.in

  Log Message:
  -----------
  [llvm-driver] Fix header order of llvm-driver-template


  Commit: b811ad6f348db076b995fdd8f688d72e5a40f7f9
      https://github.com/llvm/llvm-project/commit/b811ad6f348db076b995fdd8f688d72e5a40f7f9
  Author: Brian Gesiak <brian at modocache.io>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Tools/lsp-server-support/Transport.h
    M mlir/lib/Tools/lsp-server-support/Transport.cpp
    M mlir/unittests/CMakeLists.txt
    A mlir/unittests/Tools/CMakeLists.txt
    A mlir/unittests/Tools/lsp-server-support/CMakeLists.txt
    A mlir/unittests/Tools/lsp-server-support/Transport.cpp

  Log Message:
  -----------
  [mlir-lsp] Un-revert unit test additions (#90232)

This reverts the revert commit 6844c2feae93dd4251, which was comprised
of the following commits:

1. f3f6f22dfcced - [mlir-lsp] Initialize `Reply::method` member (#89857)
2. 37e13d4924841 - [mlir-lsp] Log invalid notification params (#89856)
3. ba1b52e6e764a - [mlir-lsp] Add `outgoingNotification` unit test
4. 84bc21f910173 - [mlir-lsp] Add transport unit tests (#89855)

Of these, (4) specifically caused issues in Windows pre-merge buildbots,
in the `TransportTest.MethodNotFound` unit test that it added. The
failure was caused by a statement that asserted that opening a file
stream on a newly created temporary file did not result in an error, but
this assert failed on Windows.

This patch adds additional error logging for failures, to make it
clearer what went wrong when failures occur. This patch also addresses
the Windows failure by ensuring temporary files are created in the
system temporary directory.


  Commit: 91f251c31fbbc9b9d8ce69fce4fb50faa0179ef4
      https://github.com/llvm/llvm-project/commit/91f251c31fbbc9b9d8ce69fce4fb50faa0179ef4
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

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

  Log Message:
  -----------
  [clang] Fix `remove{CVR|Fast}Qualifiers` with 64-bit `Qualifiers::Mask` (#90329)

After #84384, `Qualifiers::Mask` becomes 64-bit. So, operations like
`Mask &= ~U32` where `U32` is `unsigned` produce undesirable results
since higher 32 bits of `Mask` become zeroed while they should be
preserved. Fix that by explicitly casting `unsigned` values to
`uint64_t` in such operations. Signatures of fixed functions are
intentionally left intact instead of changing the argument itself to
`uint64_t` to keep things consistent with other functions working with
the same qualifiers and to emphasize that 64-bit masks should not be
used for these types of qualifiers.


  Commit: 3ba079183f82191d8b6a26dedfebc4a031a3fb6d
      https://github.com/llvm/llvm-project/commit/3ba079183f82191d8b6a26dedfebc4a031a3fb6d
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M flang/runtime/CMakeLists.txt
    M flang/runtime/file.cpp
    M flang/runtime/namelist.cpp

  Log Message:
  -----------
  [flang][runtime] Added missing routines into CUDA build. (#90272)

Apparently, nvcc does not compile for device the routines whose
definitions
are not marked with device attribute (note that the forward declarations
are already marked). It looks like it is different for class members,
i.e. marking just the declarations is enough.


  Commit: 1563a8752b33a854c3ab5a4e8b3dce39ac9831b8
      https://github.com/llvm/llvm-project/commit/1563a8752b33a854c3ab5a4e8b3dce39ac9831b8
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M flang/cmake/modules/AddFlangOffloadRuntime.cmake
    M flang/runtime/environment.cpp
    M flang/runtime/unit.cpp
    M flang/runtime/utf.cpp

  Log Message:
  -----------
  [flang][runtime] Allow building CUDA PTX library without global vars definitions. (#90280)


  Commit: 11f4f458d985ba20aae58df1c3092655ec2310bd
      https://github.com/llvm/llvm-project/commit/11f4f458d985ba20aae58df1c3092655ec2310bd
  Author: ChiaHungDuan <chiahungduan at google.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/allocator_config.def
    M compiler-rt/lib/scudo/standalone/combined.h
    M compiler-rt/lib/scudo/standalone/flags.inc
    M compiler-rt/lib/scudo/standalone/primary32.h
    M compiler-rt/lib/scudo/standalone/primary64.h
    M compiler-rt/lib/scudo/standalone/secondary.h

  Log Message:
  -----------
  [scudo] Support setting default value of ReleaseToOsIntervalMs in config (#90256)


  Commit: 6f02120ac4463e5e0cda25e2aafc485a4fe634ea
      https://github.com/llvm/llvm-project/commit/6f02120ac4463e5e0cda25e2aafc485a4fe634ea
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/test/Driver/riscv-arch.c
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [llvm][RISCV] Improve error message for invalid extension letters (#90468)

Previously you got:
clang: error: invalid arch name 'rv64v', first letter should be 'e', 'i'
or 'g'

Which to me, unfamiliar with riscv, reads as if I should have used
"[eig]rv64v". Which is not what clang means.

Include the first bit in the error message to make this clearer:
clang: error: invalid arch name 'rv64v', first letter after 'rv64'
should be 'e', 'i' or 'g'


  Commit: 1e174a7656f943fa2cad2489a226c90e03ca29ac
      https://github.com/llvm/llvm-project/commit/1e174a7656f943fa2cad2489a226c90e03ca29ac
  Author: Kai Nacke <kai.peter.nacke at ibm.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    A llvm/test/TableGen/GlobalISelEmitter-frameindex.td
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [TableGen][GISel] Handle frameindex/tframeindex (#90475)

Support patterns like

  Pat<(p0 frameindex:$fi), (ADD tframeindex:$fi, 0)>;

in the GlobalISel emitter in TableGen. Currently, using such a pattern
results in an error message.


  Commit: df6d2faa22bf19fb27b5c083e590d13024a8d7cd
      https://github.com/llvm/llvm-project/commit/df6d2faa22bf19fb27b5c083e590d13024a8d7cd
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Object/ELFObjectFile.h
    M llvm/unittests/Object/ELFObjectFileTest.cpp

  Log Message:
  -----------
  [Object] Provide operator< for ELFSymbolRef (#89861)

Normally, operator< accepting DataRefImpl is used when comparing
SymbolRef/ELFSymbolRef. However, it uses std::memcmp which interprets
DataRefImpl union as char string so that the result depends on host
endianness.
For ELFSymbolRef a specialized operator< can be used instead to produce
consistent ordering regardless of endianness by comparing the symbol
table index and symbol index fields separately.


  Commit: 2903df02fb3c057849aaa796a91289b01950a5f0
      https://github.com/llvm/llvm-project/commit/2903df02fb3c057849aaa796a91289b01950a5f0
  Author: Pol Marcet Sardà <polmarcetsarda at gmail.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/AST/ExprConstant.cpp
    A clang/test/Sema/constant_builtins_vector.cpp
    M clang/test/Sema/convertvector.c

  Log Message:
  -----------
  Squashed commit of the following:

commit 8d41d93e3fceb3f3af77266f5a8388fc585150a5
Author: Pol Marcet Sardà <polmarcetsarda at gmail.com>
Date:   Sat Apr 20 12:19:49 2024 +0200

    Address some misc comments; added a diagnostic and expanded macros in
    testing.

commit 9493c0f290b558947d8b3ae8e1adf909b0fb9dcd
Author: Pol Marcet Sardà <polmarcetsarda at gmail.com>
Date:   Sun Mar 31 18:18:45 2024 +0200

    Following the review of sethp, I have made the following changes:

    -- Added diagnostic for the undefined shuffle of -1
    -- Validated support for _BitInt
    -- A bunch of other minnor tweaks here and there

commit 8273abc8d56ef8225cf4dba84f66a1e54a2ef036
Author: Pol Marcet Sardà <polmarcetsarda at gmail.com>
Date:   Thu Jan 4 12:31:08 2024 +0100

    Fix typo in file name

commit ff68f23921966c7d9605f91a47d6b481bf1d7a7b
Author: Pol Marcet Sardà <polmarcetsarda at gmail.com>
Date:   Thu Jan 4 11:26:08 2024 +0100

    Address suggestions from RKSimon

commit c14783de45687c754253c0cbf8a7834c7f986d80
Author: Pol Marcet Sardà <polmarcetsarda at gmail.com>
Date:   Sat Dec 30 13:59:00 2023 +0100

    [clang] Constexpr for __builtin_shufflevector and __builtin_convertvector

    Summary:

    This patch adds constexpr support for __builtin_shufflevector
    and __builtin_convertvector.

    A small oddity encountered was that the arg to the intrinsics may be an
    lvalue without any sort of implicit cast of any kind. I solved this
    through the EvaluateVectorOrLValue function, which treats the lvalue as
    if it was in an rvalue cast, which gets me the desired vector.

Co-Authored-By: Seth Pellegrino <seth at codecopse.net>


  Commit: e3750fb65acf0f7447f6a49a0ba5d3197f4d9766
      https://github.com/llvm/llvm-project/commit/e3750fb65acf0f7447f6a49a0ba5d3197f4d9766
  Author: Jared Grubb <jaredgrubb at gmail.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/SemaObjC/format-strings-oslog.m

  Log Message:
  -----------
  [Clang] Add diagnostic about "%P" specifier with Objective-C pointers (#89977)

A Darwin extension '%P' combined with an Objective-C pointer seems to
always be a bug.

'%P' will dump bytes at the pointed-to address (in contrast to '%p'
which dumps the pointer itself). This extension is only allowed in "OS
Log" contexts and is intended to be used like `%{uuid_t}.*16P` or
`%{timeval}.*P`. If an ObjC pointer is used, then the internal runtime
structure (aka, the is-a pointer and other runtime metadata) will be
dumped, which (IMO) is never the expectation.

A simple diagnostic can help flag these scenarios.

Resolves https://github.com/llvm/llvm-project/issues/89968

Co-authored-by: Jared Grubb <jgrubb at apple.com>


  Commit: b07177fb68d396cc9063ac4899e4d67f6765597f
      https://github.com/llvm/llvm-project/commit/b07177fb68d396cc9063ac4899e4d67f6765597f
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M offload/CMakeLists.txt
    A offload/include/Shared/Targets.def.in
    M offload/plugins-nextgen/CMakeLists.txt
    M offload/plugins-nextgen/common/CMakeLists.txt
    M offload/src/CMakeLists.txt
    M offload/src/PluginManager.cpp

  Log Message:
  -----------
  [Libomptarget] Rework interface for enabling plugins (#86875)

Summary:
Previously we would build all of the plugins by default and then only
load some using the `LIBOMPTARGET_PLUGINS_TO_LOAD` variable. This patch
renamed this to `LIBOMPTARGET_PLUGINS_TO_BUILD` and changes whether or
not it will include the plugin in CMake.

Additionally this patch creates a new `Targets.def` file that allows us
to enumerate all of the enabled plugins. This is somewhat different from
the old method, and it's done this way for future use that will need to
be shared. This follows the same method that LLVM uses for its targets,
however it does require adding an extra include path.

Depends on https://github.com/llvm/llvm-project/pull/86868


  Commit: 4c701577cd4175068e4f8dda250f2a5f5aefbe24
      https://github.com/llvm/llvm-project/commit/4c701577cd4175068e4f8dda250f2a5f5aefbe24
  Author: yonghong-song <yhs at fb.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/lib/Target/BPF/BTFDebug.cpp
    M llvm/lib/Target/BPF/BTFDebug.h
    M llvm/test/CodeGen/BPF/CORE/offset-reloc-basic.ll

  Log Message:
  -----------
  BPF: Use DebugLoc to find Filename for BTF line info (#90302)

Andrii found an issue where the BTF line info may have empty source
which seems wrong. The program is a Meta internal bpf program. I can
reproduce with latest upstream compiler as well. Let the bpf program
built without this patch and then with the following veristat check
where veristat is a bpf verifier tool to do kernel verification for bpf
programs:

  $ veristat -vl2 yhs.bpf.o --log-size=150000000 >& log
  $ rg '^;' log | sort | uniq -c | sort -nr | head -n10
   4206 ; } else if (action->dry_run) { @ src_mitigations.h:57
   3907 ; if (now < start_allow_time) { @ ban.h:17
   3674 ;  @ src_mitigations.h:0
3223 ; if (action->vip_id != ALL_VIPS_ID && action->vip_id != vip_id) {
@ src_mitigations.h:85
1737 ; pkt_info->is_dry_run_drop = action->dry_run; @
src_mitigations.h:26
   1737 ; if (mitigation == ALLOW) { @ src_mitigations.h:28
1737 ; enum match_action mitigation = action->action; @
src_mitigations.h:25
1727 ; void* res = bpf_map_lookup_elem(bpf_map, key); @
filter_helpers.h:498
1691 ; bpf_map_lookup_elem(&rate_limit_config_map, rule_id); @
rate_limit.h:76
   1688 ; if (throttle_cfg) { @ rate_limit.h:85

You can see

   3674 ;  @ src_mitigations.h:0

where we do not have proper line information and line number.

In LLVM Machine IR, some instructions may carry DebugLoc information
to specify where the corresponding source is for this instruction.
The information includes file_name, line_num and col_num.
Each instruction may also attribute to a function in debuginfo.
So there are two ways to find file_name for a particular insn:
  (1) find the corresponding function in debuginfo
      (MI->getMF()->getFunction().getSubprogram()) and then
      find the file_name from DISubprogram.
  (2) find the corresponding file_name from DebugLoc.

The option (1) is used in current implementation. This mostly works.
But if one instruction is somehow generated from multiple functions,
the compiler has to pick just one. This may cause a mismatch between
file_name and line_num/col_num.

Besides potential incorrect mismatch of file_name vs. line_num/col_num,
There is another issue where some DebugLoc has line number 0. For
example,
I dumped the dwarf line table for the above bpf program:
    
Address Line Column File ISA Discriminator OpIndex Flags
------------------ ------ ------ ------ --- ------------- -------
-------------
0x0000000000000000 96 0 17 0 0 0 is_stmt
0x0000000000000010 100 12 17 0 0 0 is_stmt prologue_end
      0x0000000000000020      0     12     17   0             0       0
0x0000000000000058 37 7 17 0 0 0 is_stmt
      0x0000000000000060      0      0     17   0             0       0
      0x0000000000000088     37      7     17   0             0       0
0x0000000000000090 42 75 17 0 0 0 is_stmt
      0x00000000000000a8     42     52     17   0             0       0
0x00000000000000c0 120 9 17 0 0 0 is_stmt
      0x00000000000000c8      0      9     17   0             0       0
0x00000000000000d0 106 21 17 0 0 0 is_stmt
      0x00000000000000d8    106      3     17   0             0       0
0x00000000000000e0 110 25 17 0 0 0 is_stmt
      0x00000000000000f8    110     36     17   0             0       0
      0x0000000000000100      0     36     17   0             0       0
      ...
    
These DebugLoc with line number 0 needs to be skipped since we cannot
map them to the correct source code. Note that selftest
offset-reloc-basic.ll
has this issue as well which is adjusted by this patch.

With the above two fixes, empty lines for source annotation are removed.

  $ veristat -vl2 yhs.bpf.o --log-size=150000000 >& log
  $ rg '^;' log.latest | sort | uniq -c | sort -nr | head -n10
   4206 ; } else if (action->dry_run) { @ src_mitigations.h:57
   3907 ; if (now < start_allow_time) { @ ban.h:17
3223 ; if (action->vip_id != ALL_VIPS_ID && action->vip_id != vip_id) {
@ src_mitigations.h:85
1737 ; pkt_info->is_dry_run_drop = action->dry_run; @
src_mitigations.h:26
   1737 ; if (mitigation == ALLOW) { @ src_mitigations.h:28
1737 ; enum match_action mitigation = action->action; @
src_mitigations.h:25
1727 ; void* res = bpf_map_lookup_elem(bpf_map, key); @
filter_helpers.h:498
1691 ; bpf_map_lookup_elem(&rate_limit_config_map, rule_id); @
rate_limit.h:76
   1688 ; if (throttle_cfg) { @ rate_limit.h:85
   1670 ; if (rl_cfg) { @ rate_limit.h:77

You can see that we do not have empty line any more.

3223 ; if (action->vip_id != ALL_VIPS_ID && action->vip_id != vip_id) {
@ src_mitigations.h:85

Signed-off-by: Yonghong Song <yonghong.song at linux.dev>


  Commit: 3590ede848d67cf7d49d43e1830f90b053e3e76f
      https://github.com/llvm/llvm-project/commit/3590ede848d67cf7d49d43e1830f90b053e3e76f
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    A clang/test/AST/Interp/opencl.cl
    M clang/test/SemaOpenCL/vec_step.cl

  Log Message:
  -----------
  [clang][Interp] Support vec_step


  Commit: dede19caf0da31d9b8b69d014602cde41ab9a96e
      https://github.com/llvm/llvm-project/commit/dede19caf0da31d9b8b69d014602cde41ab9a96e
  Author: Matthias Braun <matze at braunis.de>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/GlobalStatus.h
    M llvm/lib/Transforms/IPO/GlobalOpt.cpp
    M llvm/lib/Transforms/Utils/GlobalStatus.cpp
    M llvm/test/Transforms/GlobalOpt/basictest.ll
    M llvm/test/Transforms/GlobalOpt/constantfold-initializers.ll
    M llvm/test/Transforms/GlobalOpt/stored-once-forward-value.ll
    M llvm/test/Transforms/GlobalOpt/tls.ll

  Log Message:
  -----------
  GlobalOpt: Handle threadlocal.address intrinsic (#88454)

This changes `GlobalOpt` to skip/look-through `threadlocal.address`
intrinsic where apropriate.

This fixes issue #73314


  Commit: e441363f7da2da50449917f17ab4ed412f9e7cb3
      https://github.com/llvm/llvm-project/commit/e441363f7da2da50449917f17ab4ed412f9e7cb3
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
    A clang/test/Analysis/Checkers/WebKit/call-args-regression-traverse-decl-crash.cpp

  Log Message:
  -----------
  Fix a crash introduced by 3d5e9ab by adding a nullptr check. (#90301)


  Commit: b7248d53637fb534d35554f1ddda8e50fe85fa63
      https://github.com/llvm/llvm-project/commit/b7248d53637fb534d35554f1ddda8e50fe85fa63
  Author: Lei Wang <wlei at fb.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/SampleProfile.cpp
    M llvm/test/Transforms/SampleProfile/pseudo-probe-profile.ll

  Log Message:
  -----------
  [PseudoProbe] Add an option to remove pseudo probes after profile annotation (#90293)

This can be used for testing perf overhead of pseudo-probe.


  Commit: 6d8cae7f8bd47d7cf9ea447531f8810b66870ebe
      https://github.com/llvm/llvm-project/commit/6d8cae7f8bd47d7cf9ea447531f8810b66870ebe
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

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

  Log Message:
  -----------
  [X86] LowerShift - use DAG::getNegative() helper. NFC.


  Commit: 54f09be90f5e8bcb9c25b1827d11ed0ac7f3b887
      https://github.com/llvm/llvm-project/commit/54f09be90f5e8bcb9c25b1827d11ed0ac7f3b887
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

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

  Log Message:
  -----------
  [X86] LowerABS - use DAG::getNegative() helper. NFC.


  Commit: a025ef193c0775dc24df156510c49cd4528a127a
      https://github.com/llvm/llvm-project/commit/a025ef193c0775dc24df156510c49cd4528a127a
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

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

  Log Message:
  -----------
  [X86] LowerSELECT - use DAG::getNegative() helper. NFC.


  Commit: 5b1cc58b3c72f51b8a1ce27e5fba15783d447d7c
      https://github.com/llvm/llvm-project/commit/5b1cc58b3c72f51b8a1ce27e5fba15783d447d7c
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

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

  Log Message:
  -----------
  [X86] getOnesVector - use getAllOnesConstant helper. NFC.


  Commit: 99df06ac71b12bc5a38240e71cfc37383687b48e
      https://github.com/llvm/llvm-project/commit/99df06ac71b12bc5a38240e71cfc37383687b48e
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/include/clang/AST/ASTNodeTraverser.h
    M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
    M clang/test/AST/ast-dump-templates.cpp

  Log Message:
  -----------
  [AST] Dump explicit template arguments for UnreslovedLookupExpr. (#90466)

Having them dump is useful for ad-hoc debugging (context:
https://github.com/llvm/llvm-project/issues/90046)


  Commit: 618adc762e95b33576c42be8912bb48dd0fdff94
      https://github.com/llvm/llvm-project/commit/618adc762e95b33576c42be8912bb48dd0fdff94
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    A llvm/test/MC/RISCV/large-instructions.s

  Log Message:
  -----------
  [RISCV] Support instruction sizes up to 176-bits in disassembler. (#90371)

We don't have any instructions defined yet, but that we can still read the correct number of bytes when disassembling. This should better match GNU objdump behavior.


  Commit: f9d4d54aa0cb6fbeee1e8744b379b1eac59c3afc
      https://github.com/llvm/llvm-project/commit/f9d4d54aa0cb6fbeee1e8744b379b1eac59c3afc
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

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

  Log Message:
  -----------
  [RISCV] Break the (czero_eqz x, (setne x, 0)) -> x combine into 2 combines. (#90428)

We can think of this as two separate combines

(czero_eqz x, (setne y, 0)) -> (czero_eqz x, y)
and
(czero_eqz x, x) -> x

Similary the (czero_nez x, (seteq x, 0)) -> x combine can be broken into

(czero_nez x, (seteq y, 0)) -> (czero_eqz x, y)
and
(czero_eqz x, x) -> x

isel already does the (czero_eqz x, (setne y, 0)) -> (czero_eqz x, y)
and (czero_nez x, (seteq y, 0)) -> (czero_eqz x, y) combines, but doing
them early could expose other opportunities.


  Commit: fe3f6c63cd6b75433a72b980a23d9848d19abdc2
      https://github.com/llvm/llvm-project/commit/fe3f6c63cd6b75433a72b980a23d9848d19abdc2
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/test/Unit/lit.cfg.py

  Log Message:
  -----------
  [Clang] Propagate 'SystemDrive' environment variable for unit tests (#90478)

On Windows, running unit tests by directly invoking `llvm-lit.py` (e.g.
`python3 llvm-lit.py clang/test/Unit`) may create a folder named `%SystemDrive%`
in the current working directory. This appears to happen because `lit.cfg.py` in 
`clang/test/Unit` does not propagate the `SystemDrive` environment variable.


  Commit: cd68d7b3c0ebf6da5e235cfabd5e6381737eb7fe
      https://github.com/llvm/llvm-project/commit/cd68d7b3c0ebf6da5e235cfabd5e6381737eb7fe
  Author: Wei Wang <apollo.mobility at gmail.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    A clang/test/CodeGenCoroutines/coro-elide-thinlto.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/test/Other/new-pm-defaults.ll
    M llvm/test/Other/new-pm-thinlto-prelink-defaults.ll
    M llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
    M llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll

  Log Message:
  -----------
  [Pipelines] Do not run CoroSplit and CoroCleanup in LTO pre-link pipeline (#90310)

Skip CoroSplit and CoroCleanup in LTO pre-link pipeline so that
CoroElide can happen after callee coroutine is imported into caller's
module in ThinLTO.


  Commit: d566a5cd22b4a653f10698f90c691a1452dad5ce
      https://github.com/llvm/llvm-project/commit/d566a5cd22b4a653f10698f90c691a1452dad5ce
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M mlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp
    M mlir/test/Dialect/GPU/outlining.mlir

  Log Message:
  -----------
  [MLIR] Improve KernelOutlining to avoid introducing an extra block (#90359)

This fixes a TODO in the code.


  Commit: 7e2eeb5753dee9719054a0a9c2315a82a2afbf32
      https://github.com/llvm/llvm-project/commit/7e2eeb5753dee9719054a0a9c2315a82a2afbf32
  Author: Peiming Liu <peiming at google.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.h
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.h

  Log Message:
  -----------
  [mlir][sparse] use ValueRange instead of std::pair for iterator position. (#90243)

`ValueRange` is more easy to be extended (e.g., for padded iterator).


  Commit: a1e9608b0ff8054abb62d35147a04dd65d965a3e
      https://github.com/llvm/llvm-project/commit/a1e9608b0ff8054abb62d35147a04dd65d965a3e
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/include/bolt/Utils/NameResolver.h
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/test/X86/fragment-lite.s

  Log Message:
  -----------
  [BOLT] Use symbol table info in registerFragment (#89648)

Fragment matching relies on symbol names to identify and register split
function fragments. However, as split fragments are often local symbols,
name aliasing is possible. For such cases, use symbol table to resolve
ambiguities.

This requires the presence of FILE symbols in the input binary. As BOLT
requires non-stripped binary, this is a reasonable assumption. Note that
`strip -g` removes FILE symbols by default, but `--keep-file-symbols`
can be used to preserve them.

Depends on: https://github.com/llvm/llvm-project/pull/89861

Test Plan:
Updated X86/fragment-lite.s


  Commit: 9c3f5fe88f19820360981d0798392799e1924cb7
      https://github.com/llvm/llvm-project/commit/9c3f5fe88f19820360981d0798392799e1924cb7
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-04-29 (Mon, 29 Apr 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/AArch64/induction-costs-sve.ll

  Log Message:
  -----------
  [LV] Don't consider the latch block as ScalarPredicatedBB.

The conditional branch from the loop latch will be replaced by a
single branch controlling the loop, so there is no extra overhead from
scalarization. This improves the cost esimates in some cases.


  Commit: ca257022aa130f95b2530f9aba98af8d63027b0d
      https://github.com/llvm/llvm-project/commit/ca257022aa130f95b2530f9aba98af8d63027b0d
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/machine-combiner-subadd2.mir

  Log Message:
  -----------
  [AArch64] Regenerate `machine-combiner-subadd2.mir` test (NFC)

llvm-clang-x86_64-expensive-checks-debian buildbot was previously failing.

Fixes: https://lab.llvm.org/buildbot/#/builders/16/builds/64701.


  Commit: c3598b161a4d868b1cd10a7ee7ac37d68e5a36fe
      https://github.com/llvm/llvm-project/commit/c3598b161a4d868b1cd10a7ee7ac37d68e5a36fe
  Author: Jack Styles <jack.styles at arm.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.replace.indirect.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.replace.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.replace.indirect.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align.replace.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.replace.indirect.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.replace.pass.cpp

  Log Message:
  -----------
  [libc++] Improve libc++ tests when using optimizations (#88897)

Some tests were missing DoNotOptimize annotations.


  Commit: 413f6b95a4360fc9854ca775027913a633835cfa
      https://github.com/llvm/llvm-project/commit/413f6b95a4360fc9854ca775027913a633835cfa
  Author: Kai Nacke <kai.peter.nacke at ibm.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [TableGen][GISel][NFC] clang-tidy GlobalISelEmitter.cpp (#90492)

Fixes a couple of style issues, such as:

- unused includes
- variable naming
- `else if` after `return`


  Commit: 7eac39f650227427a32b0db1a511b2b12c48a0fc
      https://github.com/llvm/llvm-project/commit/7eac39f650227427a32b0db1a511b2b12c48a0fc
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M libcxx/include/__mutex/unique_lock.h
    M libcxx/include/mutex
    M libcxx/test/libcxx/diagnostics/mutex.nodiscard.verify.cpp
    R libcxx/test/libcxx/thread/thread.lock/thread.lock.guard/nodiscard.verify.cpp

  Log Message:
  -----------
  [libc++] Mark scoped_lock and unique_lock constructors as [[nodiscard]] (#89397)

It's basically always a bug to discard a scoped_lock or a unique_lock.

Fixes #89388


  Commit: 3ab4ae9e58c09dfd8203547ba8916f3458a0a481
      https://github.com/llvm/llvm-project/commit/3ab4ae9e58c09dfd8203547ba8916f3458a0a481
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/test/CodeGen/arm64-microsoft-arguments.cpp

  Log Message:
  -----------
  [clang codegen] Fix MS ABI detection of user-provided constructors. (#90151)

In the context of determining whether a class counts as an "aggregate",
a constructor template counts as a user-provided constructor.

Fixes #86384


  Commit: b83e65dcf87925efe6b6623b15a160981422b1bb
      https://github.com/llvm/llvm-project/commit/b83e65dcf87925efe6b6623b15a160981422b1bb
  Author: Pol M <polmarcetsarda at gmail.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:

  Log Message:
  -----------
  [clang] Constexpr for __builtin_shufflevector and __builtin_convertvector (#76615)

This patch adds constexpr support for __builtin_shufflevector and
__builtin_convertvector.

NB: the changes went in under 2903df02fb3c057849aaa796a91289b01950a5f0 , this commit is just github PR bookkeepping.


  Commit: 99ce84cef0185fe9eaec51e40ea80f69f06981f0
      https://github.com/llvm/llvm-project/commit/99ce84cef0185fe9eaec51e40ea80f69f06981f0
  Author: Troy Butler <118708570+Troy-Butler at users.noreply.github.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/lib/Lex/Pragma.cpp

  Log Message:
  -----------
  [clang][NFC] Reformat suspicious condition (#89923)

Addresses issue #89805.
Assignment + comparison performed in conditional statement. Resolved by
parenthesizing comparison operation.

Fixes #89805.

---------

Signed-off-by: Troy-Butler <squintik at outlook.com>


  Commit: 359ab3aebba302fb4c37373b9907bc8880be7363
      https://github.com/llvm/llvm-project/commit/359ab3aebba302fb4c37373b9907bc8880be7363
  Author: Nathan Lanza <nathanlanza at gmail.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Frontend/FrontendOptions.h
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp

  Log Message:
  -----------
  [CIR] Add options to emit ClangIR and enable the ClangIR pipeline

Introduce just the option definitions and support for their existance at
a few different points in the frontend. This will be followed soon by
functionality that uses it.

Reviewers: bcardosolopes, jansvoboda11, AaronBallman, erichkeane, MaskRay

Reviewed By: erichkeane

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


  Commit: 326657f5679889e3374354ba3243e27bda2080f4
      https://github.com/llvm/llvm-project/commit/326657f5679889e3374354ba3243e27bda2080f4
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/include/clang/Sema/DeclSpec.h
    M clang/lib/AST/DeclBase.cpp
    M clang/www/cxx_status.html

  Log Message:
  -----------
  [Clang] Address post commit feedbacks in #89906 (#90495)

* Fix a leak
* Fix a maybe unused warning
* Fix incorrect cxx_status entry


  Commit: a5cc95147ed549e850b4e9641e84641e781e0ceb
      https://github.com/llvm/llvm-project/commit/a5cc95147ed549e850b4e9641e84641e781e0ceb
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/ELF.h
    M llvm/lib/BinaryFormat/ELF.cpp
    M llvm/unittests/BinaryFormat/CMakeLists.txt
    A llvm/unittests/BinaryFormat/ELFTest.cpp

  Log Message:
  -----------
  [BinaryFormat] Adjust OSABI functions and add unittests

Adjust #89280:

* ELFOSABI_LINUX is a historical alias that should not be used in new
  code. readelf -h displays "UNIX - GNU" instead of "Linux".
* "OS" is inappropriate. Some values are architecture-specific, e.g.
  ELFOSABI_ARM.
* Drop lowercase, which seems a job of the caller.

Add some unittests.

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


  Commit: e5907c88594133e45b8d1d4e29702b96d7f45c77
      https://github.com/llvm/llvm-project/commit/e5907c88594133e45b8d1d4e29702b96d7f45c77
  Author: Jorge Pinto Sousa <jorge.pinto.sousa at protonmail.ch>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

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

  Log Message:
  -----------
  [NFC] Fix hasQualifier comment (#90485)

operator bool from NestedNameSpecifierLoc and
member function hasQualifier both do the same thing, returning true if
the private data member Qualifier is not nullptr, so clearly one of the
comments is wrong, and in this case it is the second one.

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


  Commit: 8ba880b587074ad6c8624ed45ea2b289f653667f
      https://github.com/llvm/llvm-project/commit/8ba880b587074ad6c8624ed45ea2b289f653667f
  Author: Andy Kaylor <andrew.kaylor at intel.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/docs/UsersManual.rst
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/fp-model.c
    M clang/test/Driver/linux-ld.c
    M clang/test/Driver/solaris-ld.c

  Log Message:
  -----------
  [Driver] Clean up denormal handling with fast-math-related options (#89477)

This change cleans up the clang driver handling of umbrella options like
-ffast-math, -funsafe-math-optimizations, and -ffp-model, and aligns the
behavior of -ffp-model=fast with -ffast-math with regard to the linking
of crtfastmath.o.

We agreed in a previous review that the fast-math options should not
attempt to change the -fdenormal-fp-math option, which is inherently
target-specific.

The clang user's manual claims that -ffp-model=fast "behaves identically
to specifying both -ffast-math and -ffp-contract=fast." Since
-ffast-math causes crtfastmath.o to be linked if it is available, that should
also happen with -ffp-model=fast.

I am going to be proposing further changes to -ffp-model=fast,
decoupling it from -ffast-math and introducing a new
-ffp-model=aggressive that matches the current behavior, but I wanted
to solidfy the current behavior before I do that.


  Commit: 975eca0e6a3459e59e96b0df33ea0cfbd157c597
      https://github.com/llvm/llvm-project/commit/975eca0e6a3459e59e96b0df33ea0cfbd157c597
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M lldb/include/lldb/API/SBExpressionOptions.h
    M lldb/include/lldb/Expression/Expression.h
    M lldb/include/lldb/Expression/LLVMUserExpression.h
    M lldb/include/lldb/Expression/UserExpression.h
    M lldb/include/lldb/Symbol/TypeSystem.h
    M lldb/include/lldb/Target/StackFrame.h
    M lldb/include/lldb/Target/Target.h
    M lldb/include/lldb/lldb-private-types.h
    M lldb/packages/Python/lldbsuite/test/configuration.py
    M lldb/packages/Python/lldbsuite/test/dotest.py
    M lldb/packages/Python/lldbsuite/test/dotest_args.py
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/source/API/CMakeLists.txt
    M lldb/source/API/SBExpressionOptions.cpp
    M lldb/source/API/SBFrame.cpp
    M lldb/source/Breakpoint/Watchpoint.cpp
    M lldb/source/Commands/CommandObjectDWIMPrint.cpp
    M lldb/source/Commands/CommandObjectType.cpp
    M lldb/source/Expression/LLVMUserExpression.cpp
    M lldb/source/Expression/UserExpression.cpp
    M lldb/source/Expression/UtilityFunction.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.h
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
    M lldb/source/Target/Language.cpp
    M lldb/source/Target/StackFrame.cpp
    M lldb/source/Target/Target.cpp
    M lldb/test/API/lit.cfg.py
    M lldb/test/API/lit.site.cfg.py.in
    M lldb/utils/TableGen/CMakeLists.txt
    A lldb/utils/TableGen/LLDBSBAPIDWARFEnum.cpp
    M lldb/utils/TableGen/LLDBTableGen.cpp
    M lldb/utils/TableGen/LLDBTableGenBackends.h

  Log Message:
  -----------
  Add a new SBExpressionOptions::SetLanguage() API (NFCI) (#89981)

that separates out language and version. To avoid reinventing the wheel
and introducing subtle incompatibilities, this API uses the table of
languages and versiond defined by the upcoming DWARF 6 standard
(https://dwarfstd.org/languages-v6.html). While the DWARF 6 spec is not
finialized, the list of languages is broadly considered stable.

The primary motivation for this is to allow the Swift language plugin to
switch between language dialects between, e.g., Swift 5.9 and 6.0 with
out introducing a ton of new language codes. On the main branch this
change is considered NFC.

Depends on https://github.com/llvm/llvm-project/pull/89980


  Commit: 9d955a63c7b0d2d547a63d4074e03cd5ebd1f162
      https://github.com/llvm/llvm-project/commit/9d955a63c7b0d2d547a63d4074e03cd5ebd1f162
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M lld/tools/lld/CMakeLists.txt
    M llvm/test/tools/llvm-driver/passthrough-lld.test
    M llvm/tools/llvm-driver/CMakeLists.txt
    M utils/bazel/llvm-project-overlay/llvm/driver.bzl

  Log Message:
  -----------
  [driver] Allow `ld` as a driver alias to lld (#90515)

This adds a "hidden" alias kind that allows using LLD when symlinked as
`ld`; however, it does not install `ld` as a symlink. This is to allow
either using a mixed toolchain with both LLD and GNU ld, or a pure LLD
toolchain where LLD has been installed (or symlinked) to `ld` for
compatibility w/ older tools that expect `ld`.


  Commit: 35fa46a56ae2a220de514e5de5c5e6b4607f5ebb
      https://github.com/llvm/llvm-project/commit/35fa46a56ae2a220de514e5de5c5e6b4607f5ebb
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

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

  Log Message:
  -----------
  Improve comment


  Commit: 347a02b408567ba15fdc68646129c1f5de97ab7e
      https://github.com/llvm/llvm-project/commit/347a02b408567ba15fdc68646129c1f5de97ab7e
  Author: Seth Pellegrino <seth at codecopse.net>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/test/Sema/constant_builtins_vector.cpp

  Log Message:
  -----------
  [clang][NFC] Repair tests for __builtin_convertvector on big-endian

Previously, the macro expansion to be explicit for the test cases had
unintentionally forced the tests to always run in little-endian mode.

This change restores the tests' endianness switch, and ensures that
the tests always run on both a little- and big-endian platform.


  Commit: 6f390ea60d987f6e1e027d1c72982c2eb7896005
      https://github.com/llvm/llvm-project/commit/6f390ea60d987f6e1e027d1c72982c2eb7896005
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/lib/Lex/Pragma.cpp

  Log Message:
  -----------
  [Lex] Fix clang -Wparentheses after #89923


  Commit: 5bbf1ea8f18d1f99637b7b8bf6b985c186c808f6
      https://github.com/llvm/llvm-project/commit/5bbf1ea8f18d1f99637b7b8bf6b985c186c808f6
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Basic/Targets/WebAssembly.cpp
    M clang/test/Preprocessor/wasm-target-features.c

  Log Message:
  -----------
  [WebAssembly] Enable multivalue and reference-types in generic CPU config (#80923)

This enables multivalue and reference-types in `-mcpu=generic`           
configuration. These proposals have been standardized and supported in   
all major browsers for several years at this point:                      
https://github.com/WebAssembly/proposals/blob/main/finished-proposals.md


  Commit: 3a0d894fafddace75f03fa7df25022cadbe2dffc
      https://github.com/llvm/llvm-project/commit/3a0d894fafddace75f03fa7df25022cadbe2dffc
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/lib/Rewrite/RewriteInstance.cpp

  Log Message:
  -----------
  [BOLT] Add support for BOLT-reserved space in a binary (#90300)

Allow the user to allocate space in a binary that could be used by BOLT
for allocating new sections. The reservation is specified by two special
symbols recognizable by BOLT: __bolt_reserved_{start,end}.

The reserved space will be useful for optimizing the Linux kernel where
we cannot allocate a new executable segment. However, the support is not
limited to kernel binaries as some user-space application may find it
useful too.


  Commit: 869ffcf3f6ca74c8a0ec6eb250d45e6ea0680c81
      https://github.com/llvm/llvm-project/commit/869ffcf3f6ca74c8a0ec6eb250d45e6ea0680c81
  Author: Kees Cook <keescook at chromium.org>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/test/CodeGen/regparm-flag.c
    M llvm/include/llvm/Transforms/Utils/BuildLibCalls.h
    M llvm/lib/Transforms/Utils/BuildLibCalls.cpp

  Log Message:
  -----------
  [CodeGen][i386] Move -mregparm storage earlier and fix Runtime calls (#89707)

When building the Linux kernel for i386, the -mregparm=3 option is
enabled. Crashes were observed in the sanitizer handler functions, and
the problem was found to be mismatched calling convention.

As was fixed in commit c167c0a4dcdb ("[BuildLibCalls] infer inreg param
attrs from NumRegisterParameters"), call arguments need to be marked as
"in register" when -mregparm is set. Use the same helper developed there
to update the function arguments.

Since CreateRuntimeFunction() is actually part of CodeGenModule, storage
of the -mregparm value is also moved to the constructor, as doing this
in Release() is too late.

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


  Commit: 028546cce2316a1074aa27001450295d856e1fdc
      https://github.com/llvm/llvm-project/commit/028546cce2316a1074aa27001450295d856e1fdc
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M lldb/source/Expression/UserExpression.cpp

  Log Message:
  -----------
  Simplify condition (NFC)


  Commit: 1f44a0b1ff2daebe10b9916da228f7c0ba66827c
      https://github.com/llvm/llvm-project/commit/1f44a0b1ff2daebe10b9916da228f7c0ba66827c
  Author: Reid Kleckner <rnk at google.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/utils/creduce-clang-crash.py

  Log Message:
  -----------
  Make minor improvements to the creduce wrapper script

Use shlex.quote instead of pipes.quote. We don't need to support Python
2.7 anymore.

Remove -fcolor-diagnostics first, because that can sometimes interfere
with the interestingness test.


  Commit: d47c4984e9ea80ffd01efb084df9485d314d1d14
      https://github.com/llvm/llvm-project/commit/d47c4984e9ea80ffd01efb084df9485d314d1d14
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    R llvm/test/CodeGen/AMDGPU/fp_trunc_store_bf16.ll
    A llvm/test/CodeGen/AMDGPU/fp_trunc_store_fp32_to_bf16.ll
    A llvm/test/CodeGen/AMDGPU/fp_trunc_store_fp64_to_bf16.ll

  Log Message:
  -----------
  [AMDGPU][ISel] Add more trunc store actions regarding bf16 (#90493)


  Commit: e24a7bbf4515213f44d410bfc41b3dff27c49c86
      https://github.com/llvm/llvm-project/commit/e24a7bbf4515213f44d410bfc41b3dff27c49c86
  Author: Brian Gesiak <brian at modocache.io>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Tools/lsp-server-support/Transport.h
    M mlir/lib/Tools/lsp-server-support/Transport.cpp
    M mlir/unittests/Tools/lsp-server-support/Transport.cpp

  Log Message:
  -----------
  [mlir-lsp] Support outgoing requests (#90078)

Add support for outgoing requests to `lsp::MessageHandler`. Much like
`MessageHandler::outgoingNotification`, this allows for the message
handler to send outgoing messages via its JSON transport, but in this
case, those messages are requests, not notifications.

Requests receive responses (also referred to as "replies" in
`MLIRLspServerSupportLib`). These were previously unsupported, and
`lsp::MessageHandler` would log an error each time it processed a JSON
message that appeared to be a response (something with an "id" field,
but no "method" field). However, the `outgoingRequest` method now
handles response callbacks: an outgoing request with a given ID is set
up such that a callback function is invoked when a response with that ID
is received.


  Commit: 1b70580dd867195b0442e582eccd42abc41ee12d
      https://github.com/llvm/llvm-project/commit/1b70580dd867195b0442e582eccd42abc41ee12d
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/decorators.py
    M lldb/test/API/driver/batch_mode/TestBatchMode.py
    M lldb/test/API/driver/job_control/TestJobControl.py
    M lldb/test/API/driver/quit_speed/TestQuitWithProcess.py
    M lldb/test/API/iohandler/sigint/TestProcessIOHandlerInterrupt.py
    M lldb/test/API/macosx/nslog/TestDarwinNSLogOutput.py
    M lldb/test/API/terminal/TestSTTYBeforeAndAfter.py

  Log Message:
  -----------
  Skip various tests under ASAN on green dragon (#90531)

using the macOS version as a proxy. I can't reproduce any of these
failures locally, but the tests all use pexpect and probably have bad
timeout behavior under high load.


  Commit: c4c4e17c99f8d4f79bb9e1e3819d1d76e5e09ed1
      https://github.com/llvm/llvm-project/commit/c4c4e17c99f8d4f79bb9e1e3819d1d76e5e09ed1
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M bolt/lib/Rewrite/RewriteInstance.cpp
    A bolt/test/X86/register-fragments-bolt-symbols.s

  Log Message:
  -----------
  [BOLT] Use heuristic for matching split local functions (#90424)

Use known order of BOLT split function symbols: fragment symbols
immediately precede the parent fragment symbol.

Depends On: https://github.com/llvm/llvm-project/pull/89648

Test Plan: Added register-fragments-bolt-symbols.s


  Commit: 5e9937d1b3ada9c686505c5f2c1e1b054ad9edc2
      https://github.com/llvm/llvm-project/commit/5e9937d1b3ada9c686505c5f2c1e1b054ad9edc2
  Author: Michael Flanders <flanders.michaelk at gmail.com>
  Date:   2024-04-29 (Mon, 29 Apr 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/docs/math/index.rst
    M libc/spec/stdc.td
    M libc/src/math/CMakeLists.txt
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/nearbyintf128.cpp
    A libc/src/math/generic/scalbnf128.cpp
    A libc/src/math/nearbyintf128.h
    A libc/src/math/scalbnf128.h
    M libc/test/UnitTest/FPMatcher.h
    M libc/test/src/math/CMakeLists.txt
    A libc/test/src/math/scalbnf128_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/NearbyIntTest.h
    A libc/test/src/math/smoke/nearbyint_test.cpp
    A libc/test/src/math/smoke/nearbyintf128_test.cpp
    A libc/test/src/math/smoke/nearbyintf_test.cpp
    A libc/test/src/math/smoke/nearbyintl_test.cpp
    A libc/test/src/math/smoke/scalbnf128_test.cpp

  Log Message:
  -----------
  [libc][math] Adds entrypoint and tests for nearbyintf128,scalbnf128 (#88443)

Closes #84689.

Adding @lntue for review.

I was curious about the implementation of
`round_using_current_rounding_mode` used for the `nearbyint` functions.
It has one of the rounding modes as unreachable
([here](https://github.com/llvm/llvm-project/blob/main/libc/src/__support/FPUtil/NearestIntegerOperations.h#L243)),
and I was wondering if this was okay for the `nearbyint` functions.

---------

Co-authored-by: Michael Flanders <mkf727 at cs.washington.edu>


  Commit: ae7ce1c6e728a262049c998c667b79165b285bd8
      https://github.com/llvm/llvm-project/commit/ae7ce1c6e728a262049c998c667b79165b285bd8
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

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

  Log Message:
  -----------
  [CodeGen] Remove extraneous ArrayRef (NFC) (#90423)

We don't need to explicitly create an instance of ArrayRef here
because getIndexedOffsetInType takes ArrayRef, and ArrayRef can be
implicitly constructed from a C array.


  Commit: 1cb33713910501c6352d0eb2a15b7a15e6e18695
      https://github.com/llvm/llvm-project/commit/1cb33713910501c6352d0eb2a15b7a15e6e18695
  Author: David Blaikie <dblaikie at gmail.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/test/CodeGenCoroutines/coro-elide-thinlto.cpp

  Log Message:
  -----------
  Ensure test writes objects to test temp dir


  Commit: 6566ffdf8a543f50b75e9b3c66d771a3a9eb1560
      https://github.com/llvm/llvm-project/commit/6566ffdf8a543f50b75e9b3c66d771a3a9eb1560
  Author: Kevin Frei <kevinfrei at users.noreply.github.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/include/llvm/DebugInfo/GSYM/OutputAggregator.h
    M llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp

  Log Message:
  -----------
  Clean up the GSym error aggregation code, and pass the aggregator by reference (#89688)

There was a problem with `llvm-gsymutil`s error aggregation code not
properly collecting aggregate errors. The was that the output aggregator
collecting errors from other threads wasn't being passed by reference,
so it was merging them into a copy of the app-wide output aggregator.

While I was at it, I added a better comment above the "Merge" code and
made it a bit more efficient, after learning more details about
`emplace` vs. `insert` or `operator[]` on `std::map`'s.

Co-authored-by: Kevin Frei <freik at meta.com>


  Commit: ce3485a0cd12b45c725f008a7836e71a1d72df49
      https://github.com/llvm/llvm-project/commit/ce3485a0cd12b45c725f008a7836e71a1d72df49
  Author: Max Winkler <max.enrico.winkler at gmail.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetLibraryInfo.def
    M llvm/lib/Transforms/IPO/GlobalOpt.cpp
    A llvm/test/Transforms/GlobalOpt/atexit-dtor.ll
    M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml
    M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp

  Log Message:
  -----------
  [llvm][GlobalOpt] Remove empty atexit destructors/handlers (#88836)

https://godbolt.org/z/frjhqMKqc for an example.

Removal of allocations due to empty `__cxa_atexit` destructor calls is
done by the following globalopt pass.
This pass currently does not look for `atexit` handlers generated for
platforms that do not use `__cxa_atexit`.
By default Win32 and AIX use `atexit`.

I don't see an easy way to only remove `atexit` calls that the compiler
generated without looking at the generated mangled name of the atexit
handler that is being registered.
However we can easily remove all `atexit` calls that register empty
handlers since it is trivial to ensure the removed call still returns
`0` which is the value for success.


  Commit: 9a1386e5fabb0d2741f2f7c873342eb86e350e9e
      https://github.com/llvm/llvm-project/commit/9a1386e5fabb0d2741f2f7c873342eb86e350e9e
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M llvm/include/llvm/ADT/FoldingSet.h
    M llvm/lib/IR/AttributeImpl.h
    M llvm/lib/IR/Attributes.cpp

  Log Message:
  -----------
  [NFC] Remove method from FoldingSet that already existed in APInt. (#90486)

Noticed that there already was a function in APInt that updated a
FoldingSet so there was no need for me to add it in
https://github.com/llvm/llvm-project/pull/84617.


  Commit: 65ee8f10b2017349b7742843fbe4accb172736e9
      https://github.com/llvm/llvm-project/commit/65ee8f10b2017349b7742843fbe4accb172736e9
  Author: Aart Bik <ajcbik at google.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
    M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.h
    A mlir/test/Dialect/SparseTensor/sparse_matmul_one.mlir

  Log Message:
  -----------
  [mlir][sparse] fold explicit value during sparsification (#90530)

This ensures the explicit value is generated (and not a load into the
values array). Note that actually not storing values array at all is
still TBD, this is just the very first step.


  Commit: b1867e18c346e9621e14270bea2d1acb7d2a9ce0
      https://github.com/llvm/llvm-project/commit/b1867e18c346e9621e14270bea2d1acb7d2a9ce0
  Author: Dan Liew <delcypher at gmail.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Parse/Parser.h
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Parse/ParseDecl.cpp
    A clang/test/Driver/experimental-late-parse-attributes.c
    M clang/utils/TableGen/ClangAttrEmitter.cpp

  Log Message:
  -----------
  [Attributes] Support Attributes being declared as supporting an experimental late parsing mode "extension" (#88596)

This patch changes the `LateParsed` field of `Attr` in `Attr.td` to be
an instantiation of the new `LateAttrParseKind` class. The instation can be one of the following:

* `LateAttrParsingNever` - Corresponds with the false value of `LateParsed` prior to this patch (the default for an attribute).
* `LateAttrParseStandard` - Corresponds with the true value of `LateParsed` prior to this patch.
* `LateAttrParseExperimentalExt` - A new mode described below.

`LateAttrParseExperimentalExt` is an experimental extension to
`LateAttrParseStandard`. Essentially this allows
`Parser::ParseGNUAttributes(...)` to distinguish between these cases:

1. Only `LateAttrParseExperimentalExt` attributes should be late parsed.
2. Both `LateAttrParseExperimentalExt` and `LateAttrParseStandard`
  attributes should be late parsed.

Callers (and indirect callers) of `Parser::ParseGNUAttributes(...)`
indicate the desired behavior by setting a flag in the
`LateParsedAttrList` object that is passed to the function.

In addition to the above, a new driver and frontend flag
(`-fexperimental-late-parse-attributes`) with a corresponding LangOpt
(`ExperimentalLateParseAttributes`) is added that changes how
`LateAttrParseExperimentalExt` attributes are parsed.

* When the flag is disabled (default), in cases where only
  `LateAttrParsingExperimentalOnly` late parsing is requested, the
  attribute will be parsed immediately (i.e. **NOT** late parsed). This
  allows the attribute to act just like a `LateAttrParseStandard`
  attribute when the flag is disabled.

* When the flag is enabled, in cases where only
  `LateAttrParsingExperimentalOnly` late parsing is requested, the
  attribute will be late parsed.

The motivation behind this change is to allow the new `counted_by`
attribute (part of `-fbounds-safety`) to support late parsing but
**only** when `-fexperimental-late-parse-attributes` is enabled. This
attribute needs to support late parsing to allow it to refer to fields
later in a struct definition (or function parameters declared later).
However, there isn't a precedent for supporting late attribute parsing
in C so this flag allows the new behavior to exist in Clang but not be
on by default. This behavior was requested as part of the
`-fbounds-safety` RFC process
(https://discourse.llvm.org/t/rfc-enforcing-bounds-safety-in-c-fbounds-safety/70854/68).

This patch doesn't introduce any uses of `LateAttrParseExperimentalExt`.
This will be added for the `counted_by` attribute in a future patch
(https://github.com/llvm/llvm-project/pull/87596). A consequence is the
new behavior added in this patch is not yet testable. Hence, the lack of
tests covering the new behavior.

rdar://125400257


  Commit: 6ea0c0a28343b2676baf480db490b5a27fa11d7c
      https://github.com/llvm/llvm-project/commit/6ea0c0a28343b2676baf480db490b5a27fa11d7c
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    R llvm/include/llvm/CodeGen/FreeMachineFunction.h
    M llvm/include/llvm/CodeGen/MIRParser/MIRParser.h
    A llvm/include/llvm/CodeGen/MachineFunctionAnalysis.h
    M llvm/include/llvm/CodeGen/MachineModuleInfo.h
    M llvm/include/llvm/CodeGen/MachinePassManager.h
    M llvm/include/llvm/IR/LLVMContext.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/CodeGen/CMakeLists.txt
    M llvm/lib/CodeGen/DeadMachineInstructionElim.cpp
    R llvm/lib/CodeGen/FreeMachineFunction.cpp
    M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
    A llvm/lib/CodeGen/MachineFunctionAnalysis.cpp
    M llvm/lib/CodeGen/MachinePassManager.cpp
    M llvm/lib/IR/LLVMContext.cpp
    M llvm/lib/IR/LLVMContextImpl.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Passes/StandardInstrumentations.cpp
    M llvm/test/tools/llc/new-pm/pipeline.ll
    M llvm/test/tools/llc/new-pm/pipeline.mir
    M llvm/test/tools/llc/new-pm/start-stop.ll
    M llvm/tools/llc/NewPMDriver.cpp
    M llvm/unittests/CodeGen/PassManagerTest.cpp
    M llvm/unittests/MIR/CMakeLists.txt
    R llvm/unittests/MIR/PassBuilderCallbacksTest.cpp

  Log Message:
  -----------
  [NewPM][CodeGen] Add `MachineFunctionAnalysis` (#88610)

In new pass system, `MachineFunction` could be an analysis result again,
machine module pass can now fetch them from analysis manager.
`MachineModuleInfo` no longer owns them.
Remove `FreeMachineFunctionPass`, replaced by
`InvalidateAnalysisPass<MachineFunctionAnalysis>`.

Now `FreeMachineFunction` is replaced by
`InvalidateAnalysisPass<MachineFunctionAnalysis>`, the workaround in
`MachineFunctionPassManager` is no longer needed, there is no difference
between `unittests/MIR/PassBuilderCallbacksTest.cpp` and
`unittests/IR/PassBuilderCallbacksTest.cpp`.


  Commit: b3291793f11924a3b62601aabebebdcfbb12a9a1
      https://github.com/llvm/llvm-project/commit/b3291793f11924a3b62601aabebebdcfbb12a9a1
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M llvm/lib/TargetParser/Host.cpp

  Log Message:
  -----------
  [X86] Enable EVEX512 when host CPU has AVX512 (#90479)

This is used when -march=native run on an unknown CPU to old version of
LLVM.


  Commit: 9d5411ffba0d94b60050cc873773935addca9533
      https://github.com/llvm/llvm-project/commit/9d5411ffba0d94b60050cc873773935addca9533
  Author: sinan <sinan.lin at linux.alibaba.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M bolt/lib/Passes/ValidateMemRefs.cpp
    A bolt/test/X86/jt-symbol-disambiguation-4.s

  Log Message:
  -----------
  [BOLT] Avoid reference updates for non-JT symbol operands (#88838)

Skip updating references for operands that do not directly
refer to jump table symbols but fall within a jump table's
address range to prevent unintended modifications.


  Commit: 38067c50a9459caed2892e38b2ae5026a8bff8e2
      https://github.com/llvm/llvm-project/commit/38067c50a9459caed2892e38b2ae5026a8bff8e2
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M clang/lib/Serialization/ASTWriter.cpp
    A clang/test/Modules/pr90259.cppm

  Log Message:
  -----------
  [C++20] [Modules] [Reduced BMI] Avoid force writing static declarations
within module purview

Close https://github.com/llvm/llvm-project/issues/90259

Technically, the static declarations shouldn't be leaked from the module
interface, otherwise it is an illegal program according to the spec. So
we can get rid of the static declarations from the reduced BMI
technically. Then we can close the above issue.

However, there are too many `static inline` codes in existing headers.
So it will be a pretty big breaking change if we do this globally.


  Commit: 62d6560471f0e1151e34c0a56357423350f7a6af
      https://github.com/llvm/llvm-project/commit/62d6560471f0e1151e34c0a56357423350f7a6af
  Author: thetruestblue <92476612+thetruestblue at users.noreply.github.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard.cpp

  Log Message:
  -----------
  Disable test for lsan and x86_64h (#90483)

Disable this test on x86_64h for LSan.

This test is failing with malformed object only on x86_64h.
Disabling for now. 

rdar://125052424


  Commit: 326667d727546dad0ce9315aa93a3da698c7c71c
      https://github.com/llvm/llvm-project/commit/326667d727546dad0ce9315aa93a3da698c7c71c
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/lib/TargetParser/RISCVISAInfo.cpp

  Log Message:
  -----------
  [RISCV] Merge variable declaration with first assignment. NFC


  Commit: 79095b4079e8d4f8176bcc53fdacd2765f310cdb
      https://github.com/llvm/llvm-project/commit/79095b4079e8d4f8176bcc53fdacd2765f310cdb
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M lld/ELF/OutputSections.cpp

  Log Message:
  -----------
  [ELF] --compress-debug-sections=zstd: replace ZSTD_c_nbWorkers parallelism with multi-frame parallelism

https://reviews.llvm.org/D133679 utilizes zstd's multithread API to
create one single frame. This provides a higher compression ratio but is
significantly slower than concatenating multiple frames.

With manual parallelism, it is easier to parallelize memcpy in
OutputSection::writeTo for parallel memcpy.

In addition, as the individual allocated decompression buffers are much
smaller, we can make a wild guess (compressed_size/4) without worrying
about a resize (due to wrong guess) would waste memory.


  Commit: fbe4d991323b026eb64cd3d0ee811854b54ca33f
      https://github.com/llvm/llvm-project/commit/fbe4d991323b026eb64cd3d0ee811854b54ca33f
  Author: Julian Schmidt <git.julian.schmidt at gmail.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/math-missing-parentheses.cpp

  Log Message:
  -----------
  [clang-tidy] fix false-negative for macros in `readability-math-missing-parentheses` (#90279)

When a binary operator is the last operand of a macro, the end location
that is past the `BinaryOperator` will be inside the macro and therefore
an
invalid location to insert a `FixIt` into, which is why the check bails
when encountering such a pattern.
However, the end location is only required for the `FixIt` and the
diagnostic can still be emitted, just without an attached fix.


  Commit: bd72f7b0ab98531ab579fafe79c7a8967994583a
      https://github.com/llvm/llvm-project/commit/bd72f7b0ab98531ab579fafe79c7a8967994583a
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    A llvm/test/CodeGen/RISCV/rvv/pr90559.ll

  Log Message:
  -----------
  [RISCV] Add test case for exact vscale miscompile in #90559. NFC


  Commit: 18268ac0f48d93c2bcddb69732761971669c09ab
      https://github.com/llvm/llvm-project/commit/18268ac0f48d93c2bcddb69732761971669c09ab
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Serialization/GeneratePCH.cpp
    M clang/test/Modules/pr67893.cppm
    M clang/test/Modules/search-partitions.cpp

  Log Message:
  -----------
  [NFC] [C++20] [Modules] Use new class CXX20ModulesGenerator to generate module file for C++20 modules instead of PCHGenerator

Previously we're re-using PCHGenerator to generate the module file for
C++20 modules. But this is slighty more or less odd. This patch tries
to use a new class 'CXX20ModulesGenerator' to generate the module file
for C++20 modules.


  Commit: 705636a1130551ab105aec95b909a35a0305fc9f
      https://github.com/llvm/llvm-project/commit/705636a1130551ab105aec95b909a35a0305fc9f
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-int-vp.ll

  Log Message:
  -----------
  [SelectionDAG][RISCV] Move VP_REDUCE* legalization to LegalizeDAG.cpp. (#90522)

LegalizeVectorType is responsible for legalizing nodes that perform an
operation on each element may need to scalarize.

This is not true for nodes like VP_REDUCE.*, BUILD_VECTOR,
SHUFFLE_VECTOR, EXTRACT_SUBVECTOR, etc.

This patch drops any nodes with a scalar result from LegalizeVectorOps
and handles them in LegalizeDAG instead.

This required moving the reduction promotion to LegalizeDAG. I have
removed the support integer promotion as it was incorrect for integer
min/max reductions. Since it was untested, it was best to assert on it
until it was really needed.

There are a couple regressions that can be fixed with a small DAG
combine which I will do as a follow up.


  Commit: 6e83058138210ab1e219d04974a071b57b3196e1
      https://github.com/llvm/llvm-project/commit/6e83058138210ab1e219d04974a071b57b3196e1
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/lib/TargetParser/RISCVISAInfo.cpp

  Log Message:
  -----------
  [RISCV] Use an assert insead of a if/else+llvm_unreachable. NFC


  Commit: fb21343473e33e9a886b42d2fe95d1cec1cd0030
      https://github.com/llvm/llvm-project/commit/fb21343473e33e9a886b42d2fe95d1cec1cd0030
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M clang/lib/Serialization/GeneratePCH.cpp
    A clang/test/Modules/pr75057.cppm

  Log Message:
  -----------
  [C++20] [Modules] Don't skip pragma diagnostic mappings

Close https://github.com/llvm/llvm-project/issues/75057

Previously, I thought the diagnostic mappings is not meaningful with
modules incorrectly. And this problem get revealed by another change
recently. So this patch tried to rever the previous "optimization"
partially.


  Commit: 940ef9687f5f19ce02b7fa5d2eb6225f458fbdd9
      https://github.com/llvm/llvm-project/commit/940ef9687f5f19ce02b7fa5d2eb6225f458fbdd9
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsRISCV.td
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/test/CodeGen/RISCV/regalloc-last-chance-recoloring-failure.ll
    M llvm/test/CodeGen/RISCV/rvv/commutable.ll
    M llvm/test/CodeGen/RISCV/rvv/copyprop.mir
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll

  Log Message:
  -----------
  [RISCV] Remove hasSideEffects=1 for saturating/fault-only-first instructions

Marking them as `hasSideEffects=1` stops some optimizations.

According to `Target.td`:

> // Does the instruction have side effects that are not captured by any
> // operands of the instruction or other flags?
> bit hasSideEffects = ?;

It seems we don't need to set `hasSideEffects` for vleNff since we have
modelled `vl` as an output operand.

As for saturating instructions, I think that explicit Def/Use list
is kind of side effects captured by any operands of the instruction,
so we don't need to set `hasSideEffects` either. And I have just
investigated AArch64's implementation, they don't set this flag and
don't add `Def` list.

These changes make optimizations like `performCombineVMergeAndVOps`
and MachineCSE possible for these instructions.

As a consequence, `copyprop.mir` can't test what we want to test in
https://reviews.llvm.org/D155140, so we replace `vssra.vi` with a
VCIX instruction (it has side effects).

Reviewers: jacquesguan, topperc, preames, asb, lukel97

Reviewed By: topperc, lukel97

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


  Commit: 6b961e2abfffd8b5a508b5958849b13b0feafa50
      https://github.com/llvm/llvm-project/commit/6b961e2abfffd8b5a508b5958849b13b0feafa50
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Serialization/GeneratePCH.cpp
    M clang/test/Modules/pr67893.cppm
    R clang/test/Modules/pr75057.cppm
    M clang/test/Modules/search-partitions.cpp

  Log Message:
  -----------
  Revert "[C++20] [Modules] Don't skip pragma diagnostic mappings"
and "[NFC] [C++20] [Modules] Use new class CXX20ModulesGenerator to
generate module file for C++20 modules instead of PCHGenerator"

This reverts commit fb21343473e33e9a886b42d2fe95d1cec1cd0030.
and commit 18268ac0f48d93c2bcddb69732761971669c09ab.

It looks like there are some problems about linking the compiler


  Commit: 2524146b256002bfc70b38008425291f5b3dd08c
      https://github.com/llvm/llvm-project/commit/2524146b256002bfc70b38008425291f5b3dd08c
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vector-i8-index-cornercase.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-int-vp.ll

  Log Message:
  -----------
  [RISCV] Add DAG combine for (vmv_s_x_vl (undef) (vmv_x_s X). (#90524)

We can use the original vector as long as the type of X matches the
result type of the vmv_s_x_vl.


  Commit: 4a84d8e4c28d873eacfce53f9fd902d67a08a859
      https://github.com/llvm/llvm-project/commit/4a84d8e4c28d873eacfce53f9fd902d67a08a859
  Author: wanglei <wanglei at loongson.cn>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchFixupKinds.h
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCCodeEmitter.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.h
    M llvm/test/MC/LoongArch/Macros/macros-la-bad.s
    M llvm/test/MC/LoongArch/Macros/macros-la.s
    M llvm/test/MC/LoongArch/Misc/tls-symbols.s
    M llvm/test/MC/LoongArch/Relocations/relocations.s

  Log Message:
  -----------
  [LoongArch] Support parsing la.tls.desc pseudo instruction

Simultaneously implemented parsing support for the `%desc_*` modifiers.

Reviewers: SixWeining, heiher, xen0n

Reviewed By: xen0n, SixWeining

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


  Commit: ec527b21bb4196355184aa95ef31aa561b8e8b7b
      https://github.com/llvm/llvm-project/commit/ec527b21bb4196355184aa95ef31aa561b8e8b7b
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Serialization/GeneratePCH.cpp
    A clang/test/Modules/pr75057.cppm

  Log Message:
  -----------
  [C++20] [Modules] Don't skip pragma diagnostic mappings

Close https://github.com/llvm/llvm-project/issues/75057

Previously, I thought the diagnostic mappings is not meaningful with
modules incorrectly. And this problem get revealed by another change
recently. So this patch tried to rever the previous "optimization"
partially.


  Commit: f4843acd839f4f8687815560b69fa96ed3cbf8cf
      https://github.com/llvm/llvm-project/commit/f4843acd839f4f8687815560b69fa96ed3cbf8cf
  Author: Christian Sigg <chsigg at users.noreply.github.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

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

  Log Message:
  -----------
  [lldb][bazel] Fix BUILD after 975eca0e6a3459e59e96b0df33ea0cfbd157c597. (#90564)


  Commit: ce12b12d0d786773b60adead18e994d6e4a0e228
      https://github.com/llvm/llvm-project/commit/ce12b12d0d786773b60adead18e994d6e4a0e228
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir

  Log Message:
  -----------
  [mlir][OpenMP] Extend `omp.private` with a `dealloc` region (#90456)

Extends `omp.private` with a new region: `dealloc` where deallocation
logic for Fortran deallocatables will be outlined (this will happen in
later PRs).


  Commit: 09f160c6298255f520b379b88161fbd1c365b308
      https://github.com/llvm/llvm-project/commit/09f160c6298255f520b379b88161fbd1c365b308
  Author: Balázs Kéri <balazs.keri at ericsson.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M clang/docs/analyzer/checkers.rst
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/test/Analysis/analyzer-config.c
    M clang/test/Analysis/analyzer-enabled-checkers.c
    M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
    M clang/test/Analysis/std-c-library-functions-arg-weakdeps.c
    M clang/test/Analysis/std-c-library-functions-vs-stream-checker.c
    M clang/test/Analysis/stream-errno-note.c
    M clang/test/Analysis/stream-errno.c
    M clang/test/Analysis/stream-error.c
    M clang/test/Analysis/stream-invalidate.c
    M clang/test/Analysis/stream-non-posix-function.c
    M clang/test/Analysis/stream-noopen.c
    M clang/test/Analysis/stream-note.c
    M clang/test/Analysis/stream-pedantic.c
    M clang/test/Analysis/stream-stdlibraryfunctionargs.c
    M clang/test/Analysis/stream.c
    M clang/test/Analysis/stream.cpp
    M clang/www/analyzer/alpha_checks.html
    M clang/www/analyzer/open_projects.html

  Log Message:
  -----------
  [clang][analyzer] Move StreamChecker out of the alpha package. (#89247)


  Commit: ff6c0cac7037e78688f589fd635c82e7c1cb42b0
      https://github.com/llvm/llvm-project/commit/ff6c0cac7037e78688f589fd635c82e7c1cb42b0
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M lldb/docs/resources/lldbgdbremote.md

  Log Message:
  -----------
  [lldb][Docs] Remove more subtitles from packets doc (#90443)

This removes various subtitles or converts them to bold text so that the
table of contents is less cluttered.

This includes "Example", "Notes", "Priority To Implement" and
"Response".


  Commit: eb148aecb3603c2ba6ecbdaebd3b8a87f44349bc
      https://github.com/llvm/llvm-project/commit/eb148aecb3603c2ba6ecbdaebd3b8a87f44349bc
  Author: wanglei <wanglei at loongson.cn>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    A clang/test/CodeGen/LoongArch/tls-dialect.c
    M clang/test/Driver/tls-dialect.c
    M llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchMCInstLower.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.h
    M llvm/test/CodeGen/LoongArch/tls-models.ll

  Log Message:
  -----------
  [LoongArch][Codegen] Add support for TLSDESC

The implementation only enables when the `-enable-tlsdesc` option is
passed and the TLS model is `dynamic`.

LoongArch's GCC has the same option(-mtls-dialet=) as RISC-V.

Reviewers: heiher, MaskRay, SixWeining

Reviewed By: SixWeining, MaskRay

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


  Commit: 91a8cb781dbc981356207e0c3608d92ed6d26042
      https://github.com/llvm/llvm-project/commit/91a8cb781dbc981356207e0c3608d92ed6d26042
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    A flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    A flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
    A flang/test/Transforms/debug-fn-info.f90
    M flang/test/Transforms/debug-line-table-inc-file.fir

  Log Message:
  -----------
  Reapply "[flang] Improve debug info for functions." with regression fixed. (#90484)

The original PR #90083 had to be reverted in PR #90444 as it caused one
of the gfortran tests to fail. The issue was using `isIntOrIndex` for
checking for integer type. It allowed index type which later caused
assertion when calling `getIntOrFloatBitWidth`. I have now replaced it
with `isInteger` which should fix this regression.


  Commit: 09e7d86b99c6e6d4f4a3296647d1b7d803c5bac5
      https://github.com/llvm/llvm-project/commit/09e7d86b99c6e6d4f4a3296647d1b7d803c5bac5
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/unittests/Transforms/Utils/LocalTest.cpp

  Log Message:
  -----------
  [RemoveDIs] Fix findDbgValues to return dbg_assign records too (#90471)

In the debug intrinsic class heirachy, a dbg.assign is a (inherits from)
dbg.value, so `findDbgValues` returns dbg.values and dbg.assigns (by
design). That hierarchy doesn't exist for DbgRecords - fix findDbgValues
to return dbg_assign records as well as dbg_values and add unittest.


  Commit: 853344d3ae8bb655b2d15175880bd3f65ab66434
      https://github.com/llvm/llvm-project/commit/853344d3ae8bb655b2d15175880bd3f65ab66434
  Author: Kristof Beyls <kristof.beyls at arm.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M llvm/docs/GettingInvolved.rst

  Log Message:
  -----------
  [docs] Document which online sync-ups are no longer happening (#89361)

Some of the online sync-ups on our Getting Involved page seem to no
longer be happening. Document them as no longer happening, so that
people don't get confused when dialing in to one of these.


  Commit: 6c3110464bac3600685af9650269b0b2b8669d34
      https://github.com/llvm/llvm-project/commit/6c3110464bac3600685af9650269b0b2b8669d34
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M clang/include/clang/Basic/SourceLocation.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/Serialization/ModuleFile.h
    M clang/include/clang/Serialization/SourceLocationEncoding.h
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/lib/Serialization/ModuleFile.cpp
    A clang/test/Modules/no-transitive-source-location-change.cppm
    M clang/test/Modules/pr61067.cppm
    M clang/unittests/Serialization/SourceLocationEncodingTest.cpp

  Log Message:
  -----------
  [Modules] No transitive source location change (#86912)

This is part of "no transitive change" patch series, "no transitive
source location change". I talked this with @Bigcheese in the tokyo's
WG21 meeting.

The idea comes from @jyknight posted on LLVM discourse. That for:

```
// A.cppm
export module A;
...

// B.cppm
export module B;
import A;
...

//--- C.cppm
export module C;
import C;
```

Almost every time A.cppm changes, we need to recompile `B`. Due to we
think the source location is significant to the semantics. But it may be
good if we can avoid recompiling `C` if the change from `A` wouldn't
change the BMI of B.

# Motivation Example

This patch only cares source locations. So let's focus on source
location's example. We can see the full example from the attached test.

```
//--- A.cppm
export module A;
export template <class T>
struct C {
    T func() {
        return T(43);
    }
};
export int funcA() {
    return 43;
}

//--- A.v1.cppm
export module A;

export template <class T>
struct C {
    T func() {
        return T(43);
    }
};
export int funcA() {
    return 43;
}

//--- B.cppm
export module B;
import A;

export int funcB() {
    return funcA();
}

//--- C.cppm
export module C;
import A;
export void testD() {
    C<int> c;
    c.func();
}
```

Here the only difference between `A.cppm` and `A.v1.cppm` is that
`A.v1.cppm` has an additional blank line. Then the test shows that two
BMI of `B.cppm`, one specified `-fmodule-file=A=A.pcm` and the other
specified `-fmodule-file=A=A.v1.pcm`, should have the bit-wise same
contents.

However, it is a different story for C, since C instantiates templates
from A, and the instantiation records the source information from module
A, which is different from `A` and `A.v1`, so it is expected that the
BMI `C.pcm` and `C.v1.pcm` can and should differ.

# Internal perspective of status quo

To fully understand the patch, we need to understand how we encodes
source locations and how we serialize and deserialize them.

For source locations, we encoded them as:

```
|
|
| _____ base offset of an imported module
|
|
|
|_____ base offset of another imported module
|
|
|
|
| ___ 0
```

As the diagram shows, we encode the local (unloaded) source location
from 0 to higher bits. And we allocate the space for source locations
from the loaded modules from high bits to 0. Then the source locations
from the loaded modules will be mapped to our source location space
according to the allocated offset.

For example, for,

```
// a.cppm
export module a;
...

// b.cppm
export module b;
import a;
...
```

Assuming the offset of a source location (let's name the location as
`S`) in a.cppm is 45 and we will record the value `45` into the BMI
`a.pcm`. Then in b.cppm, when we import a, the source manager will
allocate a space for module 'a' (according to the recorded number of
source locations) as the base offset of module 'a' in the current source
location spaces. Let's assume the allocated base offset as 90 in this
example. Then when we want to get the location in the current source
location space for `S`, we can get it simply by adding `45` to `90` to
`135`. Finally we can get the source location for `S` in module B as
`135`.

And when we want to write module `b`, we would also write the source
location of `S` as `135` directly in the BMI. And to clarify the
location `S` comes from module `a`, we also need to record the base
offset of module `a`, 90 in the BMI of `b`.

Then the problem comes. Since the base offset of module 'a' is computed
by the number source locations in module 'a'. In module 'b', the
recorded base offset of module 'a' will change every time the number of
source locations in module 'a' increase or decrease. In other words, the
contents of BMI of B will change every time the number of locations in
module 'a' changes. This is pretty sensitive. Almost every change will
change the number of locations. So this is the problem this patch want
to solve.

Let's continue with the existing design to understand what's going on.
Another interesting case is:

```
// c.cppm
export module c;
import whatever;
import a;
import b;
...
```

In `c.cppm`, when we import `a`, we still need to allocate a base
location offset for it, let's say the value becomes to `200` somehow.
Then when we reach the location `S` recorded in module `b`, we need to
translate it into the current source location space. The solution is
quite simple, we can get it by `135 + (200 - 90) = 245`. In another
word, the offset of a source location in current module can be computed
as `Recorded Offset + Base Offset of the its module file - Recorded Base
Offset`.

Then we're almost done about how we handle the offset of source
locations in serializers.

# The high level design of current patch

>From the abstract level, what we want to do is to remove the hardcoded
base offset of imported modules and remain the ability to calculate the
source location in a new module unit. To achieve this, we need to be
able to find the module file owning a source location from the encoding
of the source location.

So in this patch, for each source location, we will store the local
offset of the location and the module file index. For the above example,
in `b.pcm`, the source location of `S` will be recorded as `135`
directly. And in the new design, the source location of `S` will be
recorded as `<1, 45>`. Here `1` stands for the module file index of `a`
in module `b`. And `45` means the offset of `S` to the base offset of
module `a`.

So the trade-off here is that, to make the BMI more independent, we need
to record more abstract information. And I feel it is worthy. The
recompilation problem of modules is really annoying and there are still
people complaining this. But if we can make this (including stopping
other changes transitively), I think this may be a killer feature for
modules. And from @Bigcheese , this should be helpful for clang explicit
modules too.

And the benchmarking side, I tested this patch against
https://github.com/alibaba/async_simple/tree/CXX20Modules. No
significant change on compilation time. The size of .pcm files becomes
to 204M from 200M. I think the trade-off is pretty fair.

# Some low level details

I didn't use another slot to record the module file index. I tried to
use the higher 32 bits of the existing source location encodings to
store that information. This design may be safe. Since we use `unsigned`
to store source locations but we use uint64_t in serialization. And
generally `unsigned` is 32 bit width in most platforms. So it might not
be a safe problem. Since all the bits we used to store the module file
index is not used before. So the new encodings may be:

```
   |-----------------------|-----------------------|
   |           A           |         B         | C |

  * A: 32 bit. The index of the module file in the module manager + 1. The +1
          here is necessary since we wish 0 stands for the current module file.
  * B: 31 bit. The offset of the source location to the module file containing it.
  * C: The macro bit. We rotate it to the lowest bit so that we can save some 
          space in case the index of the module file is 0.
```

(The B and C is the existing raw encoding for source locations)

Another reason to reuse the same slot of the source location is to
reduce the impact of the patch. Since there are a lot of places assuming
we can store and get a source location from a slot. And if I tried to
add another slot, a lot of codes breaks. I don't feel it is worhty.

Another impact of this decision is that, the existing small
optimizations for encoding source location may be invalided. The key of
the optimization is that we can turn large values into small values then
we can use VBR6 format to reduce the size. But if we decided to put the
module file index into the higher bits, then maybe it simply doesn't
work. An example may be the `SourceLocationSequence` optimization.

This will only affect the size of on-disk .pcm files. I don't expect
this impact the speed and memory use of compilations. And seeing my
small experiments above, I feel this trade off is worthy.

# Correctness

The mental model for handling source location offsets is not so complex
and I believe we can solve it by adding module file index to each stored
source location.

For the practical side, since the source location is pretty sensitive,
and the patch can pass all the in-tree tests and a small scale projects,
I feel it should be correct.

# Future Plans

I'll continue to work on no transitive decl change and no transitive
identifier change (if matters) to achieve the goal to stop the
propagation of unnecessary changes. But all of this depends on this
patch. Since, clearly, the source locations are the most sensitive
thing.

---

The release nots and documentation will be added seperately.


  Commit: 2464c1c153285bbabf1df4a61f1975903ffbe70e
      https://github.com/llvm/llvm-project/commit/2464c1c153285bbabf1df4a61f1975903ffbe70e
  Author: Johannes de Fine Licht <johannes at musicmedia.dk>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M mlir/include/mlir/IR/OperationSupport.h

  Log Message:
  -----------
  [MLIR] Sprinkle extra asserts in OperationSupport.h (#90465)

Should hopefully help shave some minutes off developer debugging time in
the future.


  Commit: 92ca6fcb87a1b8b0cef3b0a8c960b4d7d0fc12a0
      https://github.com/llvm/llvm-project/commit/92ca6fcb87a1b8b0cef3b0a8c960b4d7d0fc12a0
  Author: Johannes de Fine Licht <johannes at musicmedia.dk>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/test/Dialect/LLVMIR/constant-folding.mlir

  Log Message:
  -----------
  [MLIR][LLVM] Have LLVM::AddressOfOp implement ConstantLike (#90481)

For all means and purposes llvm.mlir.addressof acts like a constant, and
should be treated as such by passes. In particular, the operation should
be propagated rather than passed whenever possible.


  Commit: c9d92d215e6bfe14997bb79e6d6a050d1b449843
      https://github.com/llvm/llvm-project/commit/c9d92d215e6bfe14997bb79e6d6a050d1b449843
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    A mlir/test/Dialect/Linalg/transform-op-peel-and-vectorize-conv.mlir

  Log Message:
  -----------
  [mlir][test] Add TD example for peel+vectorize (depthwise conv) (#90200)

Adds an example that combines loop peeling and scalable vectorisation of
`linalg.depthwise_conv_2d_nhwc_hwc`. This is similar to
transform-op-peel-and-vectorize.mlir and is meant to demonstrate how to
avoid masking when vectorising using scalable vectors.


  Commit: 74e65eec48ee87c34e06a09ad25a1029506dd60d
      https://github.com/llvm/llvm-project/commit/74e65eec48ee87c34e06a09ad25a1029506dd60d
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M clang/lib/AST/Interp/Interp.h
    M clang/test/AST/Interp/opencl.cl

  Log Message:
  -----------
  [clang][Interp] Handle Shifts in OpenCL correctly

We need to adjust the RHS to account for the LHS bitwidth.


  Commit: 29dda26c65fc50066792f558e95f9603a7d7effc
      https://github.com/llvm/llvm-project/commit/29dda26c65fc50066792f558e95f9603a7d7effc
  Author: Danial Klimkin <dklimkin at google.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M lldb/source/Host/posix/PipePosix.cpp

  Log Message:
  -----------
  Fix lock guads in PipePosix.cpp (#90572)

Guard object destroyed immediately after creation without naming.


  Commit: eaee8aa0afe111f9291d54ecef97a3640a0f6ce0
      https://github.com/llvm/llvm-project/commit/eaee8aa0afe111f9291d54ecef97a3640a0f6ce0
  Author: Qizhi Hu <836744285 at qq.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplate.cpp
    A clang/test/SemaCXX/identical-type-primary-partial-specialization.cpp

  Log Message:
  -----------
  [Clang][Sema] fix a bug on template partial specialization (#89862)

attempt to fix
https://github.com/llvm/llvm-project/issues/68885#issuecomment-1764201896
Deduction of NTTP whose type is `decltype(auto)` would create an
implicit cast expression to dependent type and makes the type of primary
template definition (`InjectedClassNameSpecialization`) and its partial
specialization different. Prevent emitting cast expression to make clang
knows their types are identical by removing `CTAK == CTAK_Deduced` when
the type is `decltype(auto)`.

Co-authored-by: huqizhi <836744285 at qq.com>


  Commit: a413c563bdcaac08f7c325c7d69e19f924435e59
      https://github.com/llvm/llvm-project/commit/a413c563bdcaac08f7c325c7d69e19f924435e59
  Author: Qizhi Hu <836744285 at qq.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    A clang/test/SemaCXX/PR68885.cpp

  Log Message:
  -----------
  [Clang][Sema] Fix a bug on template partial specialization with issue on deduction of nontype template parameter (#90376)

Fix https://github.com/llvm/llvm-project/issues/68885
When build expression from a deduced argument whose kind is
`Declaration` and `NTTPType`(which declared as `decltype(auto)`) is
deduced as a reference type, `BuildExpressionFromDeclTemplateArgument`
just create a `DeclRef`. This is incorrect while we get type from the
expression since we can't get the original reference type from
`DeclRef`. Creating a `SubstNonTypeTemplateParmExpr` expression and make
the deduction correct. `Replacement` expression of
`SubstNonTypeTemplateParmExpr` just helps the deduction and may not be
same with the original expression.

Co-authored-by: huqizhi <836744285 at qq.com>


  Commit: 64248d7dee09fef4900058ba98a67feb68eb617c
      https://github.com/llvm/llvm-project/commit/64248d7dee09fef4900058ba98a67feb68eb617c
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M lldb/include/lldb/Symbol/CompilerType.h
    M lldb/include/lldb/Symbol/Type.h
    M lldb/include/lldb/Symbol/TypeSystem.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
    M lldb/source/Symbol/CompilerType.cpp
    M lldb/source/Symbol/Type.cpp
    M lldb/source/Symbol/TypeSystem.cpp
    M lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp

  Log Message:
  -----------
  [PAC][lldb][Dwarf] Support `__ptrauth`-qualified types in user expressions (#84387)

Depends on #84384 and #90329

This adds support for `DW_TAG_LLVM_ptrauth_type` entries corresponding
to explicitly signed types (e.g. free function pointers) in lldb user
expressions. Applies PR https://github.com/apple/llvm-project/pull/8239
from Apple's downstream and also adds tests and related code.

---------

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


  Commit: f78949a07e33017a798c410a102c95455685a9b1
      https://github.com/llvm/llvm-project/commit/f78949a07e33017a798c410a102c95455685a9b1
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

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

  Log Message:
  -----------
  [NFC][Clang] Add FIXME comment to the workaround for issue #89774


  Commit: 7ac1fb01e9b70d09e6c4f39414bcd7c93787ef91
      https://github.com/llvm/llvm-project/commit/7ac1fb01e9b70d09e6c4f39414bcd7c93787ef91
  Author: Christian Sigg <chsigg at users.noreply.github.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M llvm/include/llvm/ADT/TypeSwitch.h
    M mlir/include/mlir/IR/Attributes.h
    M mlir/include/mlir/IR/Location.h
    M mlir/include/mlir/IR/Types.h
    M mlir/include/mlir/Tools/PDLL/AST/Types.h

  Log Message:
  -----------
  [mlir] Mark `isa/dyn_cast/cast/...` member functions deprecated. (#90413)

This also removes the member overload in TypeSwitch.

All other users have been removed in
fac349a169976f822fb27f03e623fa0d28aec1f3 and
bd9fdce69b4c4cdb572e715c5f453aaf9b77b83a.


  Commit: b2b463bd8f6b21f040b80c4493682cf74f8dced5
      https://github.com/llvm/llvm-project/commit/b2b463bd8f6b21f040b80c4493682cf74f8dced5
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/lib/Serialization/ASTWriter.cpp
    A clang/test/Modules/force-transitive-changes.cppm
    M clang/test/Modules/no-transitive-source-location-change.cppm

  Log Message:
  -----------
  [C++20] [Modules] Add signature to the BMI recording export imported
modules

After https://github.com/llvm/llvm-project/pull/86912,
for the following example,

```
export module A;
export import B;
```

The generated BMI of `A` won't change if the source location in `A`
changes. Further, we plan avoid more such changes.

However, it is slightly problematic since `export import` should
propagate all the changes.

So this patch adds a signature to the BMI of C++20 modules so that we
can propagate the changes correctly.


  Commit: fce0916969218fdb4b89ad0b3e18599204d4138d
      https://github.com/llvm/llvm-project/commit/fce0916969218fdb4b89ad0b3e18599204d4138d
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Serialization/GeneratePCH.cpp
    M clang/test/Modules/pr67893.cppm
    M clang/test/Modules/search-partitions.cpp

  Log Message:
  -----------
  [NFC] [C++20] [Modules] Use new class CXX20ModulesGenerator to genera… (#90570)

…te module file for C++20 modules instead of PCHGenerator

Previously we're re-using PCHGenerator to generate the module file for
C++20 modules. But this is slighty more or less odd. This patch tries to
use a new class 'CXX20ModulesGenerator' to generate the module file for
C++20 modules.


  Commit: 21f8cedc4aa542f628035cd5dafd2d2529eb4397
      https://github.com/llvm/llvm-project/commit/21f8cedc4aa542f628035cd5dafd2d2529eb4397
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M flang/test/Transforms/debug-fn-info.f90

  Log Message:
  -----------
  [flang] Fix debug-fn-info.f90 test

91a8cb781dbc981356207e0c3608d92ed6d26042 was originally written
before 8d5386669ed63548daf1bee415596582d6d78d7d landed. The latter
changed how main is emitted which changed the numbering of the
suprograms in the test output.

To fix this I've added a check for the new _QQmain and renumbered
the existing checks.


  Commit: 10aab63c9cb49d3ddfbe2cf8992de433efeef6f1
      https://github.com/llvm/llvm-project/commit/10aab63c9cb49d3ddfbe2cf8992de433efeef6f1
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M clang/test/Modules/no-transitive-source-location-change.cppm

  Log Message:
  -----------
  [NFC] [tests] Don't try to remove and create the same directory

In the test of
clang/test/Modules/no-transitive-source-location-change.cppm, there were
reports about invalid directory names in windows. The reason may be that
we may remove and create the same directory. This patch tries to avoid
such patterns for that.


  Commit: f73e87f53f5d8a86c29251dedc9dbd264179203a
      https://github.com/llvm/llvm-project/commit/f73e87f53f5d8a86c29251dedc9dbd264179203a
  Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/DeclSpec.cpp
    M clang/test/Parser/altivec.c
    M clang/test/Parser/cxx-altivec.cpp
    M clang/test/Sema/zvector.c
    M clang/test/Sema/zvector2.c

  Log Message:
  -----------
  [Clang][Sema] Do not accept "vector _Complex" for AltiVec/ZVector (#90467)

The AltiVec (POWER) and ZVector (IBM Z) language extensions do not
support using the "vector" keyword when the element type is a complex
type, but current code does not verify this.

Add a Sema check and diagnostic for this case.

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


  Commit: 62dea99a7d7df9daedbb86133f3d46699cd2728d
      https://github.com/llvm/llvm-project/commit/62dea99a7d7df9daedbb86133f3d46699cd2728d
  Author: David Stuttard <david.stuttard at amd.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.msaa.load.ll

  Log Message:
  -----------
  [AMDGPU] Fix gfx12 waitcnt type for image_msaa_load (#90201)

image_msaa_load is actually encoded as a VSAMPLE instruction and
requires the appropriate waitcnt variant.


  Commit: fb2d3056618e3d03ba9a695627c7b002458e59f0
      https://github.com/llvm/llvm-project/commit/fb2d3056618e3d03ba9a695627c7b002458e59f0
  Author: Danial Klimkin <dklimkin at google.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M clang/test/CodeGenCoroutines/coro-elide-thinlto.cpp

  Log Message:
  -----------
  Fix output in coro-elide-thinlto.cpp (#90579)

Current dir can be read-only. Use a temp path instead.


  Commit: f10685f3e606e9e50906d9bf4e302a4281664152
      https://github.com/llvm/llvm-project/commit/f10685f3e606e9e50906d9bf4e302a4281664152
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

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

  Log Message:
  -----------
  [X86] lowerAtomicArith - use DAG::getNegative() helper. NFC.


  Commit: 0061616770c15b334c4ad1703a1a2502b6cd4485
      https://github.com/llvm/llvm-project/commit/0061616770c15b334c4ad1703a1a2502b6cd4485
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

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

  Log Message:
  -----------
  [X86] combinePredicateReduction - use DAG::getNegative() helper. NFC.


  Commit: 3fca9d71447b7d3536e912d73ffd56a351e10bce
      https://github.com/llvm/llvm-project/commit/3fca9d71447b7d3536e912d73ffd56a351e10bce
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

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

  Log Message:
  -----------
  [X86] combineMul - use DAG::getNegative() helper. NFC.


  Commit: 066dc1e05b8c5feca1f3957a10edc492705a5db2
      https://github.com/llvm/llvm-project/commit/066dc1e05b8c5feca1f3957a10edc492705a5db2
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

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

  Log Message:
  -----------
  [X86] combineMulToPMADDWD/combineMulToPMULDQ/reduceVMULWidth - pull out repeated SDLoc(). NFC.


  Commit: 2cb97c7e29029dc552c66b3ddf6030d826538d47
      https://github.com/llvm/llvm-project/commit/2cb97c7e29029dc552c66b3ddf6030d826538d47
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

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

  Log Message:
  -----------
  [X86] Add TODO for getTargetConstantFromBasePtr to support non-zero offsets.

As noted on #66991 - we sometimes share vector constant pool entries, referencing subvectors within them via pointer offsets


  Commit: 34c89eff64cce7debb8e2d5a0d1c4d896a23e432
      https://github.com/llvm/llvm-project/commit/34c89eff64cce7debb8e2d5a0d1c4d896a23e432
  Author: Monad <yanwqmonad at gmail.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/test/Transforms/InstCombine/trunc.ll

  Log Message:
  -----------
  [InstCombine] Fold `trunc nuw/nsw (x xor y) to i1` to `x != y` (#90408)

Fold:
``` llvm
define i1 @src(i8 %x, i8 %y) {
  %xor = xor i8 %x, %y
  %r = trunc nuw/nsw i8 %xor to i1
  ret i1 %r
}

define i1 @tgt(i8 %x, i8 %y) {
  %r = icmp ne i8 %x, %y
  ret i1 %r
}
```

Proof: https://alive2.llvm.org/ce/z/dcuHmn


  Commit: 66e1d2c96a194f572be5b373705f493b1a4dc811
      https://github.com/llvm/llvm-project/commit/66e1d2c96a194f572be5b373705f493b1a4dc811
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

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

  Log Message:
  -----------
  [NFC][LLVM][SVE] Simplify isel for BSL and NBSL. (#90233)


  Commit: 7faf34307ea974886a10d8d06352a67cdeaf1c23
      https://github.com/llvm/llvm-project/commit/7faf34307ea974886a10d8d06352a67cdeaf1c23
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

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

  Log Message:
  -----------
  [RISCV] Remove -riscv-insert-vsetvl-strict-asserts flag (#90171)

This flag has been enabled by default for almost two years now since
1f06398e96d4508d22f42b760f70eb5d4e7b1dc9, and at this stage we probably
shouldn't be falling back to the fixups.

This removes the flag so we always perform the assertion, as well as
making sure that CurInfo is always valid on exit: We shouldn't leave
emitVSETVLIs with an uninitialized VSETVLIInfo.


  Commit: 2f9462e9e4f2b2b493673c39d4ad665175eb0b59
      https://github.com/llvm/llvm-project/commit/2f9462e9e4f2b2b493673c39d4ad665175eb0b59
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/Opcodes.td
    M clang/test/AST/Interp/opencl.cl

  Log Message:
  -----------
  [clang][Interp] Fix initializing vectors from a list of other vectors


  Commit: af5d41e0caf22536fbfb6e65aa10eff78118c822
      https://github.com/llvm/llvm-project/commit/af5d41e0caf22536fbfb6e65aa10eff78118c822
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/test/CodeGenCXX/mangle-ms-vector-types.cpp

  Log Message:
  -----------
  [clang][Interp] Support CXXScalarValueInitExprs of vector type


  Commit: 6fab3f2a2b04048aaa7d76d067f6cd4704bb4002
      https://github.com/llvm/llvm-project/commit/6fab3f2a2b04048aaa7d76d067f6cd4704bb4002
  Author: yronglin <yronglin777 at gmail.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M clang/www/cxx_status.html

  Log Message:
  -----------
  [NFC][Clang] Update P2718R0 implementation status to partial supported (#90577)

Once https://github.com/llvm/llvm-project/issues/85613 fixed, we can
mark this feature fully supported.

Signed-off-by: yronglin <yronglin777 at gmail.com>


  Commit: f3ac55fab8c30e71987120f76da70b5b6e9075f7
      https://github.com/llvm/llvm-project/commit/f3ac55fab8c30e71987120f76da70b5b6e9075f7
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M llvm/lib/LTO/LTOCodeGenerator.cpp
    M llvm/test/tools/lto/discard-value-names.ll

  Log Message:
  -----------
  [LTO] Reset DiscardValueNames in optimize(). (#78705)

libLTO parses options late, so at the moment the option is ignored. To
fix that, re-set it in optimize(), as at this point the options have been
parsed. When LTOCodeGenerator's constructor executes, the options
haven't been parsed by the linker to libLTO yet.

Note that we keep the value name of `%add = add..` because when the
module is imported, DiscardValueNames is still set to false (the default
when building with assertions).

I tried to improve this in libLTO, but I am not sure if there's a
suitable callback when all options have been set.

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


  Commit: bb95f5df732d9188b27c7cd34814ead8b2c4d4ce
      https://github.com/llvm/llvm-project/commit/bb95f5df732d9188b27c7cd34814ead8b2c4d4ce
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
    M clang/test/AST/Interp/cxx23.cpp

  Log Message:
  -----------
  [clang][Interp] Visit LabelStmt sub statements


  Commit: 5cd074fa57c2a22312f479a9529c0eac10013043
      https://github.com/llvm/llvm-project/commit/5cd074fa57c2a22312f479a9529c0eac10013043
  Author: Maya Amrami <62667278+amrami at users.noreply.github.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/test/Dialect/MemRef/resolve-dim-ops.mlir

  Log Message:
  -----------
  [mlir] Add ReifyRankedShapedTypeOpInterface to tosa::TransposeOp (#88890)


  Commit: 82219e547bf42102a913fc6d5e3e81c3c888e5d6
      https://github.com/llvm/llvm-project/commit/82219e547bf42102a913fc6d5e3e81c3c888e5d6
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/test/Analysis/LoopAccessAnalysis/different-strides-safe-dep-due-to-backedge-taken-count.ll

  Log Message:
  -----------
  [LAA] Pass maximum stride to isSafeDependenceDistance. (#90036)

As discussed in https://github.com/llvm/llvm-project/pull/88039, support
different strides with isSafeDependenceDistance by passing the maximum
of both strides.

isSafeDependenceDistance tries to prove that
    |Dist| > BackedgeTakenCount * Step
holds. Chosing the maximum stride computes the maximum range accesed by
the loop for all strides.

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


  Commit: 5e03c0af4745b97f93c06b43e0f2a02abc881292
      https://github.com/llvm/llvm-project/commit/5e03c0af4745b97f93c06b43e0f2a02abc881292
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/RISCV/rvv/pr90559.ll

  Log Message:
  -----------
  [DAGCombiner] Fix mayAlias not accounting for scalable MMOs with offsets (#90573)

In #70452 DAGCombiner::mayAlias was taught to handle scalable sizes, but
when it checks via AA->isNoAlias it didn't take into account the case
where the size is scalable but there was an offset too.

For the fixed length case the offset was just accounted for by adding to
the LocationSize, but for the scalable case there doesn't seem to be a
way to represent both a scalable and fixed part in it. So this patch
works around it by bailing if there is an offset.

Fixes #90559


  Commit: 61b2a0e3336aaa0132bbed06dc185aca4ff5d2db
      https://github.com/llvm/llvm-project/commit/61b2a0e3336aaa0132bbed06dc185aca4ff5d2db
  Author: Tomas Matheson <Tomas.Matheson at arm.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/ARM/ARMFeatures.td
    M llvm/utils/TableGen/ARMTargetDefEmitter.cpp

  Log Message:
  -----------
  [AArch64][TargetParser] autogen ArchExtKind enum (#90314)

Thanks to ExtensionSet::toLLVMFeatureList, all values of ArchExtKind
should correspond to a particular -target-feature. The valid values of
-target-feature are in turn defined by SubtargetFeature defs.

Therefore we can generate ArchExtKind from the tablegen data. This is
done by adding an Extension class which derives from SubtargetFeature.

Because the Has* FieldNames do not always correspond to the AEK_
names ("extensions", as defined in TargetParser), and AEK_ names do
not always correspond to -march strings, some additional enum entries
have been added to remap the names. I have renamed these to make the
naming consistent, but split them into a separate PR to keep the diff
reasonable (#90320)


  Commit: 1c17252cf049e318695b94a7e8a1c7343452e8bf
      https://github.com/llvm/llvm-project/commit/1c17252cf049e318695b94a7e8a1c7343452e8bf
  Author: Maxim Moskalets <89240935+maxmosk at users.noreply.github.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M clang/include/clang/Tooling/CommonOptionsParser.h

  Log Message:
  -----------
  [NFC] Update comment in CommonOptionsParser to match documentation (#90441)

See https://clang.llvm.org/docs/LibTooling.html


  Commit: e50a857fb16bcfe7cfc99bf87db620bc82d1cff5
      https://github.com/llvm/llvm-project/commit/e50a857fb16bcfe7cfc99bf87db620bc82d1cff5
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/test/Misc/target-invalid-cpu-note.c
    M clang/test/Preprocessor/aarch64-target-features.c
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/lib/Target/AArch64/AArch64Processors.td
    M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
    M llvm/lib/TargetParser/Host.cpp
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  [AArch64] Add support for Cortex-R82AE and improve Cortex-R82 (#90440)


  Commit: adabdc12f995b0af74c866201899e738796d0d5e
      https://github.com/llvm/llvm-project/commit/adabdc12f995b0af74c866201899e738796d0d5e
  Author: Jan Voung <jvoung at gmail.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/test/Assembler/thinlto-summary.ll
    M llvm/test/Bitcode/summary_version.ll
    M llvm/test/Bitcode/thinlto-alias.ll
    M llvm/test/Bitcode/thinlto-func-summary-vtableref-pgo.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-partial-sample-profile-summary.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-pgo.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph.ll
    M llvm/test/Bitcode/thinlto-function-summary-originalnames.ll
    M llvm/test/Bitcode/thinlto-function-summary-paramaccess.ll
    M llvm/test/ThinLTO/X86/distributed_indexes.ll
    M llvm/test/tools/llvm-lto/thinlto.ll

  Log Message:
  -----------
  Use an abbrev to reduce size of VALUE_GUID records in ThinLTO summaries (#90497)

GUID often have content in the higher bits of a 64-bit entry so using
the unabbrev encoding is inefficient (lots of VBR control bits).
Instead, use an abbrev with two 32-bit fixed width chunks.
The abbrev also helps encode the "count" in one place instead of
in every record.

Reduces size of distributed backend summary files by 8.7% in one
example app.

Co-authored-by: Jan Voung <jvoung at google.com>


  Commit: e4c0f4a2ecaf0f9d0a80f57a028bb7bdbe74a7e3
      https://github.com/llvm/llvm-project/commit/e4c0f4a2ecaf0f9d0a80f57a028bb7bdbe74a7e3
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp

  Log Message:
  -----------
  [NFC] fix typo in clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp (#90606)


  Commit: 7ae32bf7581e03d92c78346a72ea20798520b978
      https://github.com/llvm/llvm-project/commit/7ae32bf7581e03d92c78346a72ea20798520b978
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/decorators.py

  Log Message:
  -----------
  [lldb] Fixed SyntaxWarning invalid escape sequence '\s' in decorators.py (#90607)


  Commit: 35e6bae62c8effa364ded79cc3b0bb988ea88998
      https://github.com/llvm/llvm-project/commit/35e6bae62c8effa364ded79cc3b0bb988ea88998
  Author: Tomas Matheson <tomas.matheson at arm.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/ARM/ARMFeatures.td
    M llvm/utils/TableGen/ARMTargetDefEmitter.cpp

  Log Message:
  -----------
  Revert "[AArch64][TargetParser] autogen ArchExtKind enum (#90314)"

This reverts commit 61b2a0e3336aaa0132bbed06dc185aca4ff5d2db.

Reason: AArch64TargetParserDef.inc not found while building clang


  Commit: b60a2b931d68b9e119d6e2e6e17126937a646ff9
      https://github.com/llvm/llvm-project/commit/b60a2b931d68b9e119d6e2e6e17126937a646ff9
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

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

  Log Message:
  -----------
  [gn] port 975eca0e6a3 (-gen-lldb-sbapi-dwarf-enum)


  Commit: 2aabfc811670beb843074c765c056fff4a7b443b
      https://github.com/llvm/llvm-project/commit/2aabfc811670beb843074c765c056fff4a7b443b
  Author: Jan Voung <jvoung at gmail.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/test/Assembler/thinlto-summary.ll
    M llvm/test/Bitcode/summary_version.ll
    M llvm/test/Bitcode/thinlto-alias.ll
    M llvm/test/Bitcode/thinlto-func-summary-vtableref-pgo.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-partial-sample-profile-summary.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-pgo.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph.ll
    M llvm/test/Bitcode/thinlto-function-summary-originalnames.ll
    M llvm/test/Bitcode/thinlto-function-summary-paramaccess.ll
    M llvm/test/ThinLTO/X86/distributed_indexes.ll
    M llvm/test/tools/llvm-lto/thinlto.ll

  Log Message:
  -----------
  Revert "Use an abbrev to reduce size of VALUE_GUID records in ThinLTO summaries" (#90610)

Reverts llvm/llvm-project#90497
Broke some LLD tests.


  Commit: c106abfe9f3d3ed78a946009f7625088f28e9065
      https://github.com/llvm/llvm-project/commit/c106abfe9f3d3ed78a946009f7625088f28e9065
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/lldbtest.py

  Log Message:
  -----------
  [lldb] Fixed SyntaxWarning invalid escape sequence '\l' in lldbtest.py (#90609)


  Commit: c12bc57e23f8c37380ac25e774a60a684fce7bd3
      https://github.com/llvm/llvm-project/commit/c12bc57e23f8c37380ac25e774a60a684fce7bd3
  Author: Eleanor Bonnici <eleanor.bonnici at arm.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.h
    M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
    M llvm/lib/Target/ARM/ARMFrameLowering.cpp
    M llvm/lib/Target/ARM/ARMInstrInfo.td
    M llvm/lib/Target/ARM/ARMPredicates.td
    M llvm/lib/Target/ARM/ARMRegisterBankInfo.cpp
    M llvm/lib/Target/ARM/ARMRegisterInfo.td
    M llvm/lib/Target/ARM/Thumb1FrameLowering.cpp
    A llvm/test/CodeGen/ARM/pacbti-indirect-tail-calls-function-flags.ll
    A llvm/test/CodeGen/ARM/pacbti-indirect-tail-calls-module-flags1.ll
    A llvm/test/CodeGen/ARM/pacbti-indirect-tail-calls-module-flags2.ll

  Log Message:
  -----------
  Do not use R12 for indirect tail calls with PACBTI (#82661)

When compiling for thumbv8.1m with +pacbti and making an indirect tail
call, the compiler was free to put the function pointer into R12.

This is incorrect because R12 is restored to contain authentication code
for the caller's return address.

This patch excludes R12 from the set of registers the compiler can put
the function pointer in.

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


  Commit: d333a0de6829616427182b26923b14d779ce1dbb
      https://github.com/llvm/llvm-project/commit/d333a0de6829616427182b26923b14d779ce1dbb
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M clang/include/clang/Basic/SourceLocation.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/Serialization/ModuleFile.h
    M clang/include/clang/Serialization/SourceLocationEncoding.h
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/lib/Serialization/ModuleFile.cpp
    R clang/test/Modules/no-transitive-source-location-change.cppm
    M clang/test/Modules/pr61067.cppm
    M clang/unittests/Serialization/SourceLocationEncodingTest.cpp

  Log Message:
  -----------
  Revert "[Modules] No transitive source location change (#86912)"

This reverts commit 6c3110464bac3600685af9650269b0b2b8669d34.

Required by the post commit comments: https://github.com/llvm/llvm-project/pull/86912


  Commit: 8d28e5861f8b117a547850ffbb9a332aa6e91459
      https://github.com/llvm/llvm-project/commit/8d28e5861f8b117a547850ffbb9a332aa6e91459
  Author: WANG Rui <wangrui at loongson.cn>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

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

  Log Message:
  -----------
  [LoongArch] Apply clang formatting to LoongArch target. NFC


  Commit: a7b968a57834a0e522505b56fab0ca4b979cb68f
      https://github.com/llvm/llvm-project/commit/a7b968a57834a0e522505b56fab0ca4b979cb68f
  Author: Alexandre Eichenberger <alexe at us.ibm.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
    M mlir/test/Dialect/MemRef/normalize-memrefs-ops.mlir

  Log Message:
  -----------
  Adding memref normalization of affine.prefetch (#89675)

Added support for memref-normalization for prefetch.

Signed-off-by: Alexandre Eichenberger <alexe at us.ibm.com>


  Commit: ea81dafd52471db64ed31b4fabb11ee762528066
      https://github.com/llvm/llvm-project/commit/ea81dafd52471db64ed31b4fabb11ee762528066
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

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

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


  Commit: 622ec1f029b4ba0ac211a2da5abe593846a109f6
      https://github.com/llvm/llvm-project/commit/622ec1f029b4ba0ac211a2da5abe593846a109f6
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

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

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


  Commit: 6c32a1fdf712e58a324fc0f6e3dfc83ed7d56b1e
      https://github.com/llvm/llvm-project/commit/6c32a1fdf712e58a324fc0f6e3dfc83ed7d56b1e
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrFP.td
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
    M llvm/lib/Target/SystemZ/SystemZInstrVector.td
    M llvm/lib/Target/SystemZ/SystemZOperators.td
    M llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp
    M llvm/test/CodeGen/SystemZ/anyregcc.ll
    A llvm/test/CodeGen/SystemZ/foldmem-peep.mir
    M llvm/test/CodeGen/SystemZ/fp-add-01.ll
    M llvm/test/CodeGen/SystemZ/fp-add-02.ll
    M llvm/test/CodeGen/SystemZ/fp-mul-01.ll
    M llvm/test/CodeGen/SystemZ/fp-mul-03.ll
    M llvm/test/CodeGen/SystemZ/fp-sub-01.ll
    M llvm/test/CodeGen/SystemZ/fp-sub-02.ll
    A llvm/test/CodeGen/SystemZ/machine-combiner-reassoc-fp.ll
    M llvm/test/CodeGen/SystemZ/stackmap.ll

  Log Message:
  -----------
  [SystemZ] Enable MachineCombiner for FP reassociation (#83546)

Enable MachineCombining for FP add, sub and mul.

In order for this to work, the default instruction selection of reg/mem opcodes is disabled for ISD nodes that carry the flags that allow reassociation. The reg/mem folding is instead done after MachineCombiner by PeepholeOptimizer. SystemZInstrInfo optimizeLoadInstr() and foldMemoryOperandImpl() ("LoadMI version") have been implemented for this purpose also by this patch.


  Commit: 1b942ae3843ca943a249288612e69df0b2fc188b
      https://github.com/llvm/llvm-project/commit/1b942ae3843ca943a249288612e69df0b2fc188b
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M llvm/lib/TargetParser/RISCVISAInfo.cpp

  Log Message:
  -----------
  [RISCV] Use consume_front to parse rv32/rv64 in RISCVISAInfo::parse*ArchString. NFC (#90562)

This replaces some starts_with calls wth consume_front. This allows us
to remove a later assumption that prefix was 4 characters. We would
eventually need to fix this anyway if we ever support rv128.

Noticed while reviewing the RISCVISAInfo code for other reasons.


  Commit: f815d1f71f644a6cfd2c22bf7898a1034be235ad
      https://github.com/llvm/llvm-project/commit/f815d1f71f644a6cfd2c22bf7898a1034be235ad
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M flang/lib/Lower/Bridge.cpp
    M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf

  Log Message:
  -----------
  [flang][cuda] Fix iv store in cuf kernel (#90551)

Store of the current induction value to the user IV was not placed
correctly in the body of the cuf kernel.

@ImanHosseini


  Commit: a9c73f66ce96421ba1e8952950d6df74e9043589
      https://github.com/llvm/llvm-project/commit/a9c73f66ce96421ba1e8952950d6df74e9043589
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/test/Fir/cuf.mlir

  Log Message:
  -----------
  [flang][cuda] Add fir.cuda_alloc/fir.cuda_free operations (#90525)

This patch introduces fir.cuda_alloc/fir.cuda_free. These operations
will be used instead of fir.alloca for local CUDA device, managed and
unified variables.


  Commit: 114a59d4d3743257d7cfdf94a7124060f04cc0db
      https://github.com/llvm/llvm-project/commit/114a59d4d3743257d7cfdf94a7124060f04cc0db
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

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

  Log Message:
  -----------
  MachineLICM: Remove unnecessary isReg checks

COPY operands are always registers.


  Commit: cc6113da826e82f19762eb813e6d932fcef09593
      https://github.com/llvm/llvm-project/commit/cc6113da826e82f19762eb813e6d932fcef09593
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M clang/include/clang/AST/OpenACCClause.h
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/StmtPrinter.cpp
    A clang/test/AST/ast-print-openacc-compute-construct.cpp

  Log Message:
  -----------
  [OpenACC] Fix ast-print for OpenACC Clauses

Previously we weren't printing expressions correctly, so this patch adds
a test to ensure we do, and fixes how expressions are printed.


  Commit: 721c31e3bd37c00bff96e14e784e8d28e9a2b8ba
      https://github.com/llvm/llvm-project/commit/721c31e3bd37c00bff96e14e784e8d28e9a2b8ba
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M bolt/lib/Passes/ValidateMemRefs.cpp
    R bolt/test/X86/jt-symbol-disambiguation-4.s

  Log Message:
  -----------
  Revert "[BOLT] Avoid reference updates for non-JT symbol operands (#88838)"

This reverts commit 9d5411ffba0d94b60050cc873773935addca9533.

Breaks aarch64 buildbot:
https://lab.llvm.org/buildbot/#/builders/221/builds/22130


  Commit: d97f25b948554717a163b28dae3cf982a03434ca
      https://github.com/llvm/llvm-project/commit/d97f25b948554717a163b28dae3cf982a03434ca
  Author: Scott Egerton <9487234+ScottEgerton at users.noreply.github.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInsertSingleUseVDST.cpp
    M llvm/test/CodeGen/AMDGPU/insert-singleuse-vdst.mir

  Log Message:
  -----------
  [AMPGPU] Emit s_singleuse_vdst instructions when a register is used multiple times in the same instruction. (#89601)

Previously, multiple uses of a register within the same instruction were
being counted as multiple uses. This has been corrected to
only count as a single use as per the specification allowing for
more optimisation candidates.


  Commit: 5ada3289b107742929f2605aa4b2e3e903d4a690
      https://github.com/llvm/llvm-project/commit/5ada3289b107742929f2605aa4b2e3e903d4a690
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    A flang/test/Lower/OpenMP/Todo/reduction-array-intrinsic.f90

  Log Message:
  -----------
  [flang][OpenMP] ensure we hit the TODO for intrinsic array reduction (#90593)

Before this patch we crashed lowering intrinsic array reductions.

I think this lost during a rebase. I've added a test to make sure it
doesn't break again.

Also fixed the TODO message to be more accurate.


  Commit: df513f86da13822ed4f99bebd2ac93e53b8b6e0d
      https://github.com/llvm/llvm-project/commit/df513f86da13822ed4f99bebd2ac93e53b8b6e0d
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.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] Adapt PolymorphicOpConversion to run on all top level ops (#90597)

We might use polymorphic ops in top-level operations other than
functions some time in the future. We need to ensure that these
operations can be lowered.

See RFC:

https://discourse.llvm.org/t/rfc-add-an-interface-for-top-level-container-operations

Some of the changes are from moving declaration and definition of the
constructor function into tablegen (as requested in code review when
altering another pass).


  Commit: 539f626ecd0c5148228fb6d2eda6228b4f2b2fca
      https://github.com/llvm/llvm-project/commit/539f626ecd0c5148228fb6d2eda6228b4f2b2fca
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/IR/VPIntrinsics.def
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.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/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    A llvm/test/CodeGen/RISCV/rvv/vp-cttz-elts.ll

  Log Message:
  -----------
  [VP][RISCV] Add vp.cttz.elts intrinsic and its RISC-V codegen (#90502)

This intrinsic is the VP version of `experimental.cttz.elts`.


  Commit: 97069a86193a617a9e4cf742a29db6116b2bf449
      https://github.com/llvm/llvm-project/commit/97069a86193a617a9e4cf742a29db6116b2bf449
  Author: Gaurav Shukla <gaurav at nod-labs.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Arith/Utils/Utils.h
    M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
    M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
    M mlir/include/mlir/Dialect/Utils/ReshapeOpsUtils.h
    M mlir/include/mlir/Dialect/Utils/StaticValueUtils.h
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/lib/Dialect/Arith/Utils/CMakeLists.txt
    M mlir/lib/Dialect/Arith/Utils/Utils.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ConvertConv2DToImg2Col.cpp
    M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
    M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
    M mlir/lib/Dialect/Linalg/Transforms/SplitReduction.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
    M mlir/lib/Dialect/Tensor/Transforms/PackAndUnpackPatterns.cpp
    M mlir/lib/Dialect/Utils/ReshapeOpsUtils.cpp
    M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
    M mlir/test/Conversion/MemRefToLLVM/expand-then-convert-to-llvm.mlir
    M mlir/test/Conversion/MemRefToLLVM/memref-to-llvm.mlir
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
    M mlir/test/Conversion/TosaToTensor/tosa-to-tensor.mlir
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-empty-tensor-elimination.mlir
    M mlir/test/Dialect/Linalg/bubble-up-extract-slice-op.mlir
    M mlir/test/Dialect/Linalg/collapse-dim.mlir
    M mlir/test/Dialect/Linalg/convert-conv2d-to-img2col.mlir
    M mlir/test/Dialect/Linalg/data-layout-propagation.mlir
    M mlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir
    M mlir/test/Dialect/Linalg/flatten-elementwise.mlir
    M mlir/test/Dialect/Linalg/fuse-with-reshape-by-collapsing.mlir
    M mlir/test/Dialect/Linalg/fusion-push-reshape.mlir
    M mlir/test/Dialect/Linalg/reshape_control_fusion.mlir
    M mlir/test/Dialect/Linalg/reshape_fusion.mlir
    M mlir/test/Dialect/Linalg/resolve-shaped-type-result-dims.mlir
    M mlir/test/Dialect/Linalg/transform-op-split-reduction.mlir
    M mlir/test/Dialect/Linalg/vectorization-with-patterns.mlir
    M mlir/test/Dialect/MemRef/canonicalize.mlir
    M mlir/test/Dialect/MemRef/expand-strided-metadata.mlir
    M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
    M mlir/test/Dialect/MemRef/invalid.mlir
    M mlir/test/Dialect/MemRef/ops.mlir
    M mlir/test/Dialect/MemRef/runtime-verification.mlir
    M mlir/test/Dialect/SparseTensor/sparse_reshape.mlir
    M mlir/test/Dialect/Tensor/bufferize.mlir
    M mlir/test/Dialect/Tensor/canonicalize.mlir
    M mlir/test/Dialect/Tensor/fold-empty-op.mlir
    M mlir/test/Dialect/Tensor/fold-reassociative-reshapes.mlir
    M mlir/test/Dialect/Tensor/invalid.mlir
    M mlir/test/Dialect/Tensor/ops.mlir
    M mlir/test/Dialect/Tensor/simplify-pack-unpack.mlir
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [MLIR] Generalize expand_shape to take shape as explicit input (#90040)

This patch generalizes tensor.expand_shape and memref.expand_shape to
consume the output shape as a list of SSA values. This enables us to
implement generic reshape operations with dynamic shapes using
collapse_shape/expand_shape pairs.

The output_shape input to expand_shape follows the static/dynamic
representation that's also used in `tensor.extract_slice`.

Differential Revision: https://reviews.llvm.org/D140821

---------

Signed-off-by: Gaurav Shukla<gaurav.shukla at amd.com>
Signed-off-by: Gaurav Shukla <gaurav.shukla at amd.com>
Co-authored-by: Ramiro Leal-Cavazos <ramiroleal050 at gmail.com>


  Commit: e9305fcf1b4a901f9424388137cecff120a4b303
      https://github.com/llvm/llvm-project/commit/e9305fcf1b4a901f9424388137cecff120a4b303
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

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

  Log Message:
  -----------
  [X86] combineAnd/combineAddOrSub - use DAG::getNegative() helper. NFC.


  Commit: 38c68e0746dc4ee19480dd4c9ee572895eb07136
      https://github.com/llvm/llvm-project/commit/38c68e0746dc4ee19480dd4c9ee572895eb07136
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    A llvm/test/CodeGen/X86/cmp16.ll

  Log Message:
  -----------
  [X86] Add icmp i16 test coverage

Based off #90355 - add basic tests for cases when to extend i16 comparisons to i32


  Commit: 91c52b966a09e37a96ed87bcf5b422de7711bf50
      https://github.com/llvm/llvm-project/commit/91c52b966a09e37a96ed87bcf5b422de7711bf50
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

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

  Log Message:
  -----------
  [DAG] Pull out repeated SDLoc() from SHL/SRL/SRA combines. NFC.

We were always calling SDLoc(N) at the top of each visitSHL/SRL/SRA for the FoldConstantArithmetic call, so just reuse this as much as possible.


  Commit: fbe8d2a22189233590b15dad62c881a60c74b201
      https://github.com/llvm/llvm-project/commit/fbe8d2a22189233590b15dad62c881a60c74b201
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M flang/include/flang/Tools/CrossToolHelpers.h

  Log Message:
  -----------
  [flang][OpenMP] Implement getOpenMPVersionAttribute helper function, NFC (#90086)


  Commit: 554be97d7f7f462ab4b8af34f79bca71f4c98977
      https://github.com/llvm/llvm-project/commit/554be97d7f7f462ab4b8af34f79bca71f4c98977
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Lower/OpenMP/Utils.h

  Log Message:
  -----------
  [flang][OpenMP] Implement getIterationVariableSymbol helper function,… (#90087)

… NFC


  Commit: 33ccd037fcd2b4346065ebcdcbb5d8c1887c2639
      https://github.com/llvm/llvm-project/commit/33ccd037fcd2b4346065ebcdcbb5d8c1887c2639
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp

  Log Message:
  -----------
  [flang][OpenMP] Pass symTable to all genXYZ functions, NFC (#90090)

This will unify the interface a bit more.


  Commit: 4631e7bad6984beca9f790d01d7e07dd47d407bb
      https://github.com/llvm/llvm-project/commit/4631e7bad6984beca9f790d01d7e07dd47d407bb
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M llvm/unittests/Frontend/OpenMPCompositionTest.cpp

  Log Message:
  -----------
  [Frontend][OpenMP] Add unit tests for getLeafConstructsOrSelf, NFC (#90110)


  Commit: 267329d7e0e7dc6cb6d59b7d71290d5e5f5c6be2
      https://github.com/llvm/llvm-project/commit/267329d7e0e7dc6cb6d59b7d71290d5e5f5c6be2
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

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

  Log Message:
  -----------
  [LegalizeDAG] Simplify interface to PromoteReduction. NFC

Return an SDValue instead of pushing to the Results vector. Let
the caller do the push.


  Commit: 6ab49fcbb237779042bfb7f5210321fe75f8f432
      https://github.com/llvm/llvm-project/commit/6ab49fcbb237779042bfb7f5210321fe75f8f432
  Author: Min Hsu <min.hsu at sifive.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M llvm/lib/IR/IntrinsicInst.cpp
    M llvm/unittests/IR/VPIntrinsicTest.cpp

  Log Message:
  -----------
  [VP] Fix unit test failures caused by #90502

Forgot to add vp.cttz.elts into the unittest. Also, I didn't specify the
positions of overloaded type parameters.


  Commit: 4cd11c986f78e19f53b3f3c92143b7b7c1ce54b1
      https://github.com/llvm/llvm-project/commit/4cd11c986f78e19f53b3f3c92143b7b7c1ce54b1
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M lldb/utils/lldb-dotest/lldb-dotest.in

  Log Message:
  -----------
  Thread '--lldb-obj-root' through lldb-dotest for manual testing


  Commit: dbe376651a830fb502ff26d89119d1b89da599bc
      https://github.com/llvm/llvm-project/commit/dbe376651a830fb502ff26d89119d1b89da599bc
  Author: Peiming Liu <peiming at google.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.h
    A mlir/test/Integration/Dialect/SparseTensor/CPU/padded_sparse_conv_2d.mlir

  Log Message:
  -----------
  [mlir][sparse] handle padding on sparse levels. (#90527)


  Commit: 30badf96bbaa5ddfd8049442e573fd270a89ddc8
      https://github.com/llvm/llvm-project/commit/30badf96bbaa5ddfd8049442e573fd270a89ddc8
  Author: Matthias Gehre <matthias.gehre at amd.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M mlir/lib/Dialect/Arith/Transforms/ExpandOps.cpp
    M mlir/test/Dialect/Arith/expand-ops.mlir

  Log Message:
  -----------
  [MLIR][Arith] expand-ops: Support mini/maxi (#90575)

Expand `arith.minsi`, `arith.minui`, `arith.maxsi`, `arith.maxui` into
`arith.cmpi` and `arith.select`.

---------

Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>


  Commit: 600cae7d421e6e280c6513510bb11b4dc7b16b48
      https://github.com/llvm/llvm-project/commit/600cae7d421e6e280c6513510bb11b4dc7b16b48
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [LangRef] Try to clarify mustprogress wording. (#90510)

Ensure it's clear that:

- Infinite loops in non-mustprogress functions are well-defined, even if
they're called by mustprogress functions.
- Infinite recursion in mustprogress functions is not well-defined.

Looking at D86233, it's clear this was the intent, but the "transitive"
wording is ambiguous. Instead, just explicitly state that infinite loops
written in non-mustprogress functions count as progress.


  Commit: 7dd4ce484c8913ced124f2f62ac4c3eaafa9ef5f
      https://github.com/llvm/llvm-project/commit/7dd4ce484c8913ced124f2f62ac4c3eaafa9ef5f
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M libc/src/__support/fixed_point/sqrt.h
    M libc/test/src/stdfix/ISqrtTest.h
    M libc/test/src/stdfix/SqrtTest.h
    M libc/test/src/stdfix/uksqrtui_test.cpp

  Log Message:
  -----------
  [libc][stdfix] Fix overflow problem for fixed point sqrt when the inputs are close to max. (#90558)

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


  Commit: 9af7f4061b0a8c5540ec544dab82d3f1b9531549
      https://github.com/llvm/llvm-project/commit/9af7f4061b0a8c5540ec544dab82d3f1b9531549
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx2c.rst
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/test/std/numerics/complex.number/complex.tuple/get.pass.cpp

  Log Message:
  -----------
  [libc++][NFC] Fixes a status page note and a minor copy & paste error in a test (#90399)

- Adds a status page note for P3142R0
- Fixes a copy & paste error in tuple protocol for `complex`


  Commit: a754ce04893fd2981b265a040f838fed85f53199
      https://github.com/llvm/llvm-project/commit/a754ce04893fd2981b265a040f838fed85f53199
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [LangRef] Fix build warning.


  Commit: f565b79f9fc278d37e884276212455920b51b47a
      https://github.com/llvm/llvm-project/commit/f565b79f9fc278d37e884276212455920b51b47a
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/include/llvm/Support/TypeSize.h
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVSubtarget.h
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-concat.ll

  Log Message:
  -----------
  [RISCV] Handle fixed length vectors with exact VLEN in lowerINSERT_SUBVECTOR (#84107)

This is the insert_subvector equivalent to #79949, where we can avoid
sliding up by the full LMUL amount if we know the exact subregister the
subvector will be inserted into.

This mirrors the lowerEXTRACT_SUBVECTOR changes in that we handle this
in two parts:

- We handle fixed length subvector types by converting the subvector to
a scalable vector. But unlike EXTRACT_SUBVECTOR, we may also need to
convert the vector being inserted into too.

- Whenever we don't need a vslideup because either the subvector fits
exactly into a vector register group *or* the vector is undef, we need
to emit an insert_subreg ourselves because RISCVISelDAGToDAG::Select
doesn't correctly handle fixed length subvectors yet: see d7a28f7ad

A subvector exactly fits into a vector register group if its size is a
known multiple of the size of a vector register, and this adds a new
overload for TypeSize::isKnownMultipleOf for scalable to scalable
comparisons to help reason about this.

I've left RISCVISelDAGToDAG::Select untouched for now (minus relaxing an
invariant), so that the insert_subvector and extract_subvector code
paths are the same.

We should teach it to properly handle fixed length subvectors in a
follow-up patch, so that the "exact subregsiter" logic is handled in one
place instead of being spread across both RISCVISelDAGToDAG.cpp and
RISCVISelLowering.cpp.


  Commit: f0cc3735217dd0da36ed14b65823bcb0d289fea6
      https://github.com/llvm/llvm-project/commit/f0cc3735217dd0da36ed14b65823bcb0d289fea6
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M llvm/lib/TargetParser/RISCVISAInfo.cpp

  Log Message:
  -----------
  [RISCV] Drop unnecessary curly braces in RISCVISAInfo:parse*ArchString. NFC


  Commit: 40083cf378e8c93165c5f9dd9d06611beca78f54
      https://github.com/llvm/llvm-project/commit/40083cf378e8c93165c5f9dd9d06611beca78f54
  Author: Alex Guteniev <gutenev at gmail.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M libcxx/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.float.pass.cpp
    M libcxx/test/std/strings/string.conversions/stol.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.arg/visit_format_arg.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.args/get.pass.cpp

  Log Message:
  -----------
  [libc++] Some tests are missing include for `numeric_limits` (#90345)

Noticed while attempting microsoft/STL#4634


  Commit: 7a8d15e919dde70118dbfa34e927be1705ded67d
      https://github.com/llvm/llvm-project/commit/7a8d15e919dde70118dbfa34e927be1705ded67d
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M lldb/docs/use/variable.rst
    M lldb/source/Core/FormatEntity.cpp
    A lldb/test/API/functionalities/data-formatter/custom-printf-summary/Makefile
    A lldb/test/API/functionalities/data-formatter/custom-printf-summary/TestCustomSummaryLLVMFormat.py
    A lldb/test/API/functionalities/data-formatter/custom-printf-summary/main.c

  Log Message:
  -----------
  [lldb] Support custom LLVM formatting for variables (#81196)

Adds support for applying LLVM formatting to variables.

The reason for this is to support cases such as the following.

Let's say you have two separate bytes that you want to print as a
combined hex value. Consider the following summary string:

```
${var.byte1%x}${var.byte2%x}
```

The output of this will be: `0x120x34`. That is, a `0x` prefix is
unconditionally applied to each byte. This is unlike printf formatting
where you must include the `0x` yourself.

Currently, there's no way to do this with summary strings, instead
you'll need a summary provider in python or c++.

This change introduces formatting support using LLVM's formatter system.
This allows users to achieve the desired custom formatting using:

```
${var.byte1:x-}${var.byte2:x-}
```

Here, each variable is suffixed with `:x-`. This is passed to the LLVM
formatter as `{0:x-}`. For integer values, `x` declares the output as
hex, and `-` declares that no `0x` prefix is to be used. Further, one
could write:

```
${var.byte1:x-2}${var.byte2:x-2}
```

Where the added `2` results in these bytes being written with a minimum
of 2 digits.

An alternative considered was to add a new format specifier that would
print hex values without the `0x` prefix. The reason that approach was
not taken is because in addition to forcing a `0x` prefix, hex values
are also forced to use leading zeros. This approach lets the user have
full control over formatting.


  Commit: 49bb993959668b3f319e9ea5fa0c97a41ab0890e
      https://github.com/llvm/llvm-project/commit/49bb993959668b3f319e9ea5fa0c97a41ab0890e
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M bolt/lib/Rewrite/RewriteInstance.cpp

  Log Message:
  -----------
  [BOLT] Fix build-time assertion in RewriteInstance (#90540)

We use pwrite() in RewriteInstance to update contents of existing
sections. pwrite() requires file position to be set past the written
offset which we guarantee at the start of rewriteFile(). Then we had an
implicit assumption in patchBuildID() that the file position will be set
again in patchELFSymTabs() after being reset in patchELFPHDRTable().
That assumption was broken in #90300. The fix is to save and restore
file position in patchELFPHDRTable(). Then we don't have to update it
again in patchELFSymTabs().


  Commit: d2353695f8cb864f88475d3a921249b0dcbcc6f4
      https://github.com/llvm/llvm-project/commit/d2353695f8cb864f88475d3a921249b0dcbcc6f4
  Author: Peiming Liu <peiming at google.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Tools/PDLL/AST/Nodes.h
    M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/lib/Tools/PDLL/AST/Types.cpp
    M mlir/lib/Tools/PDLL/CodeGen/MLIRGen.cpp
    M mlir/lib/Tools/PDLL/Parser/Parser.cpp
    M mlir/lib/Tools/mlir-pdll-lsp-server/PDLLServer.cpp

  Log Message:
  -----------
  [mlir][NFC] update code to use `mlir::dyn_cast/cast/isa` (#90633)

Fix compiler warning caused by using deprecated interface
(https://github.com/llvm/llvm-project/pull/90413)


  Commit: 7662f95f2c767ae3c9b22eb4bdedb07ffcf258b7
      https://github.com/llvm/llvm-project/commit/7662f95f2c767ae3c9b22eb4bdedb07ffcf258b7
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M clang/lib/Basic/Targets/WebAssembly.cpp
    M clang/test/Preprocessor/wasm-target-features.c

  Log Message:
  -----------
  [WebAssembly] Add preprocessor define for half-precision (#90528)

This adds the preprocessor define for the half-precision feature and
also adds preprocessor tests.


  Commit: f061a395ffb78215a23e0f503e8ea121ee3b13ad
      https://github.com/llvm/llvm-project/commit/f061a395ffb78215a23e0f503e8ea121ee3b13ad
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    A clang/test/CXX/class/class.mem/class.mem.general/p8.cpp
    A clang/test/CXX/except/except.spec/p13-friend.cpp

  Log Message:
  -----------
  [Clang][Sema][Parse] Delay parsing of noexcept-specifiers in friend function declarations (#90517)

According to [class.mem.general] p8:
> A complete-class context of a class (template) is a
> - function body,
> - default argument,
> - default template argument,
> - _noexcept-specifier_, or
> - default member initializer
>
> within the member-specification of the class or class template.

When testing #90152, it came to my attention that we do _not_ consider
the _noexcept-specifier_ of a friend function declaration to be a
complete-class context (something which the Microsoft standard library
depends on). Although a comment states that this is "consistent with
what other implementations do", the only other implementation that
exhibits this behavior is GCC (MSVC and EDG both late-parse the
_noexcept-specifier_).

This patch changes _noexcept-specifiers_ of friend function declarations
to be late parsed, which is in agreement with the standard & majority of
implementations. Pre-#90152, our existing implementation falls "in
between" the implementation consensus: within non-template classes, we
would not find latter declared members (qualified and unqualified),
while within class templates we would not find latter declared member
when named with a unqualified name, we would find members named with a
qualified name (even when lookup context is the current instantiation).
Therefore, this _shouldn't_ be a breaking change -- any code that didn't
compile will continue to not compile (since a _noexcept-specifier_ is
not part of the deduction substitution
loci (see [temp.deduct.general] p7), and any code which
did compile should continue to do so.


  Commit: 8009bbec59d1c5d47ae06c431647ebee6d886ff2
      https://github.com/llvm/llvm-project/commit/8009bbec59d1c5d47ae06c431647ebee6d886ff2
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
    M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/owning-memory.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default-copy.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Lookup.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/Expr.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/SemaAttr.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/AST/HLSL/this-reference-template.hlsl
    M clang/test/CXX/drs/dr2xx.cpp
    M clang/test/CXX/drs/dr3xx.cpp
    A clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
    M clang/test/CXX/temp/temp.res/temp.local/p3.cpp
    M clang/test/CodeGenCXX/mangle.cpp
    M clang/test/Index/annotate-nested-name-specifier.cpp
    M clang/test/SemaCXX/member-expr.cpp
    M clang/test/SemaTemplate/instantiate-function-1.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp

  Log Message:
  -----------
  Reapply "[Clang][Sema] Diagnose class member access expressions naming non-existent members of the current instantiation prior to instantiation in the absence of dependent base classes (#84050)" (#90152)

Reapplies #84050, addressing a bug which cases a crash when an
expression with the type of the current instantiation is used as the
_postfix-expression_ in a class member access expression (arrow form).


  Commit: fa67986d5b309ddd4c2ea74e8a5eeb0559aa8022
      https://github.com/llvm/llvm-project/commit/fa67986d5b309ddd4c2ea74e8a5eeb0559aa8022
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/OpenACCClauses.def
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/include/clang/Serialization/ASTRecordReader.h
    M clang/include/clang/Serialization/ASTRecordWriter.h
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/test/AST/ast-print-openacc-compute-construct.cpp
    M clang/test/ParserOpenACC/parse-cache-construct.c
    M clang/test/ParserOpenACC/parse-clauses.c
    A clang/test/SemaOpenACC/compute-construct-private-clause.c
    A clang/test/SemaOpenACC/compute-construct-private-clause.cpp
    A clang/test/SemaOpenACC/compute-construct-varlist-ast.cpp
    M clang/tools/libclang/CIndex.cpp

  Log Message:
  -----------
  [OpenACC] Private Clause on Compute Constructs (#90521)

The private clause is the first that takes a 'var-list', thus this has a
lot of additional work to enable the var-list type. A 'var' is a
traditional variable reference, subscript, member-expression, or
array-section, so checking of these is pretty minor.

Note: This ran into some issues with array-sections (aka sub-arrays)
that will be fixed in a follow-up patch.


  Commit: 1c979ab7e59feb03c58cac631a93143b0c776c20
      https://github.com/llvm/llvm-project/commit/1c979ab7e59feb03c58cac631a93143b0c776c20
  Author: AdityaK <hiraditya at msn.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/GVNSink.cpp
    A llvm/test/Transforms/GVNSink/different-gep-types.ll

  Log Message:
  -----------
  [GVNSink] Fix incorrect codegen with respect to GEPs #85333 (#88440)

As mentioned in #68882 and
https://discourse.llvm.org/t/rfc-replacing-getelementptr-with-ptradd/68699

Gep arithmetic isn't consistent with different types. GVNSink didn't
realize this and sank all geps
as long as their operands can be wired via PHIs
in a post-dominator.

Fixes: #85333


  Commit: 0ecc1646cbbb1bdfce234a11bec33b8c64af29cb
      https://github.com/llvm/llvm-project/commit/0ecc1646cbbb1bdfce234a11bec33b8c64af29cb
  Author: yronglin <yronglin777 at gmail.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx2cIssues.csv
    M libcxx/include/__ranges/repeat_view.h
    M libcxx/test/std/ranges/range.factories/range.repeat.view/ctad.compile.pass.cpp
    M libcxx/test/std/ranges/range.factories/range.repeat.view/views_repeat.pass.cpp

  Log Message:
  -----------
  [libc++][ranges] Implement LWG4053 and LWG4054 (#88612)

Implement
- LWG4053 Unary call to `std::views::repeat` does not decay the argument
- LWG4054 Repeating a `repeat_view` should repeat the view

Signed-off-by: yronglin <yronglin777 at gmail.com>


  Commit: 41f9c78f6a4efe38edbb0b62131b0a0bf619c99a
      https://github.com/llvm/llvm-project/commit/41f9c78f6a4efe38edbb0b62131b0a0bf619c99a
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

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

  Log Message:
  -----------
  [OpenACC] Fix test failure from fa67986d

Seemingly some other patch went in that altered how much dependence was
printed vs the actual names, and it changed the ast-dump results.
Commit to fix this test.


  Commit: 7cbaaed63612fe6446355c5ffe33ddd57578b929
      https://github.com/llvm/llvm-project/commit/7cbaaed63612fe6446355c5ffe33ddd57578b929
  Author: Peiming Liu <peiming at google.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M mlir/test/Integration/Dialect/SparseTensor/CPU/reshape_dot.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_expand_shape.mlir

  Log Message:
  -----------
  [mlir][sparse] fix sparse tests that uses reshape operations. (#90637)

Due to generalization introduced in
https://github.com/llvm/llvm-project/pull/90040


  Commit: 52cb9537896992e0fa689c45469bccb36970c0c7
      https://github.com/llvm/llvm-project/commit/52cb9537896992e0fa689c45469bccb36970c0c7
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

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

  Log Message:
  -----------
  [flang] Update calls to isa/dyn_cast/dyn_cast_or_null


  Commit: 5f88f0c63fa75169665732a3377f5bb3fef6256d
      https://github.com/llvm/llvm-project/commit/5f88f0c63fa75169665732a3377f5bb3fef6256d
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp

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

This patch fixes:

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


  Commit: 9b07a035f1802e826d2186eae1875d010048618a
      https://github.com/llvm/llvm-project/commit/9b07a035f1802e826d2186eae1875d010048618a
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp

  Log Message:
  -----------
  [Hexagon] Let ArrayRef infer the array size (NFC) (#90534)


  Commit: 4e6f6fda8b05524ccdb5a3e42c6c15ddef2454b6
      https://github.com/llvm/llvm-project/commit/4e6f6fda8b05524ccdb5a3e42c6c15ddef2454b6
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M llvm/lib/IR/Attributes.cpp
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/IR/Function.cpp
    M llvm/lib/IR/Metadata.cpp
    M llvm/lib/IR/ProfDataUtils.cpp
    M llvm/lib/IR/ProfileSummary.cpp
    M llvm/lib/IR/Type.cpp
    M llvm/lib/IR/Verifier.cpp

  Log Message:
  -----------
  [IR] Use StringRef::operator== instead of StringRef::equals (NFC) (#90550)

I'm planning to remove StringRef::equals in favor of
StringRef::operator==.

- StringRef::operator== outnumbers StringRef::equals by a factor of 22
  under llvm/ in terms of their usage.

- The elimination of StringRef::equals brings StringRef closer to
  std::string_view, which has operator== but not equals.

- S == "foo" is more readable than S.equals("foo"), especially for
  !Long.Expression.equals("str") vs Long.Expression != "str".


  Commit: a1423ba4278775472523fed074de6dbdfd01898a
      https://github.com/llvm/llvm-project/commit/a1423ba4278775472523fed074de6dbdfd01898a
  Author: Han-Chung Wang <hanhan0912 at gmail.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M mlir/test/Integration/Dialect/Linalg/CPU/test-expand-tensor.mlir

  Log Message:
  -----------
  [mlir][tensor] Fix integration tests that uses reshape ops. (#90649)

Due to generalization introduced in
https://github.com/llvm/llvm-project/pull/90040


  Commit: cf49d077fd75278abc405c8c125f40a975c830b4
      https://github.com/llvm/llvm-project/commit/cf49d077fd75278abc405c8c125f40a975c830b4
  Author: AdityaK <hiraditya at msn.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/GVNSink.cpp
    R llvm/test/Transforms/GVNSink/different-gep-types.ll

  Log Message:
  -----------
  Revert "[GVNSink] Fix incorrect codegen with respect to GEPs #85333" (#90658)

Reverts llvm/llvm-project#88440

Test failing on Windows:
https://lab.llvm.org/buildbot/#/builders/233/builds/9396
```
Input file: <stdin>
# | Check file: C:\buildbot\as-builder-8\llvm-nvptx-nvidia-win\llvm-project\llvm\test\Transforms\GVNSink\different-gep-types.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |            .
# |            .
# |            .
# |           42:  br label %if.end6 
# |           43:  
# |           44: if.else5: ; preds = %if.else 
# |           45:  br label %if.end6 
# |           46:  
# |           47: if.end6: ; preds = %if.else5, %if.then3, %if.then 
# | next:67'0             X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | next:67'1                                                        with "IF_THEN" equal to "%if\\.then"
# | next:67'2                                                        with "IF_THEN3" equal to "%if\\.then3"
# | next:67'3                                                        with "IF_ELSE5" equal to "%if\\.else5"
# |           48:  %.sink1 = phi i32 [ -8, %if.then3 ], [ -4, %if.else5 ], [ 8, %if.then ] 
# | next:67'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:67'4      ?                                                                        possible intended match
# |           49:  %0 = load ptr, ptr %__i, align 4 
# | next:67'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           50:  %incdec.ptr4 = getelementptr inbounds i8, ptr %0, i32 %.sink1 
# | next:67'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           51:  store ptr %incdec.ptr4, ptr %__i, align 4 
# | next:67'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           52:  ret void 
# | next:67'0     ~~~~~~~~~~
# |           53: } 
# | next:67'0     ~~
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
```


  Commit: 70ada5b178a14363dc6d30fbf531e47d3933a086
      https://github.com/llvm/llvm-project/commit/70ada5b178a14363dc6d30fbf531e47d3933a086
  Author: zhijian lin <zhijian at ca.ibm.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    A llvm/test/CodeGen/PowerPC/peephole-replaceInstr-after-eliminate-extsw.mir

  Log Message:
  -----------
  NFC add a new precommit test case for PPCMIpeephole (#90656)

Add pre-commit MIR test for PR "[Promote Pseudo Opcode from 32-bit to
64-bit after eliminating the extsw instruction in PPCMIPeepholes
optimization](https://github.com/llvm/llvm-project/pull/85451)" which
fixes bug reported in the issue "[Inconsistent Output at -O1 and -O2
Optimization Levels on PowerPC64 Due to Complex Type Casting and Nested
Loop Structure](https://github.com/llvm/llvm-project/issues/71030)".


  Commit: 05d04f0a057bc06324c02e00c2c73ee354999dde
      https://github.com/llvm/llvm-project/commit/05d04f0a057bc06324c02e00c2c73ee354999dde
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M llvm/lib/TargetParser/RISCVISAInfo.cpp

  Log Message:
  -----------
  [RISCV] Make RISCVISAInfo::updateMaxELen extension checking more robust. Add inference from V extension. (#90650)

We weren't fully checking that we parsed Zve*x/f/d correctly. This could
break if new extension is added that starts with Zve.

We were assuming the Zve64d is present whenever V is so we only
inferred from Zve*. It's more correct to infer ELEN from V itself too.


  Commit: 7538df90aee11603bce5146a3f34c06e9ef3f793
      https://github.com/llvm/llvm-project/commit/7538df90aee11603bce5146a3f34c06e9ef3f793
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M llvm/include/llvm/IR/ProfDataUtils.h
    M llvm/lib/IR/ProfDataUtils.cpp
    M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp

  Log Message:
  -----------
  [llvm][profdata][NFC] Support 64-bit weights in ProfDataUtils (#86607)

Since some places, like SimplifyCFG, work with 64-bit weights, we supply
an API in ProfDataUtils to extract the weights accordingly.

We change the API slightly to disambiguate the 64-bit version from the
32-bit version.


  Commit: 2224dce7e490340717adb3bd864f17b5d7da4421
      https://github.com/llvm/llvm-project/commit/2224dce7e490340717adb3bd864f17b5d7da4421
  Author: Igor Kudrin <ikudrin at accesssoftek.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M compiler-rt/lib/dfsan/CMakeLists.txt

  Log Message:
  -----------
  [DFSan] Replace `cat` with `cmake -E cat` (#90557)

`CMake` supports [this
command](https://cmake.org/cmake/help/latest/manual/cmake.1.html#cmdoption-cmake-E-arg-cat)
as of version 3.18. [D151344](https://reviews.llvm.org/D151344) bumped
the minimum version to 3.20, so, it is now possible to remove the
dependency on the external utility. This helps to cross-compile from
Windows to Linux without installing additional tools, such as MSYS2.


  Commit: 928db7e7edc5ffeaf92e85610068852ee94b26fb
      https://github.com/llvm/llvm-project/commit/928db7e7edc5ffeaf92e85610068852ee94b26fb
  Author: Xing Xue <xingxue at outlook.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M openmp/runtime/src/z_Linux_util.cpp

  Log Message:
  -----------
  [OpenMP][AIX] Implement __kmp_is_address_mapped() for AIX (#90516)

This patch implements `__kmp_is_address_mapped()` for AIX by calling
`loadquery()` to get the load info of the process and then checking if
the address falls within the range of the data segment of one of the
loaded modules.


  Commit: 75f4baa705829d44c6a0c4f098a1b04763fdfaf8
      https://github.com/llvm/llvm-project/commit/75f4baa705829d44c6a0c4f098a1b04763fdfaf8
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
    A llvm/test/CodeGen/SystemZ/copy-phys-reg-gr128-to-vr128.mir
    A llvm/test/CodeGen/SystemZ/copy-phys-reg-vr128-to-gr128.mir

  Log Message:
  -----------
  SystemZ: Implement copyPhysReg between vr128 and gr128 (#90616)

I have no idea if this is correct and I probably swapped the element
ordering somewhere.


  Commit: 699243343439285ec2fe61b4ae568c7a958c7ce2
      https://github.com/llvm/llvm-project/commit/699243343439285ec2fe61b4ae568c7a958c7ce2
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M clang/www/cxx_status.html

  Log Message:
  -----------
  [Clang][NFC] Fix status colors


  Commit: 1fb5083aed3f2bed3658f63ead895e2955f0bc4c
      https://github.com/llvm/llvm-project/commit/1fb5083aed3f2bed3658f63ead895e2955f0bc4c
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M flang/lib/Semantics/check-declarations.cpp
    M flang/test/Semantics/cuf03.cuf

  Log Message:
  -----------
  [flang][cuda] Accept variable with UNIFIED attribute in main (#90647)

UNIFIED variables are accept in program scope. Update the check to allow
them.


  Commit: c665e49911a0f029564a816b71dce5bf1c81f3a9
      https://github.com/llvm/llvm-project/commit/c665e49911a0f029564a816b71dce5bf1c81f3a9
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp

  Log Message:
  -----------
  [BOLT] Add ORC validation for the Linux kernel (#90660)

The Linux kernel expects ORC tables to be sorted by IP address (for
binary search to work). Add a post-emit pass in LinuxKernelRewriter that
validates the written .orc_unwind_ip against that expectation.


  Commit: 0232b77e145577ab78e3ed1fdbb7eacc5a7381ab
      https://github.com/llvm/llvm-project/commit/0232b77e145577ab78e3ed1fdbb7eacc5a7381ab
  Author: Wei Wang <apollo.mobility at gmail.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M clang/test/CodeGenCoroutines/coro-elide-thinlto.cpp

  Log Message:
  -----------
  [Coroutines][Test] Specify target triple in coro-elide-thinlto  (#90549)

Resolve test failure on non-x86 linux host


  Commit: ecec1311fe0521404a11d6f3b90253259c8c3518
      https://github.com/llvm/llvm-project/commit/ecec1311fe0521404a11d6f3b90253259c8c3518
  Author: David Truby <david.truby at arm.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/Runtime/EnvironmentDefaults.h
    M flang/include/flang/Optimizer/Builder/Runtime/Main.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/Builder/Runtime/EnvironmentDefaults.cpp
    M flang/lib/Optimizer/Builder/Runtime/Main.cpp
    M flang/test/Driver/emit-mlir.f90
    M flang/test/Lower/convert.f90
    M flang/test/Lower/environment-defaults.f90

  Log Message:
  -----------
  [flang] Remove double pointer indirection for _QQEnvironmentDefaults (#90615)

A double pointer was being passed to the call to FortranStart rather than just a pointer to the EnvironmentDefaults.list. This now passes `null` directly when there's no EnvironmentDefaults.list and passes the list directly when there is, removing the original global variable which was a pointer to a pointer containing null or the EnvironmentDefaults.list global.

Fixes #90537


  Commit: 19f4d68252b70c81ebb1686a5a31069eda5373de
      https://github.com/llvm/llvm-project/commit/19f4d68252b70c81ebb1686a5a31069eda5373de
  Author: Amara Emerson <amara at apple.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/LoadStoreOpt.h
    M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/store-merging.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/store-merging.mir

  Log Message:
  -----------
  [GlobalISel] Fix store merging incorrectly classifying an unknown index expr as 0. (#90375)

During analysis, we incorrectly leave the offset part of an address info
struct
as zero, when in actual fact we failed to decompose it into base +
offset.
This results in incorrectly assuming that the address is adjacent to
another store
addr. To fix this we wrap the offset in an optional<> so we can
distinguish between
real zero and unknown.

Fixes issue #90242


  Commit: 51aac5b04362daf99124d20ea93837b86b833f90
      https://github.com/llvm/llvm-project/commit/51aac5b04362daf99124d20ea93837b86b833f90
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

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

  Log Message:
  -----------
  [SLP][NFCI]Improve compile time for phis with large number of incoming values.

Added a limit of 128 incoming values at max for PHIs nodes to be
vectorized plus improved performance by using logarithmic search instead
of linear if the number of incoming values is > 4.


  Commit: fb85a282d125a2805632285b29686392e6922b66
      https://github.com/llvm/llvm-project/commit/fb85a282d125a2805632285b29686392e6922b66
  Author: Andy Kaylor <andrew.kaylor at intel.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M clang/docs/UsersManual.rst
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/fast-math.c

  Log Message:
  -----------
  Fix -fno-unsafe-math-optimizations behavior (#89473)

This changes the handling of -fno-unsafe-fp-math to stop having that
option imply -ftrapping-math. In gcc, -fno-unsafe-math-optimizations
sets -ftrapping-math, but that dependency is based on the fact the
-ftrapping-math is enabled by default in gcc. Because clang does not
enable -ftrapping-math by default, there is no reason for
-fno-unsafe-math-optimizations to set it.

On the other hand, -funsafe-math-optimizations continues to imply
-fno-trapping-math because this option necessarily disables strict
exception semantics.

This fixes https://github.com/llvm/llvm-project/issues/87523


  Commit: 89f833588e573b6b9762bb4eca5b08a5d7bad9c5
      https://github.com/llvm/llvm-project/commit/89f833588e573b6b9762bb4eca5b08a5d7bad9c5
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M flang/lib/Common/Fortran.cpp
    A flang/test/Semantics/cuf13.cuf

  Log Message:
  -----------
  [flang][cuda] Allow PINNED argument to host dummy (#90651)

Update the `AreCompatibleCUDADataAttrs` function to return true when one
argument has the `PINNED` attribute and the other argument is just host
data.


  Commit: cd7a7a56fc73c73855036f77a4f69ea90c75c27a
      https://github.com/llvm/llvm-project/commit/cd7a7a56fc73c73855036f77a4f69ea90c75c27a
  Author: Fabian Keßler <fabian_kessler at gmx.de>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M libc/config/baremetal/api.td
    M libc/config/linux/aarch64/headers.txt
    M libc/config/linux/api.td
    M libc/config/linux/arm/headers.txt
    M libc/config/linux/riscv/headers.txt
    M libc/config/linux/x86_64/headers.txt
    M libc/docs/c23.rst
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/char16_t.h
    A libc/include/llvm-libc-types/char32_t.h
    A libc/include/llvm-libc-types/char8_t.h
    M libc/spec/spec.td
    M libc/spec/stdc.td

  Log Message:
  -----------
  Add basic char*_t support for libc (partial WG14 N2653) (#90360)

This PR implements a part of WG14 N2653:
 - Define C23 char8_t
 - Define C11 char16_t
 - Define C11 char32_t
 
 Missing goals are:
- The type of UTF-8 character literals is changed from unsigned char to
char8_t. (Since UTF-8 character literals already have type unsigned
char, this is not a semantic change).
- New mbrtoc8() and c8rtomb() functions declared in <uchar.h> enable
conversions between multibyte characters and UTF-8.
    - A new ATOMIC_CHAR8_T_LOCK_FREE macro.
    - A new atomic_char8_t typedef name.


  Commit: 805e08ef26a4dd4c3048a836a49219545a211686
      https://github.com/llvm/llvm-project/commit/805e08ef26a4dd4c3048a836a49219545a211686
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp

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

This patch fixes:

  bolt/lib/Rewrite/LinuxKernelRewriter.cpp:855:12: error: variable
  'PrevIP' set but not used [-Werror,-Wunused-but-set-variable]


  Commit: d688162eba31bc9477c5bccd29cde6f0aa125bc4
      https://github.com/llvm/llvm-project/commit/d688162eba31bc9477c5bccd29cde6f0aa125bc4
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    A llvm/test/CodeGen/X86/pr90688.ll

  Log Message:
  -----------
  [X86] Pre-commit test for pr90668. NFC


  Commit: 805f01f805716d78c2669e8aee81a45b99dedea0
      https://github.com/llvm/llvm-project/commit/805f01f805716d78c2669e8aee81a45b99dedea0
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    A llvm/test/CodeGen/X86/pr90668.ll
    R llvm/test/CodeGen/X86/pr90688.ll

  Log Message:
  -----------
  [X86] Rename test to correct bug number. NFC

I accidentally named it pr90688 instead of pr90668.


  Commit: 2647bd73696ae987addd0e74774a44108accb1e6
      https://github.com/llvm/llvm-project/commit/2647bd73696ae987addd0e74774a44108accb1e6
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    A llvm/test/CodeGen/RISCV/pr90652.ll

  Log Message:
  -----------
  [RISCV][ISel] Fix types in `tryFoldSelectIntoOp` (#90659)

```
SelectionDAG has 17 nodes:
  t0: ch,glue = EntryToken
    t6: i64,ch = CopyFromReg t0, Register:i64 %2
  t8: i1 = truncate t6
          t4: i64,ch = CopyFromReg t0, Register:i64 %1
        t7: i1 = truncate t4
            t2: i64,ch = CopyFromReg t0, Register:i64 %0
          t10: i64,i1 = saddo t2, Constant:i64<1>
        t11: i1 = or t8, t10:1
      t12: i1 = select t7, t8, t11
    t13: i64 = any_extend t12
  t15: ch,glue = CopyToReg t0, Register:i64 $x10, t13
  t16: ch = RISCVISD::RET_GLUE t15, Register:i64 $x10, t15:1
```

`OtherOpVT` should be i1, but `OtherOp->getValueType(0)` returns `i64`,
which ignores `ResNo` in `SDValue`.

Fix https://github.com/llvm/llvm-project/issues/90652.


  Commit: 278774e428c280b6ab62c147ac33b6837dad6dd5
      https://github.com/llvm/llvm-project/commit/278774e428c280b6ab62c147ac33b6837dad6dd5
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
    M clang/include/clang/InstallAPI/FileList.h
    M clang/lib/InstallAPI/FileList.cpp
    M clang/tools/clang-installapi/Options.cpp

  Log Message:
  -----------
  [InstallAPI] Cleanup I/O error handling for input lists (#90664)

Add validation in the FileList reader to check that the headers exist and use similar diagnostics in Options.cpp


  Commit: 0f628fdb1aa8be97a5d86c3259b8caaa997790ec
      https://github.com/llvm/llvm-project/commit/0f628fdb1aa8be97a5d86c3259b8caaa997790ec
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M lldb/docs/use/variable.rst
    M lldb/source/Core/FormatEntity.cpp
    R lldb/test/API/functionalities/data-formatter/custom-printf-summary/Makefile
    R lldb/test/API/functionalities/data-formatter/custom-printf-summary/TestCustomSummaryLLVMFormat.py
    R lldb/test/API/functionalities/data-formatter/custom-printf-summary/main.c

  Log Message:
  -----------
  Revert "[lldb] Support custom LLVM formatting for variables (#81196)"

This reverts commit 7a8d15e919dde70118dbfa34e927be1705ded67d.


  Commit: 85f28cf431911ca505b759c155bb62e8be7151ae
      https://github.com/llvm/llvm-project/commit/85f28cf431911ca505b759c155bb62e8be7151ae
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

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

  Log Message:
  -----------
  [flang] Fixed -g compilation issues caused by #90484. (#90683)


  Commit: a03eeb0e98fefa24b3f596221942814178518703
      https://github.com/llvm/llvm-project/commit/a03eeb0e98fefa24b3f596221942814178518703
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
    M llvm/test/CodeGen/X86/pr90668.ll

  Log Message:
  -----------
  [SelectionDAG][X86] Add a NoWrap flag to SelectionDAG::isAddLike. NFC (#90681)

If this flag is set, Xor will not be considered AddLike. If an Xor were
treated as an Add it may wrap. If we can prove there would be no carry out and
thus no wrap, the Xor would be turned into a disjoint Or by DAGCombine.

Use this new flag to fix a bug in X86 where an Xor is incorrectly being treated
as an NUWAdd.

Fixes #90668.


  Commit: 75f7295419606380a7b5deea06359794a23429d9
      https://github.com/llvm/llvm-project/commit/75f7295419606380a7b5deea06359794a23429d9
  Author: Quinn Dawkins <quinn.dawkins at gmail.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M mlir/lib/Dialect/Tensor/Transforms/PackAndUnpackPatterns.cpp
    M mlir/test/Dialect/Tensor/fold-into-pack-and-unpack.mlir

  Log Message:
  -----------
  [mlir][Tensor] Fix unpack -> transpose folding pattern for padded unpacks (#90678)

Previously if the producer tensor.unpack op had "unpadding" semantics,
the folding pattern would construct a destination that does not match
with the result type of the transpose. Because both ops are DPS we can
just reuse the destination of the transpose.

Additionally cleans up a bunch of trailing whitespace in the test file.


  Commit: 8cde1cfc60e36a1b4f632d00810983f0a7eb5462
      https://github.com/llvm/llvm-project/commit/8cde1cfc60e36a1b4f632d00810983f0a7eb5462
  Author: Jake Egan <Jake.egan at ibm.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/test/CMakeLists.txt
    A llvm/test/CodeGen/PowerPC/git_revision.ll
    M llvm/test/CodeGen/PowerPC/lit.local.cfg
    M llvm/test/lit.site.cfg.py.in

  Log Message:
  -----------
  [AIX] Add git revision to .file string (#88164)

If `LLVM_APPEND_VC_REV` is on, add the git revision to the `.file`
string. The revision can be set with `LLVM_FORCE_VC_REVISION`.

Before:
`.file	"git_revision.cpp",,"LLVM version 19.0.0git"`

After:
`.file	"git_revision.cpp",,"LLVM version 19.0.0git (LLVM_REVISION)"`


  Commit: 986f832cff9cfdd9fa6addfadcd93206636311ef
      https://github.com/llvm/llvm-project/commit/986f832cff9cfdd9fa6addfadcd93206636311ef
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FIRTypes.td
    M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
    M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
    M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
    A flang/test/Fir/dummy-scope-codegen.fir
    A flang/test/Fir/dummy_scope.fir
    M flang/test/HLFIR/declare-codegen.fir
    A flang/test/HLFIR/dummy_scope.fir
    M flang/unittests/Optimizer/FortranVariableTest.cpp

  Log Message:
  -----------
  [flang] Added fir.dummy_scope operation to preserve dummy arguments association. (#90642)

The new operation is just an abstract attribute that is attached to
[hl]fir.declare operations of dummy arguments of a subroutine.
Dummy arguments of the same subroutine refer to the same
fir.dummy_scope, so they can be recognized as such during FIR AliasAnalysis.
Note that the fir.dummy_scope must be specific to the runtime
instantiation of a subroutine, so any MLIR inlining/cloning should duplicate and
unique it vs using the same fir.dummy_scope for different runtime instantiations.
This is why I made it an operation rather than an attribute.
The new operation uses a write effect on DebuggingResource, same as
[hl]fir.declare, to avoid optimizing it away.


  Commit: b1b1bfa7bea0ce489b5ea9134e17a43c695df5ec
      https://github.com/llvm/llvm-project/commit/b1b1bfa7bea0ce489b5ea9134e17a43c695df5ec
  Author: Wei Wang <apollo.mobility at gmail.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M clang/test/CodeGenCoroutines/coro-elide-thinlto.cpp

  Log Message:
  -----------
  [Coroutines][Test] Only run coro-elide-thinlto under x86_64-linux (#90672)

Previous fix #90549 didn't completely address the Buildbot failures.
Some target may not recognize the target triple. This time, only run the
test under x86_64-linux.


  Commit: 63a29693011048b472205022319c6769b244a5ba
      https://github.com/llvm/llvm-project/commit/63a29693011048b472205022319c6769b244a5ba
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M cross-project-tests/debuginfo-tests/llvm-prettyprinters/gdb/mlir-support.cpp

  Log Message:
  -----------
  [cross-project-tests] Update code to use mlir::cast (NFC)

/llvm-project/cross-project-tests/debuginfo-tests/llvm-prettyprinters/gdb/mlir-support.cpp:41:16:
 error: 'cast' is deprecated: Use mlir::cast<U>() instead [-Werror,-Wdeprecated-declarations]
    VectorType.cast<mlir::ShapedType>(), llvm::ArrayRef<float>{2.0f, 3.0f});
               ^
/llvm-project/llvm/../mlir/include/mlir/IR/Types.h:345:9: note: 'cast' has been explicitly marked deprecated here
U Type::cast() const {
        ^
/llvm-project/cross-project-tests/debuginfo-tests/llvm-prettyprinters/gdb/mlir-support.cpp:41:16:
 error: 'cast<mlir::ShapedType>' is deprecated: Use mlir::cast<U>() instead [-Werror,-Wdeprecated-declarations]
    VectorType.cast<mlir::ShapedType>(), llvm::ArrayRef<float>{2.0f, 3.0f});
               ^
/llvm-project/llvm/../mlir/include/mlir/IR/Types.h:112:5: note: 'cast<mlir::ShapedType>' has been explicitly marked deprecated here
  [[deprecated("Use mlir::cast<U>() instead")]]
    ^
2 errors generated.


  Commit: ef1dbcd60f81dafd777355ffd675e1bb73358d77
      https://github.com/llvm/llvm-project/commit/ef1dbcd60f81dafd777355ffd675e1bb73358d77
  Author: jofrn <jofernau at amd.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

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

  Log Message:
  -----------
  [Windows] Restrict searchpath of dbghelp.dll to System32 (#90520)

LoadLibraryW will lookup dlls in user directories if its search path is
left unrestricted. This is a security vulnerability as one can name a
shared library the same as that of a system dll in order to run
arbitrary code when the shared library is loaded from the path in a user
directory. This change modifies it to only search within sys32 when
loading dbghelp.dll.


  Commit: 86e5d6f1d83279557170c0b8e8a6a1ec6e4414d2
      https://github.com/llvm/llvm-project/commit/86e5d6f1d83279557170c0b8e8a6a1ec6e4414d2
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M flang/include/flang/Common/Fortran.h
    M flang/lib/Common/Fortran.cpp
    M flang/lib/Evaluate/characteristics.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/test/Semantics/cuf13.cuf

  Log Message:
  -----------
  [flang][cuda] Update attribute compatibily check for unified matching rule (#90679)

This patch updates the compatibility checks for CUDA attribute iin
preparation to implement the matching rules described in section 3.2.3.
We this patch the compiler will still emit an error when there is
multiple specific procedures that matches since the matching distances
is not yet implemented. This will be done in a separate patch.


https://docs.nvidia.com/hpc-sdk/archive/24.3/compilers/cuda-fortran-prog-guide/index.html#cfref-var-attr-unified-data

gpu=unified and gpu=managed are not part of this patch since these
options are not recognized by flang yet.


  Commit: 8e9b1e9aa83b44fad44954bbd01c824def2b190f
      https://github.com/llvm/llvm-project/commit/8e9b1e9aa83b44fad44954bbd01c824def2b190f
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

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

  Log Message:
  -----------
  [clang-format] Fix a bug in annotating struct braces (#90555)

Fixes #60040.


  Commit: 306ae14face205e1bf2557ca2443c781b1d862f5
      https://github.com/llvm/llvm-project/commit/306ae14face205e1bf2557ca2443c781b1d862f5
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M flang/include/flang/Common/Fortran.h
    M flang/lib/Common/Fortran.cpp
    M flang/lib/Evaluate/characteristics.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/test/Semantics/cuf13.cuf

  Log Message:
  -----------
  Revert "[flang][cuda] Update attribute compatibily check for unified matching rule" (#90696)

Reverts llvm/llvm-project#90679


  Commit: 410d6350eda322de213941b36adcdab13a0b557b
      https://github.com/llvm/llvm-project/commit/410d6350eda322de213941b36adcdab13a0b557b
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M clang/lib/AST/ExprClassification.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/SemaCXX/cxx2c-pack-indexing.cpp

  Log Message:
  -----------
  [Sema] Avoid an undesired pack expansion while transforming PackIndexingType (#90195)

A pack indexing type can appear in a larger pack expansion, e.g
`Pack...[pack_of_indexes]...` so we need to temporarily disable
substitution of pack elements.

Besides, this patch also fixes an assertion failure in
`PackIndexingExpr::classify`: dependent `PackIndexingExpr`s are always
LValues and thus we don't need to consider their `IndexExpr`s.

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

---------

Co-authored-by: cor3ntin <corentinjabot at gmail.com>


  Commit: 240592a772a40b4ffa75921f7b555d2a969b3383
      https://github.com/llvm/llvm-project/commit/240592a772a40b4ffa75921f7b555d2a969b3383
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args-wtf-containers.cpp
    M clang/test/Analysis/Checkers/WebKit/mock-types.h

  Log Message:
  -----------
  [alpha.webkit.UncountedCallArgsChecker] Ignore methods of WTF String classes. (#90180)


  Commit: 3e930864eb39a81598fa03e539552e1664cdb989
      https://github.com/llvm/llvm-project/commit/3e930864eb39a81598fa03e539552e1664cdb989
  Author: Valentin Clement <clementval at gmail.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M flang/include/flang/Common/Fortran.h
    M flang/lib/Common/Fortran.cpp
    M flang/lib/Evaluate/characteristics.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/test/Semantics/cuf13.cuf

  Log Message:
  -----------
  Reland [flang][cuda] Update attribute compatibily check for unified matching rule


  Commit: 0632cb38a62ca695c88b9c7370a9157a76b9e947
      https://github.com/llvm/llvm-project/commit/0632cb38a62ca695c88b9c7370a9157a76b9e947
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.h
    M flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp
    M flang/test/Lower/OpenMP/delayed-privatization-allocatable-private.f90

  Log Message:
  -----------
  [flang][MLIR] Outline deallocation logic to `omp.private` ops (#90592)

When delayed privatization is enabled, this PR emits the deallocation
logic to the newly introduced `dealloc` region on `omp.private` ops.


  Commit: 93b9b7c4c1f6c6c1887763daccaa439b2a3b4d5f
      https://github.com/llvm/llvm-project/commit/93b9b7c4c1f6c6c1887763daccaa439b2a3b4d5f
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir

  Log Message:
  -----------
  [RISCV] Add CHECK lines for test added in 7840fa9. NFC


  Commit: bafc5f42c0132171287d7cba7f5c14459be1f7b7
      https://github.com/llvm/llvm-project/commit/bafc5f42c0132171287d7cba7f5c14459be1f7b7
  Author: Wei Wang <apollo.mobility at gmail.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/test/Other/new-pm-defaults.ll

  Log Message:
  -----------
  [Pipelines][Coroutines] Tune coroutine passes only for ThinLTO pre-link pipeline (#90690)

Follow up to #90310, limit the tune up only to ThinLTO pre-link as
coroutine passes are not in MonoLTO backend


  Commit: 0fb50371a108d27394bb76adf8cffe944ab904cd
      https://github.com/llvm/llvm-project/commit/0fb50371a108d27394bb76adf8cffe944ab904cd
  Author: Franklin Zhang <zhangfenglei at huawei.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp

  Log Message:
  -----------
  [RemoveDIs] Fix SIGSEGV caused by splitBasicBlock (#90312)

See `llvm/unittests/IR/BasicBlockDbgInfoTest.cpp` for a test case.


  Commit: 3684a38d33d7643fe8c3a870006efa8677ac37f8
      https://github.com/llvm/llvm-project/commit/3684a38d33d7643fe8c3a870006efa8677ac37f8
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args-wtf-containers.cpp
    M clang/test/Analysis/Checkers/WebKit/mock-types.h

  Log Message:
  -----------
  Revert "[alpha.webkit.UncountedCallArgsChecker] Ignore methods of WTF String classes." (#90701)

Reverts llvm/llvm-project#90180


  Commit: 74aa1abfaec64e45a402f4601f9c228113fc0bbb
      https://github.com/llvm/llvm-project/commit/74aa1abfaec64e45a402f4601f9c228113fc0bbb
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sb.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sh.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sw.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1ub.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1uh.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1uw.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1b.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1h.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1w.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1_single.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ldnt1.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_loads.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_st1.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_st1_single.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_stnt1.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_store.c
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Analysis/ValueTracking/phi-known-bits.ll
    M llvm/test/Transforms/InstCombine/gep-vector.ll
    M llvm/test/Transforms/InstCombine/gepofconstgepi8.ll
    M llvm/test/Transforms/InstCombine/icmp-gep.ll
    M llvm/test/Transforms/InstCombine/opaque-ptr.ll
    M llvm/test/Transforms/InstCombine/scalable-vector-array.ll
    M llvm/test/Transforms/InstCombine/vscale_gep.ll

  Log Message:
  -----------
  [InstCombine] Canonicalize scalable GEPs to use llvm.vscale intrinsic (#90569)

Canonicalize getelementptr instructions for scalable vector types into
ptradd representation with an explicit llvm.vscale call. This
representation has better support in BasicAA, which can reason about
llvm.vscale, but not plain scalable GEPs.


  Commit: d392520c645b653cd9c2ce944958fb115c4ba506
      https://github.com/llvm/llvm-project/commit/d392520c645b653cd9c2ce944958fb115c4ba506
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir

  Log Message:
  -----------
  [RISCV] Convert vsetvli mir tests to use $noreg instead of implicit_def. NFC

This matches what comes out of isel since
a63bd7e99b00c6c970f38ea596f708e42b8c98e5. It also adds the undef flag to
more closely match the output after regalloc, which will help with the test
diffs in #70549


  Commit: cd46c2c1ba0481e2194231f0f2c2ceeb0810bb79
      https://github.com/llvm/llvm-project/commit/cd46c2c1ba0481e2194231f0f2c2ceeb0810bb79
  Author: Owen Anderson <resistor at mac.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/include/llvm/Support/Allocator.h

  Log Message:
  -----------
  Tweak BumpPtrAllocator to benefit the hot path (#90571)

This takes the form of three consecutive but related changes:
- Mark the fast path of BumpPtrAllocator as likely-taken.
- Move the slow path of BumpPtrAllocator to a separate function.
- Mark the slow path of BumpPtrAllocator as noinline.

Overall, this saves geomean 0.4% userspace instructions on CTMark -O3,
and 0.98% on CTMark -O0 -g.


http://llvm-compile-time-tracker.com/compare.php?from=e1622e189e8c0ef457bfac528f90a7a930d9aad2&to=9eb53a4ed3af4a55e769ae1dd22d034b63d046e3&stat=instructions%3Au


  Commit: 23f0f7bda0c16fa4a2ddb4ef60d5d146dbfac572
      https://github.com/llvm/llvm-project/commit/23f0f7bda0c16fa4a2ddb4ef60d5d146dbfac572
  Author: David Green <david.green at arm.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/sve-reassocadd.ll

  Log Message:
  -----------
  [AArch64] Additional tests for negative SVE addressing modes. NFC


  Commit: 14b66fe5f36aaad627baa7f624a4997a7956d51a
      https://github.com/llvm/llvm-project/commit/14b66fe5f36aaad627baa7f624a4997a7956d51a
  Author: CarolineConcatto <caroline.concatto at arm.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/test/MC/AArch64/SME2/zip-diagnostics.s

  Log Message:
  -----------
  [AArch64][MC]Add diagnostic message for Multiple of 2/4 for ZPR128 (#90600)

This patch fix the crash reported in:
https://github.com/llvm/llvm-project/issues/90589


  Commit: 0c42fa361d57c1f04a1026a83aceec1568baa2f7
      https://github.com/llvm/llvm-project/commit/0c42fa361d57c1f04a1026a83aceec1568baa2f7
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M lldb/docs/resources/lldbgdbremote.md
    M lldb/docs/resources/lldbplatformpackets.md

  Log Message:
  -----------
  [lldb][Docs] Sort documented packets alphabetically (#90584)

For the platform and extension doc.

Also add links in the extension doc to the GDB specs we're extending.


  Commit: 9a9cff15a15b103ae1dc1efa98b53901cdda78f1
      https://github.com/llvm/llvm-project/commit/9a9cff15a15b103ae1dc1efa98b53901cdda78f1
  Author: Ivan Murashko <ivan.murashko at gmail.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M clang/lib/Serialization/ASTReader.cpp
    A clang/test/Modules/implicit-module-no-timestamp.cpp

  Log Message:
  -----------
  [Modules] Process include files changes (#90319)

There were two diffs that introduced some options useful when you build
modules externally and cannot rely on file modification time as the key
for detecting input file changes:
- [D67249](https://reviews.llvm.org/D67249) introduced the
`-fmodules-validate-input-files-content` option, which allows the use of
file content hash in addition to the modification time.
- [D141632](https://reviews.llvm.org/D141632) propagated the use of
`-fno-pch-timestamps` with Clang modules.

There is a problem when the size of the input file (header) is not
modified but the content is. In this case, Clang cannot detect the file
change when the `-fno-pch-timestamps` option is used. The
`-fmodules-validate-input-files-content` option should help, but there
is an issue with its application: it's not applied when the modification
time is stored as zero that is the case for `-fno-pch-timestamps`.

The issue can be fixed using the same trick that was applied during the
processing of `ForceCheckCXX20ModulesInputFiles`:
```
  // When ForceCheckCXX20ModulesInputFiles and ValidateASTInputFilesContent
  // enabled, it is better to check the contents of the inputs. Since we can't
  // get correct modified time information for inputs from overriden inputs.
  if (HSOpts.ForceCheckCXX20ModulesInputFiles && ValidateASTInputFilesContent &&
      F.StandardCXXModule && FileChange.Kind == Change::None)
    FileChange = HasInputContentChanged(FileChange);
```
The patch suggests the solution similar to the presented above and
includes a LIT test to verify it.


  Commit: 7565b20b50b254a72efa9d505e92be65c664b1b2
      https://github.com/llvm/llvm-project/commit/7565b20b50b254a72efa9d505e92be65c664b1b2
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

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

  Log Message:
  -----------
  [ORC] Switch ObjectLinkingLayer::Plugins to shared ownership, copy pipeline.

Previously ObjectLinkingLayer held unique ownership of Plugins, and links
always used the Layer's plugin list at each step. This can cause problems if
plugins are added while links are in progress however, as the newly added
plugin may receive only some of the callbacks for links that are already
running.

In this patch each link gets its own copy of the pipeline that remains
consistent throughout the link's lifetime, and it is guaranteed that Plugin
objects (now with shared ownership) will remain valid until the link completes.

Coding my way home: 9.80469S, 139.03167W


  Commit: 3a3bdd8fb63ffb49741a9c32b3a5a789ce4c3b91
      https://github.com/llvm/llvm-project/commit/3a3bdd8fb63ffb49741a9c32b3a5a789ce4c3b91
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/ExprCXX.h
    M clang/lib/AST/Expr.cpp
    M clang/test/SemaCXX/destructor.cpp

  Log Message:
  -----------
  [clang] Fix crash when destructor definition is preceded with '=' (#90220)

Fixes #89544


  Commit: eb6097a79e79d03dfc758cc6e79110cbac66d800
      https://github.com/llvm/llvm-project/commit/eb6097a79e79d03dfc758cc6e79110cbac66d800
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M lldb/docs/use/tutorial.rst

  Log Message:
  -----------
  [lldb][Docs] Various style improvements to the tutorial (#90594)

* Replace "we" with either "you" (when talking to the reader) or "lldb"
(when talking about the project).
* Refer to lldb as lldb not LLDB, to match what the user sees on
the command line (I am going to come back later and put the proper name in places where it's talking about the projects themselves)
* Remove a bunch of contractions for example "won't". Which don't (pun
intended) seem like a big deal at first but even I as a native English
speaker find the text clearer with them expanded.
* Use RST's plain text highlighting for keywords and command names.
* Split some very long lines for easier editing in future.


  Commit: 9bebf25ecbe6a8720dd581bd2a4f8d29aa763a42
      https://github.com/llvm/llvm-project/commit/9bebf25ecbe6a8720dd581bd2a4f8d29aa763a42
  Author: Ivan Kosarev <ivan.kosarev at amd.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td

  Log Message:
  -----------
  [AMDGPU][AsmParser][NFC] Generate NamedIntOperand predicates automatically. (#90576)

Part of <https://github.com/llvm/llvm-project/issues/62629>.


  Commit: fdf206c10ccea9dd5bd3d7eeb1381f305f972e52
      https://github.com/llvm/llvm-project/commit/fdf206c10ccea9dd5bd3d7eeb1381f305f972e52
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/active_lane_mask.ll

  Log Message:
  -----------
  [LLVM][SVE] Improve legalisation of fixed length get.active.lane.mask (#90213)

We are effectively performing type and operation legalisation very early
within the code generation flow. This results in worse code quality
because the DAG is not in canonical form, which DAGCombiner corrects
through the introduction of operations that are not legal.

This patchs splits and moves the code to where type and operation
legalisation is typically implemented.


  Commit: 0b21b25eac0f7548eca8db0ddb2359268c91bc98
      https://github.com/llvm/llvm-project/commit/0b21b25eac0f7548eca8db0ddb2359268c91bc98
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-agent.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-lastuse.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-nontemporal.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-singlethread.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-system.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-volatile.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-wavefront.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-workgroup.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-agent.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-lastuse.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-nontemporal.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-singlethread.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-system.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-volatile.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-wavefront.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-workgroup.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-agent.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-nontemporal.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-singlethread.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-system.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-volatile.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-wavefront.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-workgroup.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-lastuse.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-nontemporal.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-volatile.ll

  Log Message:
  -----------
  [AMDGPU] Do not optimize away pre-existing waitcnt instructions at -O0 (#90716)

The autogenerated memory legalizer tests use -O0 so this allows us to
see the exact waitcnts that were inserted by the memory legalizer
without them being optimized away.


  Commit: 582c6a82b4bc2ac5cbff803960eeb022bff10168
      https://github.com/llvm/llvm-project/commit/582c6a82b4bc2ac5cbff803960eeb022bff10168
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

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

  Log Message:
  -----------
  [llvm] Remove unused constructor (NFC)

Closes #89193


  Commit: 5fb1e2825f0a550ee0509fd3b8c6d19c6e0fc082
      https://github.com/llvm/llvm-project/commit/5fb1e2825f0a550ee0509fd3b8c6d19c6e0fc082
  Author: David Stuttard <david.stuttard at amd.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.wait.ll

  Log Message:
  -----------
  [AMDGPU] Enhance s_waitcnt insertion before barrier for gfx12 (#90595)

Code to determine if a waitcnt is required before a barrier instruction
only
considered S_BARRIER.
gfx12 adds barrier_signal/wait so need to enhance the existing code to
look for
a barrier start (which is just an S_BARRIER for earlier architectures).


  Commit: f898161bfa95723954a273a519180e070a5ccd2e
      https://github.com/llvm/llvm-project/commit/f898161bfa95723954a273a519180e070a5ccd2e
  Author: David Stuttard <david.stuttard at amd.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    A llvm/test/CodeGen/AMDGPU/waitcnt-sample-waw.mir

  Log Message:
  -----------
  [AMDGPU] Fix image_msaa_load waitcnt insertion for pre-gfx12 (#90710)

https://github.com/llvm/llvm-project/pull/90201 made some fixes for
gfx12
image_msaa_load waitcnt insertion.
That fix might break in some situations for pre-gfx12 - this fixes that
by
explitly checking for VSAMPLE which always requires a s_wait_samplecnt
and
leaves the previous logic intact for non-gfx12.


  Commit: ccb198dc62d3dad50aa26140a3e899ff5694dca2
      https://github.com/llvm/llvm-project/commit/ccb198dc62d3dad50aa26140a3e899ff5694dca2
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-and-combine.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bit-counting.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitcast.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitselect.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-build-vector.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-concat.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ext-loads.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-extract-subvector.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-extract-vector-elt.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-arith.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-compares.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-convert.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-extend-trunc.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-fma.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-minmax.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce-fa64.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-rounding.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-select.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-to-int.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-insert-vector-elt.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-arith.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-compares.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-div.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-extends.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-immediates.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-log.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-minmax.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mla-neon-fa64.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mulh.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-rem.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-select.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-shifts.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-to-fp.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-limit-duplane.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-loads.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-log-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-load.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-store.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-optimize-ptrue.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-permute-rev.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-permute-zip-uzp-trn.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ptest.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-rev.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-sdiv-pow2.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-splat-vector.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-stores.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-subvector.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc-stores.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-vector-shuffle.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-test-register-mov.ll

  Log Message:
  -----------
  [AArch64] NFC: Add RUN lines for streaming-compatible code. (#90617)

The intent is to test lowering of vector operations by scalarization,
for functions that are streaming-compatible (and thus cannot use NEON)
and also don't have the +sve attribute.

The generated code is clearly wrong at the moment, but a series of
patches will follow to fix up all cases to use scalar instructions.

A bit of context:

This work will form the base to decouple SME from SVE later on, as it
will make sure that no NEON instructions are used in
streaming[-compatible] mode. Later this will be followed by a patch that
changes `useSVEForFixedLengthVectors` to only return `true` if SVE is
available for the given runtime mode, at which point I'll change the
`-mattr=+sme -force-streaming-compatible-sve` to `-mattr=+sme
-force-streaming-sve` in the RUN lines, so that the tests are considered
to be executed in Streaming-SVE mode.


  Commit: 803e03fbb7cd97461f349fb6e235592681fc1e6c
      https://github.com/llvm/llvm-project/commit/803e03fbb7cd97461f349fb6e235592681fc1e6c
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

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

  Log Message:
  -----------
  [llvm] Revive constructor of 'ResourceSegments'

582c6a82b4bc2ac5cbff803960eeb022bff10168 removed a constructor of
'ResourceSegments' that is needed in LLVM unit tests.

* Revert 582c6a82b4bc2ac5cbff803960eeb022bff10168
* Update the constructor to take a const reference of
  `std::list` as pointed out in #89193.


  Commit: 67e726a2f73964740e319d554c354a4227f29375
      https://github.com/llvm/llvm-project/commit/67e726a2f73964740e319d554c354a4227f29375
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/strided-stores-vectorized.ll

  Log Message:
  -----------
  [SLP]Transform stores + reverse to strided stores with stride -1, if profitable.

Adds transformation of consecutive vector store + reverse to strided
stores with stride -1, if it is profitable

Reviewers: RKSimon, preames

Reviewed By: RKSimon

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


  Commit: 576261ac8f803e5142fd8634805e48d0063de4e1
      https://github.com/llvm/llvm-project/commit/576261ac8f803e5142fd8634805e48d0063de4e1
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
    M llvm/test/Transforms/SLPVectorizer/X86/addsub.ll
    M llvm/test/Transforms/SLPVectorizer/X86/entries-different-vf.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extract-many-users-buildvector.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extractelement-single-use-many-nodes.ll
    M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
    M llvm/test/Transforms/SLPVectorizer/X86/operandorder.ll
    M llvm/test/Transforms/SLPVectorizer/X86/postponed_gathers.ll
    M llvm/test/Transforms/SLPVectorizer/X86/replaced-external-in-reduction.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias_external_insert_shuffled.ll
    M llvm/test/Transforms/SLPVectorizer/slp-umax-rdx-matcher-crash.ll

  Log Message:
  -----------
  [SLP]Improve reordering for consts, splats and ops from same nodes + improved analysis.

Improved detection of const/splat candidates, their matching and analysis of instructions from same nodes.

Metric: size..text

Program                                                                                                                                                size..text
                                                                                                                                                       results     results0    diff
                                                                                                                                                       results     results0    diff
                                                                             test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/miniFE/miniFE.test    92952.00    93096.00  0.2%
                                                                                     test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test   779832.00   780136.00  0.0%
                                                                                          test-suite :: MultiSource/Applications/JM/lencod/lencod.test   839923.00   840179.00  0.0%
                                                                                          test-suite :: MultiSource/Applications/JM/ldecod/ldecod.test   392708.00   392740.00  0.0%
                                                                                test-suite :: External/SPEC/CFP2017rate/511.povray_r/511.povray_r.test  1171131.00  1171147.00  0.0%

                                                                              test-suite :: External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r.test  1391089.00  1391073.00 -0.0%
                                                                             test-suite :: External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s.test  1391089.00  1391073.00 -0.0%
                                                                              test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 12352780.00 12352636.00 -0.0%

MultiSource/Benchmarks/DOE-ProxyApps-C++/miniFE/miniFE - small
reordering
External/SPEC/CINT2006/464.h264ref/464.h264ref - small better code after
reordering
MultiSource/Applications/JM/lencod/lencod - smaller code with less
shuffles
MultiSource/Applications/JM/ldecod/ldecod - same
External/SPEC/CFP2017rate/511.povray_r/511.povray_r - 2 extra loads
vectorized, smaller code
External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r - better code,
size increased because of more constant vectors.
External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s - same
External/SPEC/CFP2017rate/526.blender_r/526.blender_r - small change in
the vectorized code, some code a bit better, some a bit worse.

Reviewers: RKSimon

Reviewed By: RKSimon

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


  Commit: 442990b93773a6f1fb9e675c3919734fe2846dac
      https://github.com/llvm/llvm-project/commit/442990b93773a6f1fb9e675c3919734fe2846dac
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-05-01 (Wed, 01 May 2024)

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

  Log Message:
  -----------
  [gn] port 8cde1cfc60e3 (LLVM_APPEND_VC_REV for lit)


  Commit: df241b19c952b904eec755d9f090737aed437986
      https://github.com/llvm/llvm-project/commit/df241b19c952b904eec755d9f090737aed437986
  Author: Sean Perry <39927768+perry-ca at users.noreply.github.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M clang/lib/Headers/CMakeLists.txt
    M clang/lib/Headers/builtins.h
    M clang/lib/Headers/float.h
    M clang/lib/Headers/inttypes.h
    M clang/lib/Headers/iso646.h
    M clang/lib/Headers/limits.h
    M clang/lib/Headers/stdalign.h
    M clang/lib/Headers/stdarg.h
    M clang/lib/Headers/stdbool.h
    M clang/lib/Headers/stddef.h
    M clang/lib/Headers/stdint.h
    M clang/lib/Headers/stdnoreturn.h
    M clang/lib/Headers/varargs.h
    A clang/lib/Headers/zos_wrappers/builtins.h

  Log Message:
  -----------
  [z/OS] add support for z/OS system headers to clang std header wrappers (#89995)

Update the wrappers for the C std headers so that they always forward to
the z/OS system headers.


  Commit: 088aa81a545421933254f19cd3c8914a0373b493
      https://github.com/llvm/llvm-project/commit/088aa81a545421933254f19cd3c8914a0373b493
  Author: Matt Devereau <matthew.devereau at arm.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/CMakeLists.txt
    M llvm/cmake/config-ix.cmake
    M llvm/include/llvm/ADT/APFloat.h
    M llvm/include/llvm/ADT/APInt.h
    M llvm/include/llvm/Config/llvm-config.h.cmake
    A llvm/include/llvm/Support/float128.h
    M llvm/lib/Analysis/CMakeLists.txt
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Support/APFloat.cpp
    M llvm/test/CMakeLists.txt
    M llvm/test/lit.cfg.py
    M llvm/test/lit.site.cfg.py.in
    M llvm/unittests/Analysis/CMakeLists.txt

  Log Message:
  -----------
  Constant Fold logf128 calls

This is a second attempt to land #84501 which failed on several targets.

This patch adds the HAS_IEE754_FLOAT128 define which makes the check for
typedef'ing float128 more precise by checking whether __uint128_t is available
and checking if the host does not use __ibm128 which is prevalent on power pc
targets and replaces IEEE754 float128s.


  Commit: 57d0d3b4d638d170035f55d79f0202f1042de345
      https://github.com/llvm/llvm-project/commit/57d0d3b4d638d170035f55d79f0202f1042de345
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M flang/lib/Lower/Bridge.cpp
    M flang/test/Lower/OpenMP/cfg-conversion-omp.private.f90
    M flang/test/Lower/OpenMP/delayed-privatization-allocatable-private.f90
    M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90

  Log Message:
  -----------
  [Flang][OpenMP] Handle more character allocatable cases in privatization (#90449)

Fixes #84732, #81947, #81946

Note: This is a fix till we enable delayed privatization.


  Commit: 68b863b7fa68a196bcc02d12c028dea7dcd9b97b
      https://github.com/llvm/llvm-project/commit/68b863b7fa68a196bcc02d12c028dea7dcd9b97b
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-05-01 (Wed, 01 May 2024)

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

  Log Message:
  -----------
  [gn] port 088aa81a5454 (LLVM_HAS_LOGF128)

If we want to turn this on on some platforms, we'll also want to
define HAS_LOGF128 for AnalysisTest, see
llvm/unittests/Analysis/CMakeLists.txt


  Commit: 034912d583617a7029c8efaade4422eaa4593f8c
      https://github.com/llvm/llvm-project/commit/034912d583617a7029c8efaade4422eaa4593f8c
  Author: Fanbo Meng <fanbo.meng at ibm.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/CMakeLists.txt

  Log Message:
  -----------
  [SystemZ][z/OS] Build in ASCII 64 bit mode on z/OS (#90630)

Setting the correct build flags on z/OS to build LLVM as 64-bit ASCII
application.


  Commit: efce8a05aa4ef0353e73e63d270a22773e090e75
      https://github.com/llvm/llvm-project/commit/efce8a05aa4ef0353e73e63d270a22773e090e75
  Author: Matt Devereau <matthew.devereau at arm.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/CMakeLists.txt
    M llvm/cmake/config-ix.cmake
    M llvm/include/llvm/ADT/APFloat.h
    M llvm/include/llvm/ADT/APInt.h
    M llvm/include/llvm/Config/llvm-config.h.cmake
    R llvm/include/llvm/Support/float128.h
    M llvm/lib/Analysis/CMakeLists.txt
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Support/APFloat.cpp
    M llvm/test/CMakeLists.txt
    M llvm/test/lit.cfg.py
    M llvm/test/lit.site.cfg.py.in
    M llvm/unittests/Analysis/CMakeLists.txt

  Log Message:
  -----------
  Revert "Constant Fold logf128 calls"

This reverts commit 088aa81a545421933254f19cd3c8914a0373b493.


  Commit: 9ebf2f8a67cce570d0752556fed23ff2803aef33
      https://github.com/llvm/llvm-project/commit/9ebf2f8a67cce570d0752556fed23ff2803aef33
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-05-01 (Wed, 01 May 2024)

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

  Log Message:
  -----------
  Revert "[gn] port 088aa81a5454 (LLVM_HAS_LOGF128)"

This reverts commit 68b863b7fa68a196bcc02d12c028dea7dcd9b97b.
088aa81a5454 was reverted in efce8a05aa4e.


  Commit: 0647b2a3caed3215588477dfc7aaa6bd3b4f8076
      https://github.com/llvm/llvm-project/commit/0647b2a3caed3215588477dfc7aaa6bd3b4f8076
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

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

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


  Commit: e312f0723cebcfbc899b7b69538dfe86f426d0b4
      https://github.com/llvm/llvm-project/commit/e312f0723cebcfbc899b7b69538dfe86f426d0b4
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M offload/CMakeLists.txt

  Log Message:
  -----------
  [Offload] Fix CMake detection when it is not found (#90729)

Summary:
This variable could be unset if not found or when building standalone.
We should check for that and set it to true or false.

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


  Commit: 167b50669c03ad888bf2f00c61424bedac43a050
      https://github.com/llvm/llvm-project/commit/167b50669c03ad888bf2f00c61424bedac43a050
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M libcxx/utils/ci/run-buildbot

  Log Message:
  -----------
  [libcxx][ci] In picolib build, ask clang for the normalised triple (#90722)

This is needed for a workaround to make sure the link later succeeds. I
don't know the reason for that but it is definitely needed.

https://github.com/llvm/llvm-project/pull/89234 will/wants to correct
the triple normalisation for -none- and this means that clang prior to
19, and clang 19 and above will have different answers and therefore
different library paths.

I don't want to bootstrap a clang just for libcxx CI, or require that
anyone building for Arm do the same, so ask the compiler what the triple
should be.

This will be compatible with 17 and 19 when we do update to that
version.

I'm assuming $CC is what anyone locally would set to override the
compiler, and `cc` is the binary name in our CI containers. It's not
perfect but it should cover most use cases.


  Commit: cfca977427230e1731c8552810785ebdd09ca605
      https://github.com/llvm/llvm-project/commit/cfca977427230e1731c8552810785ebdd09ca605
  Author: Tomas Matheson <Tomas.Matheson at arm.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/cmake/modules/LLVMConfig.cmake.in
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/ARM/ARMFeatures.td
    M llvm/utils/TableGen/ARMTargetDefEmitter.cpp

  Log Message:
  -----------
  [AArch64][TargetParser] autogen ArchExtKind enum (#90314)

Re-land 61b2a0e3336aaa0132bbed06dc185aca4ff5d2db. Some Windows builds
were failing because AArch64TargetParserDef.inc is a generated header
which is included transitively into some clang components, but this
information is not available to the build system and therefore there is
a missing edge in the dependency graph. This patch incorporates the
fixes described in ac1ffd3caca12c254e0b8c847aa8ce8e51b6cfbf/D142403.

Thanks to ExtensionSet::toLLVMFeatureList, all values of ArchExtKind
should correspond to a particular -target-feature. The valid values of
-target-feature are in turn defined by SubtargetFeature defs.

Therefore we can generate ArchExtKind from the tablegen data. This is
done by adding an Extension class which derives from SubtargetFeature.

Because the Has* FieldNames do not always correspond to the AEK_
names ("extensions", as defined in TargetParser), and AEK_ names do
not always correspond to -march strings, some additional enum entries
have been added to remap the names. I have renamed these to make the
naming consistent, but split them into a separate PR to keep the diff
reasonable (#90320)


  Commit: f07a2edc64650f44bc592d74bb4c99ddde3772d3
      https://github.com/llvm/llvm-project/commit/f07a2edc64650f44bc592d74bb4c99ddde3772d3
  Author: Gleb Popov <6yearold at gmail.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolLocator/Default/SymbolLocatorDefault.cpp

  Log Message:
  -----------
  [lldb] Teach LocateExecutableSymbolFile to look into LOCALBASE on FreeBSD (#81355)

FreeBSD ports will now install debuginfo under $LOCALBASE/lib/debug/, where $LOCALBASE is typically /usr/local. On FreeBSD search this path in addition to existing debug info paths.

Relevant change on the FreeBSD side: https://reviews.freebsd.org/D43515


  Commit: be5075ab8daf58a0e981e6bda9579a86fba9a748
      https://github.com/llvm/llvm-project/commit/be5075ab8daf58a0e981e6bda9579a86fba9a748
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/test/CodeGenCUDA/kernel-stub-name.cu

  Log Message:
  -----------
  [CUDA] make kernel stub ICF-proof (#90155)

MSVC linker merges functions having comdat which have identical set of
instructions. CUDA uses kernel stub function as key to look up kernels
in device executables. If kernel stub function for different kernels are
merged by ICF, incorrect kernels will be launched.

To prevent ICF from merging kernel stub functions, an unique global
variable is created for each kernel stub function having comdat and a
store is added to the kernel stub function. This makes the set of
instructions in each kernel function unique.

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


  Commit: f050660f4a60415cd840f7fba7ac3698c38376d0
      https://github.com/llvm/llvm-project/commit/f050660f4a60415cd840f7fba7ac3698c38376d0
  Author: jyu2-git <jennifer.yu at intel.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/test/OpenMP/target_ast_print.cpp
    M clang/test/OpenMP/target_map_messages.cpp

  Log Message:
  -----------
  [OpenMP][TR12] change property of map-type modifier. (#90499)

map-type change to "default" instead "ultimate" from [OpenMP5.2]

The change is allowed map-type to be placed any locations within map
modifiers, besides the last location in the modifiers-list, also
map-type can be omitted afterward.


  Commit: 78270cb81bded99bebc6fd8d515bf7cbeff62db4
      https://github.com/llvm/llvm-project/commit/78270cb81bded99bebc6fd8d515bf7cbeff62db4
  Author: annamthomas <anna at azul.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

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

  Log Message:
  -----------
  [UndefOrPoison] [CompileTime] Avoid IDom walk unless required. NFC (#90092)

If the value is not boolean and we are checking for `Undef` or
`UndefOrPoison`, we can avoid the potentially expensive IDom walk.
    
This should improve compile time for isGuaranteedNotToBeUndefOrPoison
and isGuaranteedNotToBeUndef.


  Commit: e22ce615fe31a78857a8574c12a32bddc6da465e
      https://github.com/llvm/llvm-project/commit/e22ce615fe31a78857a8574c12a32bddc6da465e
  Author: Sean Perry <39927768+perry-ca at users.noreply.github.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M clang/tools/clang-format/ClangFormat.cpp
    M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
    M llvm/tools/llvm-cxxmap/llvm-cxxmap.cpp
    M llvm/tools/yaml2obj/yaml2obj.cpp
    M llvm/utils/lit/lit/builtin_commands/cat.py
    M llvm/utils/lit/lit/llvm/config.py

  Log Message:
  -----------
  [z/OS] treat text files as text files so auto-conversion is done (#90128)

To support auto-conversion on z/OS text files need to be opened as text files. These changes will fix a number of LIT failures due to text files not being converted to the internal code page.

update a number of tools so they open the text files as text files
add support in the cat.py to open a text file as a text file (Windows will continue to treat all files as binary so new lines are handled correctly)
add env var definitions to enable auto-conversion in the lit config file.


  Commit: e83c6ddf46d088713a19d9a662ad8c30d5cd207d
      https://github.com/llvm/llvm-project/commit/e83c6ddf46d088713a19d9a662ad8c30d5cd207d
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/RISCV/combined-loads-stored.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with the non profitable masked gather loads.


  Commit: 39e24bdd8ee5f7dd3cce4157167e41a48896e09f
      https://github.com/llvm/llvm-project/commit/39e24bdd8ee5f7dd3cce4157167e41a48896e09f
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachineLICM.cpp
    M llvm/test/CodeGen/AMDGPU/global_atomics_i64_system.ll
    A llvm/test/CodeGen/AMDGPU/machinelicm-copy-like-instrs.mir
    M llvm/test/CodeGen/AMDGPU/optimize-negated-cond.ll
    M llvm/test/CodeGen/Hexagon/expand-vstorerw-undef.ll

  Log Message:
  -----------
  MachineLICM: Allow hoisting REG_SEQUENCE (#90638)


  Commit: 0606747c9664b353fe592069c7b00067ba52d832
      https://github.com/llvm/llvm-project/commit/0606747c9664b353fe592069c7b00067ba52d832
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp

  Log Message:
  -----------
  [AMDGPU] Remove some pointless fallthrough annotations


  Commit: 92266885964f8a906a1b877932da1b0c5f0af7ee
      https://github.com/llvm/llvm-project/commit/92266885964f8a906a1b877932da1b0c5f0af7ee
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    A mlir/test/Dialect/ArmSME/tile-allocation-liveness.mlir

  Log Message:
  -----------
  [mlir][ArmSME] Add a tests showing liveness issues in the tile allocator (#90447)

This test shows a few cases (not at all complete) where the current
ArmSME tile allocator produces incorrect results. The plan is to resolve
these issues with a future tile allocator that uses liveness
information.


  Commit: 167427f5db023308c2908b2e9a23d2de15527a07
      https://github.com/llvm/llvm-project/commit/167427f5db023308c2908b2e9a23d2de15527a07
  Author: Gang Chen <gangc at amd.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/non-entry-alloca.ll
    M llvm/test/CodeGen/AMDGPU/cc-update.ll
    M llvm/test/CodeGen/AMDGPU/kernel-vgpr-spill-mubuf-with-voffset.ll
    M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll

  Log Message:
  -----------
  [AMDGPU] change order of fp and sp in kernel prologue (#90626)

change order of fp and sp in kernel prologue also related codegen tests
to make it easier to merge code into our downstream branches

Signed-off-by: gangc <gangc at amd.com>


  Commit: 2f01fd99eb8c8ab3db9aba72c4f00e31e9e60a05
      https://github.com/llvm/llvm-project/commit/2f01fd99eb8c8ab3db9aba72c4f00e31e9e60a05
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/AsmParser/LLParser.h
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/IR/Function.cpp
    M llvm/lib/IR/Module.cpp
    M llvm/tools/llvm-as/llvm-as.cpp
    M llvm/tools/llvm-dis/llvm-dis.cpp
    M llvm/tools/llvm-link/llvm-link.cpp
    M llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
    M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
    M llvm/unittests/IR/DebugInfoTest.cpp
    M llvm/unittests/IR/InstructionsTest.cpp
    M llvm/unittests/Transforms/Utils/CloningTest.cpp
    M llvm/unittests/Transforms/Utils/LocalTest.cpp

  Log Message:
  -----------
  [RemoveDIs] Load into new debug info format by default in LLVM (#89799)

This patch enables parsing and creating modules directly into the new
debug info format. Prior to this patch, all modules were constructed
with the old debug info format by default, and would be converted into
the new format just before running LLVM passes. This is an important
milestone, in that this means that every tool will now be exposed to
debug records, rather than those that run LLVM passes. As far as I've
tested, all LLVM tools/projects now either handle debug records, or
convert them to the old intrinsic format.

There are a few unit tests that need updating for this patch; these are
either cases of tests that previously needed to set the debug info
format to function, or tests that depend on the old debug info format in
some way. There should be no visible change in the output of any LLVM
tool as a result of this patch, although the likelihood of this patch
breaking downstream code means an NFC tag might be a little misleading,
if not technically incorrect:

This will probably break some downstream tools that don't already handle
debug records. If your downstream code breaks as a result of this
change, the simplest fix is to convert the module in question to the old
debug format before you process it, using
`Module::convertFromNewDbgValues()`. For more information about how to
handle debug records or about what has changed, see the migration
document:
  https://llvm.org/docs/RemoveDIsDebugInfo.html


  Commit: 00821fed09969305b0003d3313c44d1e761a7131
      https://github.com/llvm/llvm-project/commit/00821fed09969305b0003d3313c44d1e761a7131
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/AsmParser/LLParser.h
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/IR/Function.cpp
    M llvm/lib/IR/Module.cpp
    M llvm/tools/llvm-as/llvm-as.cpp
    M llvm/tools/llvm-dis/llvm-dis.cpp
    M llvm/tools/llvm-link/llvm-link.cpp
    M llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
    M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
    M llvm/unittests/IR/DebugInfoTest.cpp
    M llvm/unittests/IR/InstructionsTest.cpp
    M llvm/unittests/Transforms/Utils/CloningTest.cpp
    M llvm/unittests/Transforms/Utils/LocalTest.cpp

  Log Message:
  -----------
  Revert "[RemoveDIs] Load into new debug info format by default in LLVM (#89799)"

A unit test was broken by the above commit:
  https://lab.llvm.org/buildbot/#/builders/139/builds/64627

This reverts commit 2f01fd99eb8c8ab3db9aba72c4f00e31e9e60a05.


  Commit: fa535452b2508e2878b2697fabf546c997d9ca5d
      https://github.com/llvm/llvm-project/commit/fa535452b2508e2878b2697fabf546c997d9ca5d
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    A llvm/test/tools/llvm-objcopy/MachO/install-name-tool.test
    M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp

  Log Message:
  -----------
  [llvm-install-name-tool] Error on non-Mach-O binaries (#90351)

Previously if you passed an ELF binary it would be silently copied with no changes.


  Commit: 6e31714d249f857f15262518327b0f0c9509db72
      https://github.com/llvm/llvm-project/commit/6e31714d249f857f15262518327b0f0c9509db72
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang/lib/Analysis/ExprMutationAnalyzer.cpp
    M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp

  Log Message:
  -----------
  [analysis] assume expr is not mutated after analysis to avoid recursive (#90581)

Fixes: #89376.


  Commit: 4cbe7607c75486dd17a048a45dd8c72c3dbf7e62
      https://github.com/llvm/llvm-project/commit/4cbe7607c75486dd17a048a45dd8c72c3dbf7e62
  Author: Alastair Houghton <ahoughton at apple.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
    A lldb/test/Shell/ObjectFile/ELF/two-text-sections.yaml

  Log Message:
  -----------
  [LLDB][ELF] Fix section unification to not just use names. (#90099)

Section unification cannot just use names, because it's valid for ELF
binaries to have multiple sections with the same name. We should check
other section properties too.

Fixes #88001.

rdar://124467787


  Commit: a00bbcbe7c7b1d5fb437d530555a6940c0b8d06a
      https://github.com/llvm/llvm-project/commit/a00bbcbe7c7b1d5fb437d530555a6940c0b8d06a
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/UsingLibcxx.rst
    M libcxx/include/__config

  Log Message:
  -----------
  [libc++] Remove _LIBCPP_DISABLE_ADDITIONAL_DIAGNOSTICS (#90512)

I strongly suspect nobody ever used that macro since it wasn't very well
known. Furthermore, it only affects a handful of diagnostics and I think
it makes sense to either provide them unconditionally, or to not
provided them at all.


  Commit: 6dfaecf077ade4bf003345501fdcfcebc8409ff7
      https://github.com/llvm/llvm-project/commit/6dfaecf077ade4bf003345501fdcfcebc8409ff7
  Author: Kojo Acquah <KoolJBlack at users.noreply.github.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
    M mlir/test/Dialect/Vector/vector-rewrite-narrow-types.mlir

  Log Message:
  -----------
  [mlir][Vector] Add patterns for efficient unsigned i4 -> i8 conversion emulation (#89131)

This PR builds on https://github.com/llvm/llvm-project/pull/79494 with an additional path for efficient unsigned `i4 ->i8` type extension for 1D/2D operations. This will impact any i4 -> i8/i16/i32/i64 unsigned extensions as well as sitofp i4 -> f8/f16/f32/f64.


  Commit: a764f49b4ae80daa5ba56cf0892bf0ebce48e2b3
      https://github.com/llvm/llvm-project/commit/a764f49b4ae80daa5ba56cf0892bf0ebce48e2b3
  Author: Xiang Li <python3kgae at outlook.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
    A llvm/test/CodeGen/DirectX/ContainerData/EmptySignature.ll

  Log Message:
  -----------
  [DirectX backend] generate ISG1, OSG1 part for compute shader (#90508)

Empty ISG1 and OSG1 parts are generated for compute shader since there's
no signature for compute shader.

Fixes #88778


  Commit: 754072e9a5c0785560953e237229d0fbdd504d04
      https://github.com/llvm/llvm-project/commit/754072e9a5c0785560953e237229d0fbdd504d04
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M libcxx/include/stdexcept

  Log Message:
  -----------
  [NFC][libc++] Fixes comment indention.

The output on eel.is has similar oddities, so I expect this was copy
pasted.


  Commit: 477c705cb0d7cc857fad8184faac523f8ef72c84
      https://github.com/llvm/llvm-project/commit/477c705cb0d7cc857fad8184faac523f8ef72c84
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/test/ClangScanDeps/modules-extern-unrelated.m

  Log Message:
  -----------
  [clang][modules] Allow including module maps to be non-affecting (#89992)

The dependency scanner only puts top-level affecting module map files on
the command line for explicitly building a module. This is done because
any affecting child module map files should be referenced by the
top-level one, meaning listing them explicitly does not have any meaning
and only makes the command lines longer.

However, a problem arises whenever the definition of an affecting module
lives in a module map that is not top-level. Considering the rules
explained above, such module map file would not make it to the command
line. That's why 83973cf157f7850eb133a4bbfa0f8b7958bad215 started
marking the parents of an affecting module map file as affecting too.
This way, the top-level file does make it into the command line.

This can be problematic, though. On macOS, for example, the Darwin
module lives in "/usr/include/Darwin.modulemap" one of many module map
files included by "/usr/include/module.modulemap". Reporting the parent
on the command line forces explicit builds to parse all the other module
map files included by it, which is not necessary and can get expensive
in terms of file system traffic.

This patch solves that performance issue by stopping marking parent
module map files as affecting, and marking module map files as top-level
whenever they are top-level among the set of affecting files, not among
the set of all known files. This means that the top-level
"/usr/include/module.modulemap" is now not marked as affecting and
"/usr/include/Darwin.modulemap" is.


  Commit: 987c036f5413a94aab58bd5e27b653f740a5f7e2
      https://github.com/llvm/llvm-project/commit/987c036f5413a94aab58bd5e27b653f740a5f7e2
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

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

  Log Message:
  -----------
  [bazel][clang] Add missing dependency for 6e31714d249f857f15262518327b0f0c9509db72


  Commit: 6c369cf937b7d9acb98a1fc46b1340cef7703e12
      https://github.com/llvm/llvm-project/commit/6c369cf937b7d9acb98a1fc46b1340cef7703e12
  Author: Tomas Matheson <tomas.matheson at arm.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M clang/lib/Basic/CMakeLists.txt
    M clang/lib/CodeGen/CMakeLists.txt
    M clang/lib/Driver/CMakeLists.txt
    M clang/tools/driver/CMakeLists.txt
    M llvm/include/module.install.modulemap
    M llvm/include/module.modulemap

  Log Message:
  -----------
  [AArch64] Changes missing from cfca97742723 (#90314)


  Commit: cf2f32c97f8fece105557c2357be4809cb9c14a1
      https://github.com/llvm/llvm-project/commit/cf2f32c97f8fece105557c2357be4809cb9c14a1
  Author: David Tellenbach <dtellenbach at apple.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MIRYamlMapping.h
    M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
    M llvm/lib/CodeGen/MIRPrinter.cpp
    A llvm/test/CodeGen/MIR/AArch64/calleesavedinfovalid.mir
    M llvm/test/CodeGen/MIR/Generic/frame-info.mir

  Log Message:
  -----------
  [MIR] Serialize MachineFrameInfo::isCalleeSavedInfoValid() (#90561)

In case of functions without a stack frame no "stack" field is
serialized into MIR which leads to isCalleeSavedInfoValid being false
when reading a MIR file back in. To fix this we should serialize
MachineFrameInfo::isCalleeSavedInfoValid() into MIR.


  Commit: 7396ab1210a2aeee6bab5b73ec6d02975ba51b93
      https://github.com/llvm/llvm-project/commit/7396ab1210a2aeee6bab5b73ec6d02975ba51b93
  Author: Nicolas Miller <nicolas.miller at codeplay.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/test/CodeGen/NVPTX/rotate.ll

  Log Message:
  -----------
  [NVPTX] Fix 64 bits rotations with large shift values (#89399)

ROTL and ROTR can take a shift amount larger than the element size, in
which case the effective shift amount should be the shift amount modulo
the element size.

This patch adds the modulo step when the shift amount isn't known at
compile time. Without it the existing implementation would end up
shifting beyond the type size and give incorrect results.


  Commit: 09f4b06dde65adcd077bd1d10f1165083c1fe410
      https://github.com/llvm/llvm-project/commit/09f4b06dde65adcd077bd1d10f1165083c1fe410
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M clang/test/Driver/riscv-arch.c
    M clang/test/Driver/riscv-profiles.c
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/test/MC/RISCV/invalid-attribute.s
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Refactor profile selection in RISCVISAInfo::parseArchString. (#90700)

Instead of hardcoding the 4 current profile prefixes, treat profile
selection as a fallback if we don't find "rv32" or "rv64".

Update the error message accordingly.


  Commit: cf3c714e4bd7b8a68793f2827080fe3388ae8bb1
      https://github.com/llvm/llvm-project/commit/cf3c714e4bd7b8a68793f2827080fe3388ae8bb1
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/include/llvm/TargetParser/RISCVISAInfo.h
    M llvm/lib/TargetParser/RISCVISAInfo.cpp

  Log Message:
  -----------
  [RISCV] Merge RISCVISAInfo::updateFLen/MinVLen/MaxELen into a single function. (#90665)

This simplifies the callers.


  Commit: 28869a704ef59471cee6c750f2566b133b0ff391
      https://github.com/llvm/llvm-project/commit/28869a704ef59471cee6c750f2566b133b0ff391
  Author: Jan Voung <jvoung at gmail.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M lld/test/COFF/thinlto-index-only.ll
    M lld/test/ELF/lto/thinlto-emit-index.ll
    M lld/test/ELF/lto/thinlto-index-only.ll
    M lld/test/MachO/thinlto-emit-index.ll
    M lld/test/MachO/thinlto-index-only.ll
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/test/Assembler/thinlto-summary.ll
    M llvm/test/Bitcode/summary_version.ll
    M llvm/test/Bitcode/thinlto-alias.ll
    M llvm/test/Bitcode/thinlto-func-summary-vtableref-pgo.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-partial-sample-profile-summary.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-pgo.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph.ll
    M llvm/test/Bitcode/thinlto-function-summary-originalnames.ll
    M llvm/test/Bitcode/thinlto-function-summary-paramaccess.ll
    M llvm/test/ThinLTO/X86/distributed_indexes.ll
    M llvm/test/tools/gold/X86/thinlto.ll
    M llvm/test/tools/llvm-lto/thinlto.ll

  Log Message:
  -----------
  Reapply "Use an abbrev to reduce size of VALUE_GUID records in ThinLTO summaries" (#90610) (#90692)

This reverts commit 2aabfc811670beb843074c765c056fff4a7b443b.

Add fixes to LLD and Gold tests missed in original change.

Co-authored-by: Jan Voung <jvoung at google.com>


  Commit: d1b3648ed9da1ea8f1ca62a150b519f9d08fffaf
      https://github.com/llvm/llvm-project/commit/d1b3648ed9da1ea8f1ca62a150b519f9d08fffaf
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.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] always run PolymorphicOpConversion sequentially (#90721)

It was pointed out in post commit review of
https://github.com/llvm/llvm-project/pull/90597 that the pass should
never have been run in parallel over all functions (and now other top
level operations) in the first place. The mutex used in the pass was
ineffective at preventing races since each instance of the pass would
have a different mutex.


  Commit: aca511734f5ff6204fdc65427566c8bd3b810a24
      https://github.com/llvm/llvm-project/commit/aca511734f5ff6204fdc65427566c8bd3b810a24
  Author: Vinayak Dev <104419489+vinayakdsci at users.noreply.github.com>
  Date:   2024-05-01 (Wed, 01 May 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/hdr/CMakeLists.txt
    A libc/hdr/fcntl_macros.h
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/struct_f_owner_ex.h
    A libc/hdr/types/struct_flock.h
    A libc/hdr/types/struct_flock64.h
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-macros/linux/fcntl-macros.h
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/struct_f_owner_ex.h
    A libc/include/llvm-libc-types/struct_flock.h
    A libc/include/llvm-libc-types/struct_flock64.h
    M libc/spec/posix.td
    M libc/src/fcntl/CMakeLists.txt
    A libc/src/fcntl/fcntl.h
    M libc/src/fcntl/linux/CMakeLists.txt
    A libc/src/fcntl/linux/fcntl.cpp
    M libc/test/src/fcntl/CMakeLists.txt
    A libc/test/src/fcntl/fcntl_test.cpp

  Log Message:
  -----------
  [libc] Implement fcntl() function (#89507)

Fixes #84968. 

Implements the `fcntl()` function defined in the `fcntl.h` header.


  Commit: 1ca600586a61cee41e117a188d880417de3e1c00
      https://github.com/llvm/llvm-project/commit/1ca600586a61cee41e117a188d880417de3e1c00
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp

  Log Message:
  -----------
  [alpha.webkit.UncountedCallArgsChecker] Support more trivial expressions. (#90414)

Treat a compound operator such as |=, array subscription, sizeof, and
non-type template parameter as trivial so long as subexpressions are
also trivial.

Also treat true/false boolean literal as trivial.


  Commit: 91fef0013f2668d1dc0623ede21cf4048d9a733e
      https://github.com/llvm/llvm-project/commit/91fef0013f2668d1dc0623ede21cf4048d9a733e
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M lld/ELF/OutputSections.cpp

  Log Message:
  -----------
  [ELF] Catch zlib deflateInit2 error

The function may return Z_MEM_ERROR or Z_STREAM_ERR. The former does not
have a good way of testing. The latter will be possible with a pending
change that allows setting the compression level, which will come with a
test.


  Commit: 6d44a1ef55b559e59d725b07ffe1da988b4e5f1c
      https://github.com/llvm/llvm-project/commit/6d44a1ef55b559e59d725b07ffe1da988b4e5f1c
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/Options.td
    M lld/ELF/OutputSections.cpp
    M lld/docs/ReleaseNotes.rst
    M lld/docs/ld.lld.1
    M lld/test/ELF/compress-sections.s
    M lld/test/ELF/compressed-debug-level.test

  Log Message:
  -----------
  [ELF] Adjust --compress-sections to support compression level

zstd excels at scaling from low-ratio-very-fast to
high-ratio-pretty-slow. Some users prioritize speed and prefer disk read
speed, while others focus on achieving the highest compression ratio
possible, similar to traditional high-ratio codecs like LZMA.

Add an optional `level` to `--compress-sections` (#84855) to cater to
these diverse needs. While we initially aimed for a one-size-fits-all
approach, this no longer seems to work.
(https://richg42.blogspot.com/2015/11/the-lossless-decompression-pareto.html)

When --compress-debug-sections is used together, make
--compress-sections take precedence since --compress-sections is usually
more specific.

Remove the level distinction between -O/-O1 and -O2 for
--compress-debug-sections=zlib for a more consistent user experience.

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


  Commit: f0fbccb15384393a2ede3328517c1050e9f468ae
      https://github.com/llvm/llvm-project/commit/f0fbccb15384393a2ede3328517c1050e9f468ae
  Author: Igor Kudrin <ikudrin at accesssoftek.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M clang-tools-extra/test/CMakeLists.txt
    M clang-tools-extra/test/lit.site.cfg.py.in

  Log Message:
  -----------
  [clang-tidy] Enable plugin tests with LLVM_INSTALL_TOOLCHAIN_ONLY (#90370)

The only reason for the removed condition was that there was a
dependency for `CTTestTidyModule` on the `clang-tidy-headers` target,
which was only created under the same `NOT LLVM_INSTALL_TOOLCHAIN_ONLY`
condition. It looks like this target is not needed for
`CTTestTidyModule` to build and run, so the dependency can be removed
along with the condition.

See also https://reviews.llvm.org/D111100 for earlier discussions.


  Commit: 71113047298ccb92e6c636a535f0f855a04ee0db
      https://github.com/llvm/llvm-project/commit/71113047298ccb92e6c636a535f0f855a04ee0db
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M flang/lib/Semantics/mod-file.cpp

  Log Message:
  -----------
  [flang] Fix CHECK() crash in module file generator (#90234)

A sanity CHECK() in mod-file.cpp needs to allow for USE association of a
derived type that has the same name as a locally defined generic
interface.

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


  Commit: 465807eedcbf571d43d38e7534f38cffd5f83bec
      https://github.com/llvm/llvm-project/commit/465807eedcbf571d43d38e7534f38cffd5f83bec
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M flang/lib/Semantics/check-declarations.cpp
    M flang/test/Semantics/call14.f90
    M flang/test/Semantics/resolve58.f90

  Log Message:
  -----------
  [flang] Catch missing "not a dummy argument" cases (#90268)

Declaration checking is looking for inappropriate usage of the INTENT,
VALUE, & OPTIONAL attributes in multiple places, and some oddball cases
like ENTRY points are not checked. Centralize the check for attributes
that apply only to dummy arguments into one spot.


  Commit: b88d21127f31c04139281de49dc7be7671bf47d8
      https://github.com/llvm/llvm-project/commit/b88d21127f31c04139281de49dc7be7671bf47d8
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M lldb/cmake/modules/LLDBConfig.cmake
    M lldb/cmake/modules/LLDBFramework.cmake
    M lldb/include/lldb/API/LLDB.h
    M lldb/packages/Python/lldbsuite/test/builders/builder.py
    M lldb/packages/Python/lldbsuite/test/make/Makefile.rules

  Log Message:
  -----------
  Install generated API headers into LLDB.framework (#90666)


  Commit: e846778e52f8586b5092c2fd4cdbec2334e31770
      https://github.com/llvm/llvm-project/commit/e846778e52f8586b5092c2fd4cdbec2334e31770
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp

  Log Message:
  -----------
  [VPlan] Make CallInst optional for VPWidenCallRecipe (NFCI).

Replace relying on the underling CallInst for looking up the called
function and its types by instead adding the called function as operand,
in line with how called functions are handled in CallInst.

Operand bundles, metadata and fast-math flags are optionally used if
there's an underlying CallInst.

This enables creating VPWidenCallRecipes without requiring an underlying
IR instruction.


  Commit: 59ef94d7cf3cb4f5aac514a72d00d1f0fa4a9fb3
      https://github.com/llvm/llvm-project/commit/59ef94d7cf3cb4f5aac514a72d00d1f0fa4a9fb3
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/minbw-with-and-and-scalar-trunc.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/trunc-to-large-than-bw.ll

  Log Message:
  -----------
  [SLP]Do not include the cost of and -1, <v> and emit just <v> after MinBitWidth.

After minbitwidth analysis, and <v>, (power_of_2 - 1 const) can be
transformed into just an <v>, (all_ones const), which can be ignored at
the cost estimation and at the codegen. x264 benchmark has this pattern.

Reviewers: RKSimon

Reviewed By: RKSimon

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


  Commit: fc382db239abea827e7f2ad7a0e18eee17ff5709
      https://github.com/llvm/llvm-project/commit/fc382db239abea827e7f2ad7a0e18eee17ff5709
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/combined-loads-stored.ll

  Log Message:
  -----------
  [SLP]Improve comparison of shuffled loads/masked gathers by adding GEP cost.

In some cases masked gather is less profitable than insert-subvector of
consecutive/strided stores. SLP has this kind of analysis, but need to
improve it by adding the cost of the GEP analysis.
Also, the GEP cost estimation for masked gather is fixed.

Reviewers: RKSimon

Reviewed By: RKSimon

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


  Commit: f2d71305792dbcc48c67d9cfde4d8c33c582fb74
      https://github.com/llvm/llvm-project/commit/f2d71305792dbcc48c67d9cfde4d8c33c582fb74
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M bolt/include/bolt/Profile/DataAggregator.h
    M bolt/lib/Profile/DataAggregator.cpp

  Log Message:
  -----------
  [BOLT][NFC] Simplify DataAggregator::getFallthroughsInTrace (#90752)


  Commit: c4e8e2c67bbfff2d1b23210c375c173aa05e3848
      https://github.com/llvm/llvm-project/commit/c4e8e2c67bbfff2d1b23210c375c173aa05e3848
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M lldb/test/API/driver/quit_speed/TestQuitWithProcess.py

  Log Message:
  -----------
  Skip timing-sensitive test under ASAN


  Commit: dcbf0fcd0d5572f7001ebdd3bda6062593ec172b
      https://github.com/llvm/llvm-project/commit/dcbf0fcd0d5572f7001ebdd3bda6062593ec172b
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    A lldb/scripts/generate-sbapi-dwarf-enum.py
    M lldb/source/API/CMakeLists.txt
    M lldb/utils/TableGen/CMakeLists.txt
    R lldb/utils/TableGen/LLDBSBAPIDWARFEnum.cpp
    M lldb/utils/TableGen/LLDBTableGen.cpp

  Log Message:
  -----------
  [lldb] Use Python script to generate SBLanguages.h (#90753)

Use a Python script to generate SBLanguages.h instead of piggybacking on
LLDB TableGen. This addresses Nico Weber's post-commit feedback.


  Commit: fa9e96a2e55226b1f9f9744f42ac5e925297f819
      https://github.com/llvm/llvm-project/commit/fa9e96a2e55226b1f9f9744f42ac5e925297f819
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M lldb/test/API/macosx/nslog/TestDarwinNSLogOutput.py

  Log Message:
  -----------
  Skip pexpect test under ASAN


  Commit: 82383d5f3fa8289688dcd314f7a89ce5599bbdb2
      https://github.com/llvm/llvm-project/commit/82383d5f3fa8289688dcd314f7a89ce5599bbdb2
  Author: Tai Ly <tai.ly at arm.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/lib/Dialect/Tosa/IR/ShardingInterfaceImpl.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaMakeBroadcastable.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
    M mlir/test/Dialect/Tosa/constant-op-fold.mlir
    M mlir/test/Dialect/Tosa/ops.mlir

  Log Message:
  -----------
  [mlir][tosa] Rename Tosa Div op to IntDiv Op (#80047)

This patch renames Tosa Div Op to IntDiv Op to align with the TOSA Spec.

<!-- Reviewable:start -->
- - -
This change is [<img src="https://reviewable.io/review_button.svg"
height="34" align="absmiddle"
alt="Reviewable"/>](https://reviewable.io/reviews/llvm/llvm-project/80047)
<!-- Reviewable:end -->

Signed-off-by: Tai Ly <tai.ly at arm.com>


  Commit: b8c301f6e22a6a5ebec4b8870327237eb94c5b15
      https://github.com/llvm/llvm-project/commit/b8c301f6e22a6a5ebec4b8870327237eb94c5b15
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M lldb/scripts/generate-sbapi-dwarf-enum.py

  Log Message:
  -----------
  Fix the regex in the sbapi python script


  Commit: f2e808932ceddf503897d0b5c75bc22fb3262349
      https://github.com/llvm/llvm-project/commit/f2e808932ceddf503897d0b5c75bc22fb3262349
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M flang/examples/FeatureList/FeatureList.cpp
    M flang/include/flang/Frontend/FrontendAction.h
    M flang/include/flang/Semantics/semantics.h
    M flang/lib/Frontend/FrontendAction.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Semantics/semantics.cpp
    A flang/test/Driver/message-merging.f90
    M flang/tools/bbc/bbc.cpp

  Log Message:
  -----------
  [flang] Intermix messages from parser and semantic analysis (#90654)

When there are one or more fatal error messages produced by the parser,
semantic analysis is not performed. But when there are messages produced
by the parser and none of them are fatal, those messages are emitted to
the user before compilation continues with semantic analysis, and any
messages produced by semantics are emitted after the messages from
parsing.

This can be confusing for the user, as the messages may no longer all be
in source file location order. It also makes it difficult to write tests
that check for both non-fatal messages from parsing as well as messages
from semantics using inline CHECK: or other expected messages in test
source code.

This patch ensures that if semantic analysis is performed, and non-fatal
messages were produced by the parser, that all the messages will be
combined and emitted in source file order.


  Commit: a1c12794226ffde0a84c96b9188a266eafd85fb3
      https://github.com/llvm/llvm-project/commit/a1c12794226ffde0a84c96b9188a266eafd85fb3
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
    M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h

  Log Message:
  -----------
  [WebAssembly] Add missing feature methods (#90644)


  Commit: 3502d340c9276f1828da9db72f83e5e25b163b8b
      https://github.com/llvm/llvm-project/commit/3502d340c9276f1828da9db72f83e5e25b163b8b
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M flang/lib/Evaluate/fold-implementation.h
    M flang/lib/Evaluate/fold-matmul.h
    M flang/lib/Evaluate/fold-real.cpp
    M flang/lib/Evaluate/fold-reduction.h

  Log Message:
  -----------
  [flang] Adjust transformational folding to match runtime (#90132)

The transformational intrinsic functions MATMUL, DOT_PRODUCT, and NORM2
all involve summing up intermediate products into accumulators. In the
constant folding library, this is done with extended precision Kahan
summation for REAL and COMPLEX arguments, but in the runtime
implementations it is not, and this leads to discrepancies between
folded results and dynamic results.

Disable the use of Kahan summation in folding to resolve these
discrepancies, but don't discard the code, in case we want to add Kahan
summation in the runtime for some or all of these intrinsic functions.


  Commit: 37277d8da8afd3291240a14a19193024065cf7ca
      https://github.com/llvm/llvm-project/commit/37277d8da8afd3291240a14a19193024065cf7ca
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/test/DebugInfo/Generic/gmlt.test

  Log Message:
  -----------
  Modify gmlt.test to XFAIL on apple platforms correctly. (#90779)


  Commit: 505f6da1961ab55c601d7239648c53ce863b5d70
      https://github.com/llvm/llvm-project/commit/505f6da1961ab55c601d7239648c53ce863b5d70
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M flang/include/flang/Common/Fortran-features.h
    M flang/include/flang/Semantics/tools.h
    M flang/lib/Evaluate/common.cpp
    M flang/lib/Evaluate/fold-character.cpp
    M flang/lib/Evaluate/fold-complex.cpp
    M flang/lib/Evaluate/fold-implementation.h
    M flang/lib/Evaluate/fold-integer.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/host.cpp
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Evaluate/variable.cpp
    M flang/lib/Parser/preprocessor.cpp
    M flang/lib/Parser/prescan.cpp
    M flang/lib/Parser/prescan.h
    M flang/lib/Semantics/check-acc-structure.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/check-case.cpp
    M flang/lib/Semantics/check-cuda.cpp
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/check-do-forall.cpp
    M flang/lib/Semantics/check-io.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/data-to-inits.cpp
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/mod-file.cpp
    M flang/lib/Semantics/pointer-assignment.cpp
    M flang/lib/Semantics/program-tree.cpp
    M flang/lib/Semantics/resolve-labels.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/semantics.cpp
    M flang/lib/Semantics/tools.cpp
    M flang/test/Driver/prescanner-diag.f90
    M flang/test/Evaluate/fold-out_of_range.f90
    M flang/test/Preprocessing/include-comment.F90
    M flang/test/Semantics/kinds04_q10.f90

  Log Message:
  -----------
  [flang] Ensure all warning/portability messages are guarded by Should… (#90518)

…Warn()

Many warning messages were being emitted unconditionally. Ensure that
all warnings are conditional on a true result from a call to
common::LanguageFeatureControl::ShouldWarn() so that it is easy for a
driver to disable them all, or, in the future, to provide per-warning
control over them.


  Commit: 0f8d97cccc03246f6b922696b35805c77e022af7
      https://github.com/llvm/llvm-project/commit/0f8d97cccc03246f6b922696b35805c77e022af7
  Author: Perry MacMurray <pmacmurr at quicinc.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/test/CodeGen/Hexagon/hexagon-copy-hoisting.mir

  Log Message:
  -----------
  [Hexagon] Fix hexagon-copy-hoisting.mir (#90740)

The hexagon-copy-hoisting.mir test fails when run with
-verify-machineinstrs. This patch fixes this by disabling
tracksRegLiveness.


  Commit: a2be1b8d03320908c4d4b42e5bd8b7569b1f9aae
      https://github.com/llvm/llvm-project/commit/a2be1b8d03320908c4d4b42e5bd8b7569b1f9aae
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

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

  Log Message:
  -----------
  [msan] Don't modify CFG iterating it (#90691)

In rare cases `SplitBlockAndInsertSimpleForLoop` in `paintOrigin`
crashes outsize iterators.

Somehow existing `SplitBlockAndInsertIfThen` do not invalidate
iterators.


  Commit: c2d892668b7fc296a37679a6b729f40ce08a6179
      https://github.com/llvm/llvm-project/commit/c2d892668b7fc296a37679a6b729f40ce08a6179
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    A llvm/include/llvm/Transforms/Instrumentation/PGOCtxProfLowering.h
    M llvm/lib/Transforms/Instrumentation/CMakeLists.txt
    A llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
    M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
    A llvm/test/Transforms/PGOProfile/ctx-instrumentation.ll

  Log Message:
  -----------
  [llvm][ctx_profile] Add instrumentation (#90136)

This adds instrumenting callsites to PGOInstrumentation, *if* contextual profiling is requested. The latter also enables inserting counters in the entry basic block and disables value profiling (the latter is a point in time change)

This change adds the skeleton of the contextual profiling lowering pass, just so we can introduce the flag controlling that and the API to check that. The actual lowering pass will be introduced in a subsequent patch.

(Tracking Issue: #89287, RFC referenced there)


  Commit: 41466a177a95ee6ff699d190f7625f0b32922a20
      https://github.com/llvm/llvm-project/commit/41466a177a95ee6ff699d190f7625f0b32922a20
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/SDPatternMatch.h
    M llvm/test/CodeGen/X86/subvectorwise-store-of-vector-splat.ll

  Log Message:
  -----------
  [SelectionDAG] Correct the implementation of m_AllOnes. (#90776)

Previously we used SpecificInt_match which created a 64 bit APInt
containing all ones. This was then checked against other constants by
using APInt::isSameValue.

If the constnats have different bitwidths, APInt::isSameValue will zero
extend the constant to make them match. This means for any constant less
than 64 bits, m_AllOnes was guaranteed to fail since the zero extended
value would not match all ones.

I think would also incorrectly consider an i128 with 64 leading zeros
and 64 trailing zeros as matching m_AllOnes.

To avoid this, this patch adds a new matcher class that just calls
isAllOnesOrAllOnesSplat.


  Commit: a7e07988549c79d9bfecec3e630141fff61f52f0
      https://github.com/llvm/llvm-project/commit/a7e07988549c79d9bfecec3e630141fff61f52f0
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp

  Log Message:
  -----------
  [RISCV] Use binary search to look up supported profiles. (#90767)

As the list of profiles grow, this will be a more efficient lookup.

Because the profile name is a prefix of the Arch string, we use
upper_bound to find the first profile that definitely comes after the
Arch string. If that isn't the first supported profile, we move back 1
profile and see if that profile is a prefix of our Arch string.


  Commit: 500dda049ea1b140a888f284b3c512cd77af6fce
      https://github.com/llvm/llvm-project/commit/500dda049ea1b140a888f284b3c512cd77af6fce
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/lib/TargetParser/RISCVISAInfo.cpp

  Log Message:
  -----------
  [RISCV] Refactor version major version parsing in parseNormalizedArchString. NFC

Use an index variable and array indexing instead of manipulating
a temporary StringRef.


  Commit: e98cb360884db03a90f148a8454bb07152621e8a
      https://github.com/llvm/llvm-project/commit/e98cb360884db03a90f148a8454bb07152621e8a
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M flang/lib/Evaluate/fold-implementation.h

  Log Message:
  -----------
  [flang][build] Fix build warning (#90789)

Fix a warning from some build compilers about an unused lambda capture.
There are some `if constexpr` branches in the body of the code that do
not use the capture.


  Commit: bf447e27d2ac7a81ea714ceca932eecaac6db77b
      https://github.com/llvm/llvm-project/commit/bf447e27d2ac7a81ea714ceca932eecaac6db77b
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2024-05-01 (Wed, 01 May 2024)

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

  Log Message:
  -----------
  [llvm/Support] Make `llvm::sys::RWMutex` Lockable (#90667)

This patch extends the `llvm::sys::RWMutex` class to fullfill the
`Lockable` requirement to include attempted locking, by implementing a
`bool try_lock` member function.

As the name suggests, this method will try to acquire to lock in a
non-blocking fashion and release it immediately. If it managed to
acquire the lock, returns `true`, otherwise returns `false`.

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


  Commit: 0af415d436e8d352397d3c5b279fca5d9b4e29f5
      https://github.com/llvm/llvm-project/commit/0af415d436e8d352397d3c5b279fca5d9b4e29f5
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

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

  Log Message:
  -----------
  [compiler-rt][CMake] Do not explicitly set CMP0114 to old (#90386)

This was added in def0823f1d2db78c4a18b15084407734a45e96c5 to fix a bot
failure, specifically for the standalone build. This does not seem to be
an issue anymore, and setting the policy explicitly to OLD causes
warnings with newer CMake versions.

This patch removes setting the policy to OLD to get rid of the warning.


  Commit: 78885395c802b5c1eea3decece3695a7240902b1
      https://github.com/llvm/llvm-project/commit/78885395c802b5c1eea3decece3695a7240902b1
  Author: Peiming Liu <peiming at google.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.h
    A mlir/test/Dialect/SparseTensor/fuse_sparse_pad_with_consumer.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/padded_sparse_conv_2d.mlir

  Log Message:
  -----------
  [mlir][sparse] support tensor.pad on CSR tensors (#90687)


  Commit: 56e4111f9da499072e5119ccf92693202430f894
      https://github.com/llvm/llvm-project/commit/56e4111f9da499072e5119ccf92693202430f894
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M flang/test/Semantics/kinds04_q16.f90

  Log Message:
  -----------
  [flang] Update test results (#90791)

Some additional portability warnings now issue for a test; ensure that
they are expected.


  Commit: 8c64a304123b77d598eda73a14cf3ff0ec7970dc
      https://github.com/llvm/llvm-project/commit/8c64a304123b77d598eda73a14cf3ff0ec7970dc
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Basic/Targets/WebAssembly.cpp
    M clang/test/Preprocessor/wasm-target-features.c

  Log Message:
  -----------
  [WebAssembly] Disable reference types in generic CPU (#90792)

#80923 newly enabled multivalue and reference-types in the generic CPU.
But enabling reference-types ended up breaking up Wasm's Chromium CI
(https://chromium-review.googlesource.com/c/emscripten-releases/+/5500231)
because the way the table index is encoded is different from MVP (u32)
vs. reference-types (LEB), which caused different encodings for
`call_indirect`.

And Chromium CI's and Emscripten's minimum required node version is v16,
which does not yet support reference-types, which does not recognize
that table index encoding. reference-types is first supported in node
v17.2.

We knew the current minimum required node for Emscripten (v16) did not
support reference-types, but thought it was fine because unless you
explicitly use `__funcref` or `__externref` things would be fine, and if
you want to use them explicitly, you would have a newer node. But it
turned out it also affected the encoding of `call_indirect`.

While we are discussing the potential solutions, I will disable
reference-types to unblock the rolls.


  Commit: 4b75fcf0a50f4be955b611e8e20d84d90ea133c8
      https://github.com/llvm/llvm-project/commit/4b75fcf0a50f4be955b611e8e20d84d90ea133c8
  Author: YunQiang Su <syq at debian.org>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M clang/docs/Multilib.rst
    M clang/test/Driver/arm-ias-Wa.s
    M clang/test/Driver/arm-triple.c
    M clang/test/Driver/baremetal-multilib-layered.yaml
    M clang/test/Driver/baremetal-multilib.yaml
    M clang/test/Driver/baremetal-sysroot.cpp
    M clang/test/Driver/baremetal.cpp
    M clang/test/Driver/print-multi-selection-flags.c
    M clang/unittests/Interpreter/IncrementalCompilerBuilderTest.cpp
    M llvm/lib/TargetParser/Triple.cpp
    M llvm/unittests/TargetParser/TripleTest.cpp

  Log Message:
  -----------
  Triple::normalize: Use none as OS for XX-none-ABI (#89638)

When parsing a 3-component triple, after we determine Arch and Env, if
the middle component is "none", treat it as OS instead of Vendor.

See:
https://discourse.llvm.org/t/rfc-baremetal-target-triple-normalization/78524
Fixes: #89582.


  Commit: d484c4d3501a7ff3d00a6e0cfad026a3b01d320c
      https://github.com/llvm/llvm-project/commit/d484c4d3501a7ff3d00a6e0cfad026a3b01d320c
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp
    A llvm/test/CodeGen/AArch64/interleaved-load-combine-pr90695.ll

  Log Message:
  -----------
  [InterleavedLoadCombine] Bail out on non-byte-sized vector element type (#90705)

Vectors are always tightly packed, and elements of non-byte-sized
usually do not have a well-defined (byte) offset.

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


  Commit: ad7ee900c70ba4e8dd442b35cddf390369698a59
      https://github.com/llvm/llvm-project/commit/ad7ee900c70ba4e8dd442b35cddf390369698a59
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

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

  Log Message:
  -----------
  [BOLT][NFC] Add BOLTReserved to BinaryContext (#90766)

Use BOLTReserved to track binary space preallocated for BOLT.


  Commit: 3d65bd935a91439c483c56a966edc283a2b1130d
      https://github.com/llvm/llvm-project/commit/3d65bd935a91439c483c56a966edc283a2b1130d
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M llvm/include/llvm/IR/Attributes.h
    M llvm/lib/IR/AttributeImpl.h
    M llvm/lib/IR/Attributes.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Transforms/Utils/FunctionComparator.cpp

  Log Message:
  -----------
  [NFC] Reduce copies created of ConstantRange when getting ConstantRangeAttributes (#90335)

Think that it can be good to reduce the number of copies created when
working with ConstantRangeAttributes.


  Commit: 06449095c22097508854c00f06d27bdccf1ed667
      https://github.com/llvm/llvm-project/commit/06449095c22097508854c00f06d27bdccf1ed667
  Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
    A llvm/test/CodeGen/RISCV/zicfilp-indirect-branch.ll

  Log Message:
  -----------
  [RISCV] Avoid using x7/t2 for indirect branches which need landing pad. (#68292)

When Zicfilp enabled, this avoids selecting indirect jumps to PseudoBRIND/PseudoCALLIndirect/PseudoTAILIndirect, since they may uses X7 as rs1 and be identified as a software guarded jump. There is an another PR #66762 to use software guarded jump for jumptable branch.


  Commit: a370d57b9ff9e385e9a51bf6b1d366890f4091cd
      https://github.com/llvm/llvm-project/commit/a370d57b9ff9e385e9a51bf6b1d366890f4091cd
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M clang-tools-extra/docs/clang-tidy/checks/list.rst

  Log Message:
  -----------
  [NFC][clang-tidy] update check list document (#90813)


  Commit: 889e60db2daf93c0bb3f7ae0db0a60bfefb86d89
      https://github.com/llvm/llvm-project/commit/889e60db2daf93c0bb3f7ae0db0a60bfefb86d89
  Author: Piotr Zegar <me at piotrzegar.pl>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/CastingThroughVoidCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/casting-through-void.cpp

  Log Message:
  -----------
  [clang-tidy] Ignore casts from void to void in bugprone-casting-through-void (#90566)

Improved bugprone-casting-through-void check by ignoring casts where
source is already a void pointer, making middle void pointer casts
bug-free.

Closes #87069


  Commit: 1f1a417925624a67cb6cb2bbbdd901e0e90ee237
      https://github.com/llvm/llvm-project/commit/1f1a417925624a67cb6cb2bbbdd901e0e90ee237
  Author: Piotr Zegar <me at piotrzegar.pl>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/ConstReturnTypeCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/readability/const-return-type.cpp

  Log Message:
  -----------
  [clang-tidy] Relax readability-const-return-type (#90560)

>From now readability-const-return-type won't provide warnings for
returning const types, where const is not on top level. In such case
const there is a performance issue, but not a readability.

Closes #73270


  Commit: df91cde4da62aec22e4d384b1bc800590c7f561a
      https://github.com/llvm/llvm-project/commit/df91cde4da62aec22e4d384b1bc800590c7f561a
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args-wtf-containers.cpp
    M clang/test/Analysis/Checkers/WebKit/mock-types.h

  Log Message:
  -----------
  [alpha.webkit.UncountedCallArgsChecker] Ignore methods of WTF String classes. (#90704)


  Commit: dd09a7db03f8ebaeb3f49203bb53ac730666c1b4
      https://github.com/llvm/llvm-project/commit/dd09a7db03f8ebaeb3f49203bb53ac730666c1b4
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M bolt/lib/Passes/SplitFunctions.cpp
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp

  Log Message:
  -----------
  [BOLT] Add split function support for the Linux kernel (#90541)

While rewriting the Linux kernel, we try to fit optimized functions into
their original boundaries. When a function becomes larger, we skip it
during the rewrite and end up with less than optimal code layout. To
overcome that issue, add support for --split-function option so that hot
part of the function could be fit into the original space. The cold part
should go to reserved space in the binary.


  Commit: 59ab29213deffb8a18a18d2077ed268f5254b7f2
      https://github.com/llvm/llvm-project/commit/59ab29213deffb8a18a18d2077ed268f5254b7f2
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
    M bolt/test/X86/linux-static-keys.s

  Log Message:
  -----------
  [BOLT] Register Linux kernel dynamic branch offsets (#90677)

To match profile data to code we need to know branch instruction offsets
within a function. For this reason, we mark branches with the "Offset"
annotation while disassembling the code. However, _dynamic_ branches in
the Linux kernel could be NOPs in disassembled code, and we ignore them
while adding annotations. We need to explicitly add the "Offset"
annotation while creating dynamic branches.

Note that without this change, `getInstructionAtOffset()` would still
return a branch instruction if the offset matched the last instruction
in a basic block (and the profile data was matched correctly). However,
the function failed for cases when the searched instruction was followed
by an unconditional jump. "Offset" annotation solves this case.


  Commit: b86e0992bfa6c58be077d82d824016f590ac5d90
      https://github.com/llvm/llvm-project/commit/b86e0992bfa6c58be077d82d824016f590ac5d90
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/test/CXX/temp/temp.arg/temp.arg.template/p3-2a.cpp
    M clang/test/CodeGenCXX/mangle-concept.cpp
    A clang/test/Driver/frelaxed-template-template-args.cpp
    M clang/test/Lexer/cxx-features.cpp
    A clang/test/SemaTemplate/cwg2398.cpp
    M clang/test/SemaTemplate/default-arguments.cpp
    M clang/test/SemaTemplate/instantiate-template-template-parm.cpp
    M clang/test/SemaTemplate/nested-template.cpp
    M clang/test/SemaTemplate/temp_arg_template.cpp
    M clang/test/SemaTemplate/temp_arg_template_cxx1z.cpp
    M clang/www/cxx_status.html

  Log Message:
  -----------
  [clang] Enable C++17 relaxed template template argument matching by default (#89807)

This patch will finally allow us to mark C++17 support in clang as
complete.
    
In order to implement this as a DR and avoid breaking reasonable code
that worked before P0522, this patch implements a provisional resolution
for CWG2398: When deducing template template parameters against each other,
and the argument side names a template specialization, instead of just
deducing A, we deduce a synthesized template template parameter based
on A, but with it's parameters using the template specialization's arguments
as defaults.
    
The driver flag is deprecated with a warning.
    
Fixes https://github.com/llvm/llvm-project/issues/36505


  Commit: e3f42b02a4129947ca2dd820bfb63ffed83027b7
      https://github.com/llvm/llvm-project/commit/e3f42b02a4129947ca2dd820bfb63ffed83027b7
  Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
    M llvm/test/MC/RISCV/tail-call.s

  Log Message:
  -----------
  [RISCV] Expand PseudoTAIL with t2 instead of t1 for Zicfilp. (#89014)

PseudoTail should be a software guarded branch in Ziciflp, since its
branch target is known in link time. JALR/C.JR/C.JALR with rs1 as t2 is
termed a software guarded branch. Such branches do not need to land on a
lpad instruction.

ABI Change PR: https://github.com/riscv-non-isa/riscv-asm-manual/pull/93


  Commit: 597a3150e932a9423c65b5ea4b53dd431aff5865
      https://github.com/llvm/llvm-project/commit/597a3150e932a9423c65b5ea4b53dd431aff5865
  Author: martinboehme <mboehme at google.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp

  Log Message:
  -----------
  [clang][dataflow] Don't propagate result objects in unevaluated contexts (#90438)

Trying to do so can cause crashes -- see newly added test and the
comments in
the fix.

We're starting to see a repeating pattern here: We're getting crashes
because
`ResultObjectVisitor` and `getReferencedDecls()` don't agree on which
parts of
the AST to visit and, hence, which fields should be modeled.

I think we should ensure consistency between these two parts of the code
by
using a `RecursiveASTVisitor` in `getReferencedDecls()`[^1]; the
`Traverse...()` functions that control which parts of the AST we visit
would go
in a common base class that would be used for both `ResultObjectVisitor`
and
`getReferencedDecls()`.

I'd like to focus this PR, however, on a targeted fix for the current
crash and
postpone the refactoring to a later PR (which will be easier to revert
if there
are unintended side-effects).

[^1]: As an added bonus, this would make the code better structured and
more
efficient than the current sequence of `if (dyn_cast<T>(...))`
statements).


  Commit: 376bc73b34d2cc007c8f8cf533e7cd7258d7a313
      https://github.com/llvm/llvm-project/commit/376bc73b34d2cc007c8f8cf533e7cd7258d7a313
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M llvm/test/CodeGen/SystemZ/atomic-store-08.ll

  Log Message:
  -----------
  SystemZ: Fix accidentally commented out run line in test


  Commit: 15027be6a5c5cf870f25af8de05d6d06c767238f
      https://github.com/llvm/llvm-project/commit/15027be6a5c5cf870f25af8de05d6d06c767238f
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M llvm/test/CodeGen/SystemZ/copy-phys-reg-gr128-to-vr128.mir

  Log Message:
  -----------
  SystemZ: Fix test failing the verifier


  Commit: 8bec96447ffee3909ef65241f999dd3e0ebe98e3
      https://github.com/llvm/llvm-project/commit/8bec96447ffee3909ef65241f999dd3e0ebe98e3
  Author: Christian Sigg <chsigg at users.noreply.github.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

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

  Log Message:
  -----------
  [lldb][bazel] Fix BUILD after dcbf0fcd0d5572f7001ebdd3bda6062593ec172b. (#90825)


  Commit: cd132dcbeb0fc79fd657bd5e0a8e9244c3fb5da6
      https://github.com/llvm/llvm-project/commit/cd132dcbeb0fc79fd657bd5e0a8e9244c3fb5da6
  Author: Oleksandr T <oleksandr.tarasiuk at outlook.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDecl.cpp
    A clang/test/Sema/incomplete-struct-decl.cpp

  Log Message:
  -----------
  [clang] fix(85447): clang 18.1.0 crashes in clang::ASTContext::getTypeInfoImpl (#89850)

Fixes #85447

--- 

This PR resolves a crash in `ActOnUninitializedDecl` due to an oversight
in updating the `isInvalidDecl` state before invocation. The crash
occurs due to a missing invocation of `setInvalidDecl()` for an invalid
`Anon` declaration. To address this issue, the `setInvalidDecl()` method
is now properly invoked to mark the `Anon` declaration as invalid before
running `ActOnUninitializedDecl()`.


  Commit: 16096325a5ff66d26b7e3424e7fac029c3dd35ea
      https://github.com/llvm/llvm-project/commit/16096325a5ff66d26b7e3424e7fac029c3dd35ea
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [clang][Docs] Add release note for {target}-none-{environment} triple normalization changes (#90734)

That were implemented by
https://github.com/llvm/llvm-project/pull/89638.


  Commit: e19f7221412f4b49f2aa2a3d8a07ffd3debab0d8
      https://github.com/llvm/llvm-project/commit/e19f7221412f4b49f2aa2a3d8a07ffd3debab0d8
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M lldb/docs/use/tutorial.rst

  Log Message:
  -----------
  [lldb][Docs] Use proper LLDB/GDB project branding in tutorial (#90712)

Except when referring to the program binaries.


  Commit: 176d6fbed3988032dbdabe7abfc5f54e1f0e2bbb
      https://github.com/llvm/llvm-project/commit/176d6fbed3988032dbdabe7abfc5f54e1f0e2bbb
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    R lldb/docs/lldb-for-gdb-users.txt

  Log Message:
  -----------
  [lldb][Docs] Remove .txt copy of tutorial (#90585)

This was last modified in 4fd3347d6e4b0c873c789528e1c9a1b55990d1b6 in
2021 and was made obsolete by the RST version that
edb874b2310dc6eeaa27330ca1b1c013da7bdd65 added in 2019.

There are some differences but at this point, I'd bet the RST is the
correct one.


  Commit: 528b512b13e2ade4657b25dbb809bafd28c8b170
      https://github.com/llvm/llvm-project/commit/528b512b13e2ade4657b25dbb809bafd28c8b170
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M lldb/test/API/lang/c/calling-conventions/TestCCallingConventions.py

  Log Message:
  -----------
  [lldb][test][FreeBSD] Narrow vectorcall xfail to x86 platforms (#84024)

This relates to #56084.

vectorcall only works on x86
https://clang.llvm.org/docs/AttributeReference.html#vectorcall so
elsewhere it fails to compile. Which is expected on AArch64 for example
so is treated as a pass.


  Commit: a015f015db21e02cbce4ff9d15d0b293e45d0831
      https://github.com/llvm/llvm-project/commit/a015f015db21e02cbce4ff9d15d0b293e45d0831
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M lldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py

  Log Message:
  -----------
  [lldb][test][FreeBSD] Remove corefile test xfails (#84022)

Fixes #48759

As stated on the issue this was fixed by a change in FreeBSD 13, and
I've confirmed that it passes on 14 as well.


  Commit: c32a4f83b59c4293f0b91503ed217371ae1ab543
      https://github.com/llvm/llvm-project/commit/c32a4f83b59c4293f0b91503ed217371ae1ab543
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h
    M llvm/unittests/ExecutionEngine/Orc/ObjectLinkingLayerTest.cpp

  Log Message:
  -----------
  [ORC] Allow removal of ObjectLinkingLayer Plugins.

This adds a removePlugin operation to ObjectLinkingLayer. The removal of a
plugin will be visible in all links started after the removal (ongoing links
started before the removal will still use the removed plugin).

Coding my way home: 17.56037S, 149.61118W


  Commit: d00ed836e77759414afd40c02eeca5651657438f
      https://github.com/llvm/llvm-project/commit/d00ed836e77759414afd40c02eeca5651657438f
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolLocator/Default/SymbolLocatorDefault.cpp

  Log Message:
  -----------
  [lldb] Fix build on FreeBSD

Missing llvm:: namespace for StringRef.


  Commit: 171aeb20ad465a49065730719731aae405c1d167
      https://github.com/llvm/llvm-project/commit/171aeb20ad465a49065730719731aae405c1d167
  Author: zxc12523 <76193329+zxc12523 at users.noreply.github.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll
    M llvm/test/CodeGen/X86/known-never-zero.ll
    A llvm/test/CodeGen/X86/pr89877.ll

  Log Message:
  -----------
  [DAG] SelectionDAG.computeKnownBits - add NSW/NUW flags support to ISD::SHL handling (#89877)

fix #89414


  Commit: f17b1fb6673e9ed6a7d9180230586113bb99748c
      https://github.com/llvm/llvm-project/commit/f17b1fb6673e9ed6a7d9180230586113bb99748c
  Author: Krishna Narayanan <84722531+Krishna-13-cyber at users.noreply.github.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CGExprScalar.cpp
    A clang/test/CodeGen/X86/x86-atomic-float.c
    M clang/test/CodeGen/X86/x86-atomic-long_double.c

  Log Message:
  -----------
  [Clang][CodeGen] Optimised LLVM IR for atomic increments/decrements on floats (#89362)

Fixes #53079


  Commit: b6328db80b4294cf83a3471ecdfab33003fa742d
      https://github.com/llvm/llvm-project/commit/b6328db80b4294cf83a3471ecdfab33003fa742d
  Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/test/CodeGenOpenCLCXX/addrspace-with-class.clcpp

  Log Message:
  -----------
  [clang][CodeGen] Put constant initializer globals into constant addrspace (#90048)

Place constant initializer globals into the constant address space.
Clang generates such globals for e.g. larger array member initializers
of classes and then emits copy operations from the global to the
object(s). The globals are never written so they ought to be in the
constant address space.


  Commit: 175d2971020ceaad3e1adcf9bb92e4ebaaa449ee
      https://github.com/llvm/llvm-project/commit/175d2971020ceaad3e1adcf9bb92e4ebaaa449ee
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/MemorySSA.h
    M llvm/include/llvm/Transforms/Utils/UnrollLoop.h
    M llvm/lib/Analysis/MemorySSA.cpp
    M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
    M llvm/lib/Transforms/Utils/LoopUnroll.cpp
    M llvm/test/Transforms/LoopUnroll/shifted-tripcount.ll
    M llvm/test/Transforms/LoopUnroll/unroll-loads-cse.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/extra-unroll-simplifications.ll

  Log Message:
  -----------
  [LoopUnroll] Add CSE to remove redundant loads after unrolling. (#83860)

This patch adds loadCSE support to simplifyLoopAfterUnroll. It is based
on EarlyCSE's implementation using ScopeHashTable and is using SCEV for
accessed pointers to check to find redundant loads after unrolling.

This applies to the late unroll pass only, for full unrolling those
redundant loads will be cleaned up by the regular pipeline.

The current approach constructs MSSA on-demand per-loop, but there is
still small but notable compile-time impact:

stage1-O3  +0.04%
stage1-ReleaseThinLTO +0.06%
stage1-ReleaseLTO-g +0.05%
stage1-O0-g +0.02%
stage2-O3 +0.09%
stage2-O0-g +0.04%
stage2-clang +0.02%


https://llvm-compile-time-tracker.com/compare.php?from=c089fa5a729e217d0c0d4647656386dac1a1b135&to=ec7c0f27cb5c12b600d9adfc8543d131765ec7be&stat=instructions:u

This benefits some workloads with runtime-unrolling disabled,
where users use pragmas to force unrolling, as well as with
runtime unrolling enabled.

On SPEC/MultiSource, this removes a number of loads after unrolling
on AArch64 with runtime unrolling enabled.

```
External/S...te/526.blender_r/526.blender_r    96
MultiSourc...rks/mediabench/gsm/toast/toast    39
SingleSource/Benchmarks/Misc/ffbench            4
External/SPEC/CINT2006/403.gcc/403.gcc         18
MultiSourc.../Applications/JM/ldecod/ldecod     4
MultiSourc.../mediabench/jpeg/jpeg-6a/cjpeg     6
MultiSourc...OE-ProxyApps-C/miniGMG/miniGMG     9
MultiSourc...e/Applications/ClamAV/clamscan     4
MultiSourc.../MallocBench/espresso/espresso     3
MultiSourc...dence-flt/LinearDependence-flt     2
MultiSourc...ch/office-ispell/office-ispell     4
MultiSourc...ch/consumer-jpeg/consumer-jpeg     6
MultiSourc...ench/security-sha/security-sha    11
MultiSourc...chmarks/McCat/04-bisect/bisect     3
SingleSour...tTests/2020-01-06-coverage-009    12
MultiSourc...ench/telecomm-gsm/telecomm-gsm    39
MultiSourc...lds-flt/CrossingThresholds-flt    24
MultiSourc...dence-dbl/LinearDependence-dbl     2
External/S...C/CINT2006/445.gobmk/445.gobmk     6
MultiSourc...enchmarks/mafft/pairlocalalign    53
External/S...31.deepsjeng_r/531.deepsjeng_r     3
External/S...rate/510.parest_r/510.parest_r    58
External/S...NT2006/464.h264ref/464.h264ref    29
External/S...NT2017rate/502.gcc_r/502.gcc_r    45
External/S...C/CINT2006/456.hmmer/456.hmmer     6
External/S...te/538.imagick_r/538.imagick_r    18
External/S.../CFP2006/447.dealII/447.dealII     4
MultiSourc...OE-ProxyApps-C++/miniFE/miniFE    12
External/S...2017rate/525.x264_r/525.x264_r    36
MultiSourc...Benchmarks/7zip/7zip-benchmark    33
MultiSourc...hmarks/ASC_Sequoia/AMGmk/AMGmk     2
MultiSourc...chmarks/VersaBench/8b10b/8b10b     1
MultiSourc.../Applications/JM/lencod/lencod   116
MultiSourc...lds-dbl/CrossingThresholds-dbl    24
MultiSource/Benchmarks/McCat/05-eks/eks        15
```

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


  Commit: d9fc5babb96ca9c75f36f9cf3d3f2a55ddc0ab4d
      https://github.com/llvm/llvm-project/commit/d9fc5babb96ca9c75f36f9cf3d3f2a55ddc0ab4d
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

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

  Log Message:
  -----------
  DAG: Implement softening for fp atomic store (#90840)

This will prevent SystemZ test regressions in a future change, tested by
#90826


  Commit: 69e7cb587304e3706aac23c50b3d37651eb11330
      https://github.com/llvm/llvm-project/commit/69e7cb587304e3706aac23c50b3d37651eb11330
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    A flang/test/Transforms/debug-90683.fir

  Log Message:
  -----------
  [flang] Add a test for fir.real debug conversion. (#90726)

This is an accompanying test for the fix done in #90683. It checks that
fir.real conversion works ok.

The failing fortran source in the #90683 generates fir.real type in the
target-rewrite pass which caused the original issue.


  Commit: c2f29caee4b8388cb185cab165a72fdb9ecef1e6
      https://github.com/llvm/llvm-project/commit/c2f29caee4b8388cb185cab165a72fdb9ecef1e6
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M libcxx/include/tuple

  Log Message:
  -----------
  [libc++][NFC] Explicitly delete assignment operator in tuple (#90604)


  Commit: 2252c5c42b95dd12dda0c7fb1b2811f943b21949
      https://github.com/llvm/llvm-project/commit/2252c5c42b95dd12dda0c7fb1b2811f943b21949
  Author: Weaver <Tom.Weaver at sony.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp

  Log Message:
  -----------
  Revert "[clang][dataflow] Don't propagate result objects in unevaluated contexts (#90438)"

This reverts commit 597a3150e932a9423c65b5ea4b53dd431aff5865.

Caused test failure on the following buildbot:
https://lab.llvm.org/buildbot/#/builders/216/builds/38446


  Commit: 981aa6fcf68ffda877f19c8d59003c067cc6ef4b
      https://github.com/llvm/llvm-project/commit/981aa6fcf68ffda877f19c8d59003c067cc6ef4b
  Author: Valery Pykhtin <valery.pykhtin at gmail.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
    M llvm/test/CodeGen/AMDGPU/si-annotate-dbg-info.ll

  Log Message:
  -----------
  [AMDGPU] Fix incorrect stepping in gdb for amdgcn.end.cf intrinsic. (#83010)

After #73958 gdb.rocm/lane-execution.exp test started to fail due to
incorrect debug location. This is kind of a revert patch.


  Commit: 779f40c088c8f827b3cb83dd2b68dab1bd05b55a
      https://github.com/llvm/llvm-project/commit/779f40c088c8f827b3cb83dd2b68dab1bd05b55a
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M flang/lib/Parser/openmp-parsers.cpp
    A flang/test/Parser/OpenMP/fail-construct1.f90
    A flang/test/Parser/OpenMP/fail-construct2.f90

  Log Message:
  -----------
  [Flang][OpenMP] Give better errors during parsing failures (#90480)

Similar to OpenACC handling.

Fixes #90452


  Commit: f2daa32fcaa061daa04546c343198d876e635def
      https://github.com/llvm/llvm-project/commit/f2daa32fcaa061daa04546c343198d876e635def
  Author: Christian Kandeler <christian.kandeler at qt.io>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M clang-tools-extra/clangd/refactor/tweaks/ScopifyEnum.cpp
    M clang-tools-extra/clangd/unittests/tweaks/ScopifyEnumTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [clangd] Remove potential prefix from enum value names (#83412)

... when converting unscoped to scoped enums.
With traditional enums, a popular technique to guard against potential
name clashes is to use the enum name as a pseudo-namespace, like this:
  enum MyEnum { MyEnumValue1, MyEnumValue2 };
With scoped enums, this makes no sense, making it extremely unlikely
that the user wants to keep such a prefix when modernizing. Therefore,
our tweak now removes it.


  Commit: 5d9889a6c6c97c92380c8eee48eaa35067f63766
      https://github.com/llvm/llvm-project/commit/5d9889a6c6c97c92380c8eee48eaa35067f63766
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/test/AST/Interp/records.cpp

  Log Message:
  -----------
  [clang][Interp] Fix zero-initializing records with non-trivial ctors

We need to do the zero-init and then subsequently call the constructor.


  Commit: 35e73e7cc8c4078ea25151da3958a114591bf700
      https://github.com/llvm/llvm-project/commit/35e73e7cc8c4078ea25151da3958a114591bf700
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/memcpy-scoped-aa.ll

  Log Message:
  -----------
  [X86] Regenerate memcpy-scoped-aa.ll


  Commit: b6d24cb018777d8e54e629114abbaadfefd95d8a
      https://github.com/llvm/llvm-project/commit/b6d24cb018777d8e54e629114abbaadfefd95d8a
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

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

  Log Message:
  -----------
  DAG: Implement softening for fp atomic load (#90839)


  Commit: e5fb6564358f10c01d7533f2f805eedd7d663417
      https://github.com/llvm/llvm-project/commit/e5fb6564358f10c01d7533f2f805eedd7d663417
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

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

  Log Message:
  -----------
  [clang][Interp] Handle RecoveryExprs

Instead of checking containsErrors() for every expression, just handle
RecoveryExprs directly.


  Commit: 3d8a44d542b15ac9bc21f9fd3494f1649fca1aa9
      https://github.com/llvm/llvm-project/commit/3d8a44d542b15ac9bc21f9fd3494f1649fca1aa9
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/InterpFrame.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Refactor if condition

Move the declaration into the condition.


  Commit: de04e6cd90b891215f1dfc83ec886d037a7c2ed0
      https://github.com/llvm/llvm-project/commit/de04e6cd90b891215f1dfc83ec886d037a7c2ed0
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/EvalEmitter.cpp
    M clang/lib/AST/Interp/InterpFrame.cpp
    M clang/lib/AST/Interp/InterpState.h

  Log Message:
  -----------
  [clang][Interp][NFC] Save source location of evaluating expression

We don't have a source location to point to when the evaluation
of a destructor of a temporary created via an expression fails.


  Commit: 1c7673b91d4d3bab4e296f5c67751d3879fb21a2
      https://github.com/llvm/llvm-project/commit/1c7673b91d4d3bab4e296f5c67751d3879fb21a2
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    M clang/test/AST/Interp/records.cpp

  Log Message:
  -----------
  [clang][Interp] Fix locals created in ExprWithCleanups

Save the declaration we're creating a scope for (if applicable),
so we can attach a local temporary variable to the right scope.


  Commit: ebcb04ae8825b15fd6aa249a8da0617b877b4705
      https://github.com/llvm/llvm-project/commit/ebcb04ae8825b15fd6aa249a8da0617b877b4705
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/EvalEmitter.cpp
    M clang/lib/AST/Interp/InterpFrame.cpp
    M clang/lib/AST/Interp/InterpState.h

  Log Message:
  -----------
  Revert "[clang][Interp][NFC] Save source location of evaluating expression"

This reverts commit de04e6cd90b891215f1dfc83ec886d037a7c2ed0.

This breaks the Misc/constexpr-source-ranges test:
https://lab.llvm.org/buildbot/#/builders/139/builds/64685


  Commit: 427c5bfd39ebb9d008b621370579444fbf2a60d7
      https://github.com/llvm/llvm-project/commit/427c5bfd39ebb9d008b621370579444fbf2a60d7
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    M clang/test/AST/Interp/records.cpp

  Log Message:
  -----------
  Revert "[clang][Interp] Fix locals created in ExprWithCleanups"

This reverts commit 1c7673b91d4d3bab4e296f5c67751d3879fb21a2.

Unfortunately, this one is broken because de04e6cd90b891215f1dfc83ec886d037a7c2ed0
has been reverted.


  Commit: 1e82d506b0b2b4b8501bb1cae13d2e2f3405922d
      https://github.com/llvm/llvm-project/commit/1e82d506b0b2b4b8501bb1cae13d2e2f3405922d
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang-tools-extra/test/BUILD.gn

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


  Commit: ce7700e29dfbc85348942d74d0ca2ba9ac8d8cf5
      https://github.com/llvm/llvm-project/commit/ce7700e29dfbc85348942d74d0ca2ba9ac8d8cf5
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M flang/runtime/product.cpp
    M flang/runtime/reduction-templates.h
    M flang/runtime/sum.cpp

  Log Message:
  -----------
  [flang][runtime] Address PRODUCT numeric discrepancy, folding vs runtime (#90125)

Ensure that the runtime implementations of floating-point reductions use
intermediate results of the same precision as the operands, so that
results match those from constant folding. (SUM reduction uses Kahan
summation in both cases.)


  Commit: 155dcce40110fbe8a29a5b00a3078e3333d10f4a
      https://github.com/llvm/llvm-project/commit/155dcce40110fbe8a29a5b00a3078e3333d10f4a
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/EvalEmitter.cpp
    M clang/lib/AST/Interp/InterpFrame.cpp
    M clang/lib/AST/Interp/InterpState.h

  Log Message:
  -----------
  Reapply "[clang][Interp][NFC] Save source location of evaluating expression"

This reverts commit ebcb04ae8825b15fd6aa249a8da0617b877b4705.


  Commit: a2e1f54bb7beff7ce84151353490c8b484da0a45
      https://github.com/llvm/llvm-project/commit/a2e1f54bb7beff7ce84151353490c8b484da0a45
  Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    R mlir/include/mlir/Dialect/Transform/Transforms/TransformInterpreterPassBase.h
    M mlir/lib/Dialect/Transform/Transforms/CMakeLists.txt
    R mlir/lib/Dialect/Transform/Transforms/TransformInterpreterPassBase.cpp
    R mlir/test/Dialect/Transform/test-interpreter-external-symbol-decl-and-schedule.mlir
    R mlir/test/Dialect/Transform/test-interpreter-external-symbol-decl-dir.mlir
    R mlir/test/Dialect/Transform/test-interpreter-external-symbol-decl-invalid.mlir
    R mlir/test/Dialect/Transform/test-interpreter-external-symbol-decl.mlir
    R mlir/test/Dialect/Transform/test-interpreter-module-generation.mlir
    R mlir/test/Dialect/Transform/test-interpreter-multiple-top-level-ops.mlir
    R mlir/test/Dialect/Transform/test-repro-dump.mlir
    M mlir/test/lib/Dialect/Transform/TestTransformDialectInterpreter.cpp
    M mlir/tools/mlir-opt/mlir-opt.cpp

  Log Message:
  -----------
  [mlir] remove test-tranfsorm-dialect-interpreter (#89931)

This pass has been deprecated for more than two months, alternative is
available via `-transform-interpreter` and `-transform-preload-library`.


https://discourse.llvm.org/t/psa-deprecating-test-transform-dialect-interpreter/76904


  Commit: 11bda17254d00cde5b84585f7c7a870d6793ad92
      https://github.com/llvm/llvm-project/commit/11bda17254d00cde5b84585f7c7a870d6793ad92
  Author: Brian Gesiak <brian at modocache.io>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M mlir/include/mlir/Tools/lsp-server-support/Transport.h
    M mlir/unittests/Tools/lsp-server-support/Transport.cpp

  Log Message:
  -----------
  [mlir-lsp] Parse outgoing request callback JSON (#90693)

Rather than force callbacks for outgoing requests to parse the result
JSON themselves (of type `llvm::Expected<llvm::json::Value>`), allow
users to specify the result type, which
`MessageHandler::outgoingRequest` will parse for them. This eliminates
boilerplate for users sending outgoing requests.


  Commit: 105c992c83aa527c6c50d60becd4d66b476b0a32
      https://github.com/llvm/llvm-project/commit/105c992c83aa527c6c50d60becd4d66b476b0a32
  Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/IRDL/IRDLVerifiers.h
    M mlir/include/mlir/Dialect/Transform/CMakeLists.txt
    A mlir/include/mlir/Dialect/Transform/IRDLExtension/CMakeLists.txt
    A mlir/include/mlir/Dialect/Transform/IRDLExtension/IRDLExtension.h
    A mlir/include/mlir/Dialect/Transform/IRDLExtension/IRDLExtensionOps.h
    A mlir/include/mlir/Dialect/Transform/IRDLExtension/IRDLExtensionOps.td
    M mlir/include/mlir/Dialect/Transform/PDLExtension/PDLExtension.h
    M mlir/include/mlir/InitAllExtensions.h
    M mlir/lib/Dialect/IRDL/IRDLLoading.cpp
    M mlir/lib/Dialect/Transform/CMakeLists.txt
    A mlir/lib/Dialect/Transform/IRDLExtension/CMakeLists.txt
    A mlir/lib/Dialect/Transform/IRDLExtension/IRDLExtension.cpp
    A mlir/lib/Dialect/Transform/IRDLExtension/IRDLExtensionOps.cpp
    A mlir/test/Dialect/Transform/irdl.mlir

  Log Message:
  -----------
  [mlir] use irdl as matcher description in transform (#89779)

Introduce a new Transform dialect extension that uses IRDL op
definitions as matcher descriptors. IRDL allows one to essentially
define additional op constraits to be verified and, unlike PDL, does not
assume rewriting will happen. Leverage IRDL verification capability to
filter out ops that match an IRDL definition without actually
registering the corresponding operation with the system.


  Commit: 7925525d330a46480b0c3b136e5f47948c5cb741
      https://github.com/llvm/llvm-project/commit/7925525d330a46480b0c3b136e5f47948c5cb741
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZInstrVector.td

  Log Message:
  -----------
  SystemZ: Add missing predicate for bitconvert patterns (#90715)


  Commit: a2f97974e670379b28f7ad4701233fc162a46867
      https://github.com/llvm/llvm-project/commit/a2f97974e670379b28f7ad4701233fc162a46867
  Author: smanna12 <soumi.manna at intel.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

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

  Log Message:
  -----------
  [Clang] Prevent null pointer dereference in Sema::​CodeCompleteQualifiedId() (#90490)

The null pointer dereference issue seems happening with in the
expression NNS->getAsType().

Although dyn_cast_or_null<TemplateTypeParmType>() correctly handles null
pointers, it doesn’t prevent the subsequent dereferencing operation.

The fix ensures that NNS pointer is not null before calling the
getAsType() method, thus preventing potential runtime errors caused by
attempting to access a null pointer.


  Commit: 3a1e55904b1e1205ac583f7b70396a3459b10b78
      https://github.com/llvm/llvm-project/commit/3a1e55904b1e1205ac583f7b70396a3459b10b78
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M llvm/test/CodeGen/SystemZ/atomic-load-08.ll
    M llvm/test/CodeGen/SystemZ/atomic-store-08.ll
    M llvm/test/CodeGen/SystemZ/atomicrmw-xchg-07.ll

  Log Message:
  -----------
  SystemZ: Add some tests for fp128 atomics with soft-float (#90826)


  Commit: c1298878175f1f6b7f991a18550de97a699cf260
      https://github.com/llvm/llvm-project/commit/c1298878175f1f6b7f991a18550de97a699cf260
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/test/ParserOpenACC/parse-cache-construct.c
    M clang/test/ParserOpenACC/parse-cache-construct.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    A clang/test/ParserOpenACC/parse-sub-array.cpp
    M clang/test/SemaOpenACC/compute-construct-private-clause.c
    M clang/test/SemaOpenACC/compute-construct-private-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-varlist-ast.cpp
    A clang/test/SemaOpenACC/sub-array-ast.cpp
    A clang/test/SemaOpenACC/sub-array.cpp

  Log Message:
  -----------
  [OpenACC] Implement SubArray Parsing/Sema (#90796)

This implementation takes quite a bit from the OMP implementation of
array sections, but only has to enforce the rules as applicable to
OpenACC. Additionally, it does its best to create an AST node (with the
assistance of RecoveryExprs) with as much checking done as soon as
possible in the case of instantiations.


  Commit: 33e16cae671ca10d88e198192181220f8adff343
      https://github.com/llvm/llvm-project/commit/33e16cae671ca10d88e198192181220f8adff343
  Author: Omair Javaid <omair.javaid at linaro.org>
  Date:   2024-05-02 (Thu, 02 May 2024)

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

  Log Message:
  -----------
  [compiler-rt] Fix CMake configure on Windows (#90843)

CMake configure compiler-rt got broken as a result of following commit:
d3925e65a7ab88eb0ba68d3ab79cd95db5629951

This patch fixes the break by porting the above commit for clang-cl.

This problem was not caught on Windows buildbots beacuase it appeared
when compiler-rt was included via LLVM_ENABLE_PROJECTS while buildbots
include compiler-rt project using LLVM_ENABLE_RUNTIMES flag.


  Commit: 5e67c41a932256e047ae093ae4f7f5a53df1527d
      https://github.com/llvm/llvm-project/commit/5e67c41a932256e047ae093ae4f7f5a53df1527d
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/ext-after-phi-node.ll

  Log Message:
  -----------
  [SLP]Fix PR90780: insert cast instruction for PHI nodes after all phi nodes.

Need to check if the vectorized value is a PHINode before insert casting
instruction and insert it after all phis to generate the code correctly.


  Commit: cd683bd32cecd97b9d9fd345c4e6c067d84fefd4
      https://github.com/llvm/llvm-project/commit/cd683bd32cecd97b9d9fd345c4e6c067d84fefd4
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M llvm/lib/Transforms/HipStdPar/HipStdPar.cpp
    A llvm/test/Transforms/HipStdPar/global-var.ll

  Log Message:
  -----------
  [HipStdPar] Fix globle variable (#90627)

HipStdParAcceleratorCodeSelectionPass changes linkage of global
variables to extern_weak, which does not allow initializer.

An extern_weak global variable with initializer will cause llvm-as and
llc to fail.


  Commit: 7dfb6f571c8090803a32b5611e519b77ae74de30
      https://github.com/llvm/llvm-project/commit/7dfb6f571c8090803a32b5611e519b77ae74de30
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/test/AST/Interp/literals.cpp

  Log Message:
  -----------
  [clang][Interp] Fix ignored RequiresExprs

Also ConceptSpecializationExpr, although I don't have a test case
at hand for those.


  Commit: 3fe282a83d2bcc23f1a3f9bc47682f7c4bfc9b88
      https://github.com/llvm/llvm-project/commit/3fe282a83d2bcc23f1a3f9bc47682f7c4bfc9b88
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/test/CodeGen/AMDGPU/lower-mem-intrinsics-threshold.ll
    M llvm/test/CodeGen/AMDGPU/lower-mem-intrinsics.ll
    M llvm/test/Transforms/PreISelIntrinsicLowering/X86/load-relative.ll
    M llvm/test/Transforms/PreISelIntrinsicLowering/X86/objc-arc.ll

  Log Message:
  -----------
  [Pass] Add `pre-isel-intrinsic-lowering` to pass registry (#90851)

This was removed due to avoid circular dependency between `CodeGen` and
`Passes`, but now I realized this is no longer a problem since
`CodeGenPassBuilder` is moved into `Passes`.


  Commit: d6173167df31388869d22751fdd745f5da928ef7
      https://github.com/llvm/llvm-project/commit/d6173167df31388869d22751fdd745f5da928ef7
  Author: Daniel Chen <cdchen at ca.ibm.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M flang/lib/Lower/ConvertCall.cpp

  Log Message:
  -----------
  [Flang] Get fir::SequenceType from hlfir::ExprType before getShape. (#90055)

This PR is to fix issue #88889 . 
Because the type of an actual argument of an array expression of
character has type of `hlfir::ExprType`, we need to transform it to
`fir::SequenceType` before calling `getBoxTypeWithNewShape`.
Calling `hlfir::ExprType::getShape` inside of `getBoxTypeWithNewShape`
will introduce a circular dependency on FIRDialect and HLFIRDialect
libraries.


  Commit: 82f72c1aa8ef36b521a617a291c9f732edca9d12
      https://github.com/llvm/llvm-project/commit/82f72c1aa8ef36b521a617a291c9f732edca9d12
  Author: Youngsuk Kim <joseph942010 at gmail.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/CXX/drs/dr7xx.cpp

  Log Message:
  -----------
  [clang][Sema] Re-use existing BinaryOperator if possible (#90625)

First round of Sema checks were run at initial parsing step. Creating a
new BinaryOperator instance (with the re-built LHS or RHS) will trigger
another round of Sema checks, which can lead to duplicate diagnostic
warning messages.

All we want here is to replace the LHS or RHS with a NonOdrUse version.
Don't create a new BinaryOperator, but simply replace the LHS or RHS of
the given BinaryOperator.

Fixes #45783


  Commit: 8c0937f5629e2a0a11ce623e1d38fb86e955bdef
      https://github.com/llvm/llvm-project/commit/8c0937f5629e2a0a11ce623e1d38fb86e955bdef
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M llvm/test/Transforms/HipStdPar/global-var.ll

  Log Message:
  -----------
  Fix test HipStdPar/global-var.ll

It requires amdgpu registered target.


  Commit: 42c7cb69694d274e46bb98d156b9be31b308b62c
      https://github.com/llvm/llvm-project/commit/42c7cb69694d274e46bb98d156b9be31b308b62c
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/CloneFunction.cpp
    M llvm/test/Transforms/Inline/inline-deferred-instsimplify.ll
    M llvm/test/Transforms/Inline/prof-update-sample-alwaysinline.ll
    M llvm/test/Transforms/Inline/prof-update-sample.ll

  Log Message:
  -----------
  Reapply "[Inline][Cloning] Defer simplification after phi-nodes resolution"

Original commit: a61f9fe31750cee65c726fb51f1b14e31e177258

Multiple 2-stage buildbots were reporting failures. These issues have been
addressed separately.

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


  Commit: 1bb929833b18db4a26a4d145d7270597cb5d48ce
      https://github.com/llvm/llvm-project/commit/1bb929833b18db4a26a4d145d7270597cb5d48ce
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/CloneFunction.cpp
    A llvm/test/Transforms/Inline/inline-drop-attributes.ll

  Log Message:
  -----------
  [Inline][Cloning] Drop incompatible attributes from `NewFunc`

Performing `instSimplify` while cloning is unsafe due to incomplete
remapping (as reported in #87534). Ideally, `instSimplify` ought to
reason on the updated newly-cloned function, after returns have been
rewritten and callee entry basic block / call-site have been fixed up.
This is in contrast to `CloneAndPruneIntoFromInst` behaviour, which
is inherently expected to clone basic blocks, with pruning on top of
– if any –, and not actually fixing up returns / CFG, which should be
up to the Inliner. We may solve this by letting `instSimplify` work on
the newly-cloned function, while maintaining old function attributes,
so as to avoid inconsistencies between the yet-to-be-solved return
type, and new function ret type attributes.


  Commit: e020e287c7733f29aac08b3ed87f2c3f96a88ef7
      https://github.com/llvm/llvm-project/commit/e020e287c7733f29aac08b3ed87f2c3f96a88ef7
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

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

  Log Message:
  -----------
  [AMDGPU] Modernize some syntax in SILoadStoreOptimizer. NFC.

Use structured bindings and similar.


  Commit: 46a5de69c03aeb1cd99c7951787b7cf94d6e2dcd
      https://github.com/llvm/llvm-project/commit/46a5de69c03aeb1cd99c7951787b7cf94d6e2dcd
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M libcxx/include/__config

  Log Message:
  -----------
  [libc++] Remove a few __has_foo defines in __config (#90511)

All the compilers we support implement those macros or builtins, so it's
not useful to have a fallback to 0 when they're not implemented.


  Commit: 9b9a2a2fd0aaed6704f75adfcde0d85e65008601
      https://github.com/llvm/llvm-project/commit/9b9a2a2fd0aaed6704f75adfcde0d85e65008601
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-05-02 (Thu, 02 May 2024)

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

  Log Message:
  -----------
  [gn] port dcbf0fcd0d55 (SBLanguages.h python)


  Commit: 6ceb1c0ef9f544be0eed65e46cc7d99941a001bf
      https://github.com/llvm/llvm-project/commit/6ceb1c0ef9f544be0eed65e46cc7d99941a001bf
  Author: Daniel Krupp <daniel.krupp at ericsson.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M clang/docs/analyzer/checkers.rst
    M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
    M clang/test/Analysis/taint-diagnostic-visitor.c
    M clang/test/Analysis/taint-generic.c

  Log Message:
  -----------
  [analyzer] Remove untrusted buffer size warning in the TaintPropagation checker (#68607)

Before this commit the the checker alpha.security.taint.TaintPropagation always reported warnings when the size argument of a memcpy-like or malloc-like function was tainted. However, this produced false positive reports in situations where the size was tainted, but correctly performed bound checks guaranteed the safety of the call.
 
This commit removes the rough "always warn if the size argument is tainted" heuristic; but it would be good to add a more refined "warns if the size argument is tainted and can be too large" heuristic in follow-up commits. That logic would belong to CStringChecker and MallocChecker, because those are the checkers responsible for the more detailed modeling of memcpy-like and malloc-like functions. To mark this plan, TODO comments are added in those two checkers.
 
There were several test cases that used these sinks to test generic properties of taint tracking; those were adapted to use different logic.
 
As a minor unrelated change, this commit ensures that strcat (and its wide variant, wcsncat) propagates taint from the first argument to the first argument, i.e. a tainted string remains tainted if we concatenate it with another string. This change was required because the adapted variant of multipleTaintedArgs is relying on strncat to compose a value that combines taint from two different sources.


  Commit: aac588abfa03e9721d96546df917fec913137ecb
      https://github.com/llvm/llvm-project/commit/aac588abfa03e9721d96546df917fec913137ecb
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    M clang/test/AST/Interp/records.cpp

  Log Message:
  -----------
  Reapply "[clang][Interp] Fix locals created in ExprWithCleanups"

This reverts commit 427c5bfd39ebb9d008b621370579444fbf2a60d7.


  Commit: 4aca302f5a82ee65847c88500b39a2530dfeceb4
      https://github.com/llvm/llvm-project/commit/4aca302f5a82ee65847c88500b39a2530dfeceb4
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

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

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


  Commit: ab8ac36f10eef3d50d3a6fc8168c98298b643698
      https://github.com/llvm/llvm-project/commit/ab8ac36f10eef3d50d3a6fc8168c98298b643698
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

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

  Log Message:
  -----------
  [RISCV] Add list of supported profiles to -print-supported-extensions (#90757)

I tried also printing the -march they correspond to, but it seemed
overly verbose and caused line wraps. It might be better if we remove
the versions numbers from the string or did a more intelligent line
wrap.


  Commit: cb5d6a5639ab17933f127456cee9167fb0ed6439
      https://github.com/llvm/llvm-project/commit/cb5d6a5639ab17933f127456cee9167fb0ed6439
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M llvm/include/llvm/ADT/LazyAtomicPointer.h

  Log Message:
  -----------
  [llvm][ADT] Fix Arm 32 bit compilation warning in lazy atomic pointer

LazyAtomicPointer.h:36:49: warning: implicit conversion from 'unsigned long long'
to 'uintptr_t' (aka 'unsigned int') changes value from 18446744073709551615 to 4294967295 [-Wconstant-conversion]
  static constexpr uintptr_t getBusy() { return -1ULL; }

On 32 bit Arm ULL is an unsigned long long which is 8 bytes, but
uintptr_t is 4 bytes. Instead of using a value, use the macro
UINTPTR_MAX that will be the correctly sized value.


  Commit: d824d879f46cef2fadde811413320f5ae46d0cb9
      https://github.com/llvm/llvm-project/commit/d824d879f46cef2fadde811413320f5ae46d0cb9
  Author: estewart08 <ethan.stewart at amd.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M llvm/runtimes/CMakeLists.txt
    M offload/CMakeLists.txt

  Log Message:
  -----------
  [offload] - Add omp as a dependency for clang-bootstrap-deps (#90793)

If openmp is on the LLVM_ENABLE_PROJECTS list and
offload is on LLVM_ENABLE_RUNTIMES list when using
CLANG_ENABLE_BOOTSTRAP, then the runtimes will be
configured before the openmp project. This will throw a cannot find
libomp.so dependency error. Add omp as a dependency when this is the
case. Update
offload cmake for detection of LIBOMP_HAVE_VERSION_SCRIPT.


  Commit: 646559e90b8370a2d6459b65ecca31a98b5fad0e
      https://github.com/llvm/llvm-project/commit/646559e90b8370a2d6459b65ecca31a98b5fad0e
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M clang/test/AST/Interp/arrays.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Make a test array smaller

The large size doesn't add anything here, at least not with the
test in its current form.


  Commit: f5b4e20a5ab8e0d8f7e3909cfdc0c82e4cf507c3
      https://github.com/llvm/llvm-project/commit/f5b4e20a5ab8e0d8f7e3909cfdc0c82e4cf507c3
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-05-02 (Thu, 02 May 2024)

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

  Log Message:
  -----------
  [llvm][AArch64] Fix Arm 32 bit build warnings (#90862)

https://github.com/llvm/llvm-project/pull/84173 added uses of std::labs
on an int64_t which leads to this warning on Arm 32 bit:
```
/home/david.spickett/llvm-project/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:16655:12: warning: absolute value function 'labs' given an argument of type 'long long' but has parameter of type 'long' which may cause truncation of value [-Wabsolute-value]
    return std::labs(Imm / 4) <= 16;
           ^
/home/david.spickett/llvm-project/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:16655:12: note: use function 'std::abs' instead
    return std::labs(Imm / 4) <= 16;
           ^~~~~~~~~
           std::abs
```

Since int64_t is "long long" on Arm, not "long".

Use std::abs instead since it has versions for "long" and "long long",
we'll pick up the right one at compile time
(https://en.cppreference.com/w/cpp/numeric/math/abs).


  Commit: a12622543de15df45fb9ad64e8ab723289d55169
      https://github.com/llvm/llvm-project/commit/a12622543de15df45fb9ad64e8ab723289d55169
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/AsmParser/LLParser.h
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/IR/DebugProgramInstruction.cpp
    M llvm/lib/IR/Function.cpp
    M llvm/lib/IR/Module.cpp
    M llvm/tools/llvm-as/llvm-as.cpp
    M llvm/tools/llvm-dis/llvm-dis.cpp
    M llvm/tools/llvm-link/llvm-link.cpp
    M llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
    M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
    M llvm/unittests/IR/DebugInfoTest.cpp
    M llvm/unittests/IR/IRBuilderTest.cpp
    M llvm/unittests/IR/InstructionsTest.cpp
    M llvm/unittests/IR/ValueTest.cpp
    M llvm/unittests/Transforms/Utils/CloningTest.cpp
    M llvm/unittests/Transforms/Utils/LocalTest.cpp

  Log Message:
  -----------
  Reapply "[RemoveDIs] Load into new debug info format by default in LLVM (#89799)"

Fixes the broken tests in the original commit:
  2f01fd99eb8c8ab3db9aba72c4f00e31e9e60a05

This will probably break some downstream tools that don't already handle
debug records. If your downstream code breaks as a result of this
change, the simplest fix is to convert the module in question to the old
debug format before you process it, using
`Module::convertFromNewDbgValues()`. For more information about how to
handle debug records or about what has changed, see the migration
document:
  https://llvm.org/docs/RemoveDIsDebugInfo.html

This reverts commit 00821fed09969305b0003d3313c44d1e761a7131.


  Commit: eb3a67173093b06eb1a4ce878c38b5c80926a957
      https://github.com/llvm/llvm-project/commit/eb3a67173093b06eb1a4ce878c38b5c80926a957
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

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

  Log Message:
  -----------
  [AArch64] Avoid vector interleave instructions when NEON and SVE are unavailable (#90723)

As the summary suggests, the code incorrectly assumes that it can use
NEON or SVE instructions to implement an interleaved load/store
operation, even when both features are unavailable in the selected
runtime mode.


  Commit: d11afe1c743924f309e41c5e5d497d6a6f5c17d6
      https://github.com/llvm/llvm-project/commit/d11afe1c743924f309e41c5e5d497d6a6f5c17d6
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
    A llvm/test/CodeGen/SystemZ/copy-phys-reg-gr128-to-fp128.mir

  Log Message:
  -----------
  SystemZ: Handle gr128 to fp128 copies in copyPhysReg (#90861)


  Commit: fbaba780f6b131e7674259861fce915b1a94f78e
      https://github.com/llvm/llvm-project/commit/fbaba780f6b131e7674259861fce915b1a94f78e
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteLoad.py

  Log Message:
  -----------
  [lldb][test][FreeBSD] Remove xfails from TestGDBRemoteLoad (#84026)

Fixes #48758

These are now passing on AArch64 FreeBSD 14.


  Commit: 0638e222f363e041ffe3c4a0f371f987ab92a03d
      https://github.com/llvm/llvm-project/commit/0638e222f363e041ffe3c4a0f371f987ab92a03d
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

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

  Log Message:
  -----------
  [SDPatternMatch] Add m_CondCode, m_NoneOf, and some SExt improvements (#90762)

  - Add m_CondCode to match the ISD::CondCode value from CondCodeSDNode
  - Add m_NoneOf combinator
  - m_SExt now recognizes sext_inreg


  Commit: 520ccca2f91f659edb733e1b37a104a1f093b623
      https://github.com/llvm/llvm-project/commit/520ccca2f91f659edb733e1b37a104a1f093b623
  Author: Lei Huang <lei at ca.ibm.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
    M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp

  Log Message:
  -----------
  NFC: fix clang format spacing and documentation (#90775)

Some minor fixes to clean up tabs and language in code documentation.


  Commit: a131525908a908baff4cd01140dae158a307dc9e
      https://github.com/llvm/llvm-project/commit/a131525908a908baff4cd01140dae158a307dc9e
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M flang/lib/Semantics/expression.cpp
    M flang/test/Semantics/cuf13.cuf

  Log Message:
  -----------
  [flang][cuda] Compute matching distance in generic resolution (#90774)

Implement the matching distance as described here:
https://docs.nvidia.com/hpc-sdk/archive/24.3/compilers/cuda-fortran-prog-guide/index.html#cfref-var-attr-unified-data

Generic resolved to the smallest distance.


  Commit: 44645996b0abb6e0b5b3d65b063644645f635a5e
      https://github.com/llvm/llvm-project/commit/44645996b0abb6e0b5b3d65b063644645f635a5e
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M clang/test/Preprocessor/riscv-target-features.c
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.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] Add smstateen extension (#90818)


  Commit: 0708500ce0149c501e802b7ab6581770cc7a5334
      https://github.com/llvm/llvm-project/commit/0708500ce0149c501e802b7ab6581770cc7a5334
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

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

  Log Message:
  -----------
  [Clang] Remove bogus assert in are[Lax]CompatibleSveTypes()

This caused an assertion failure for the following input:

  __SVInt32_t bar(__SVInt32_t x);

  void foo(__SVInt32_t x) {
    return bar(x);
  }


  Commit: e71eacc5b19785bc46ce9c3d8541a0c83c65660e
      https://github.com/llvm/llvm-project/commit/e71eacc5b19785bc46ce9c3d8541a0c83c65660e
  Author: Yinying Li <yinyingli at google.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/IR/CMakeLists.txt
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.h
    M mlir/test/Dialect/SparseTensor/roundtrip_encoding.mlir
    M mlir/test/Dialect/SparseTensor/sparse_matmul_one.mlir
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][sparse] Support explicit/implicit value for complex type (#90771)


  Commit: eb8236381bcfdb5071143160c7a0663f8e3c1c97
      https://github.com/llvm/llvm-project/commit/eb8236381bcfdb5071143160c7a0663f8e3c1c97
  Author: Scott Egerton <9487234+ScottEgerton at users.noreply.github.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInsertSingleUseVDST.cpp
    M llvm/test/CodeGen/AMDGPU/insert-singleuse-vdst.mir

  Log Message:
  -----------
  [AMDGPU] Group multiple single use producers under one single use instruction. (#90713)

Previously each single use producer would be marked with a
"S_SINGLEUSE_VDST 1" instruction. This patch adds support for
larger immediates that encode multiple single use producers into
one S_SINGLEUSE_VDST instruction.


  Commit: 941eab102f4ae524bb66bcd9bffafc605b20ef7c
      https://github.com/llvm/llvm-project/commit/941eab102f4ae524bb66bcd9bffafc605b20ef7c
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

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

  Log Message:
  -----------
  [RISCV] Make parseNormalizedArchString only accept [a-z0-9_]. (#90815)

Previously we only rejected upper case characters. We should instead
reject anything except lower case, numbers, and underscore. Other
characters will likely confuse the extension sorting.


  Commit: 1c80d322c4a659d96ca34a17dfbdab24beb25388
      https://github.com/llvm/llvm-project/commit/1c80d322c4a659d96ca34a17dfbdab24beb25388
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-05-02 (Thu, 02 May 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 clang/test/Driver/wasm-features.c
    M llvm/lib/Target/WebAssembly/WebAssembly.td
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
    M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h

  Log Message:
  -----------
  [WebAssembly] Sort target features (NFC) (#90777)


  Commit: 4fd319ae273ed6c252f2067909c1abd9f6d97efa
      https://github.com/llvm/llvm-project/commit/4fd319ae273ed6c252f2067909c1abd9f6d97efa
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/AsmParser/LLParser.h
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/IR/DebugProgramInstruction.cpp
    M llvm/lib/IR/Function.cpp
    M llvm/lib/IR/Module.cpp
    M llvm/tools/llvm-as/llvm-as.cpp
    M llvm/tools/llvm-dis/llvm-dis.cpp
    M llvm/tools/llvm-link/llvm-link.cpp
    M llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
    M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
    M llvm/unittests/IR/DebugInfoTest.cpp
    M llvm/unittests/IR/IRBuilderTest.cpp
    M llvm/unittests/IR/InstructionsTest.cpp
    M llvm/unittests/IR/ValueTest.cpp
    M llvm/unittests/Transforms/Utils/CloningTest.cpp
    M llvm/unittests/Transforms/Utils/LocalTest.cpp

  Log Message:
  -----------
  Revert#2 "[RemoveDIs] Load into new debug info format by default in LLVM (#89799)"

Reverted following probably-causing failures on some clang buildbots:
  https://lab.llvm.org/buildbot/#/builders/245/builds/24037

This reverts commit a12622543de15df45fb9ad64e8ab723289d55169.


  Commit: 62c29593be317f6cfaed8ffbcc016bd2c94c35d4
      https://github.com/llvm/llvm-project/commit/62c29593be317f6cfaed8ffbcc016bd2c94c35d4
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M clang/www/cxx_status.html

  Log Message:
  -----------
  [clang] NFC: cxx_status mark P0522R0 as unreleased

Addressing post-commit review on #89807


  Commit: 1aeb64c8ec7b96b2301929d8a325a6e1d9ddaa2f
      https://github.com/llvm/llvm-project/commit/1aeb64c8ec7b96b2301929d8a325a6e1d9ddaa2f
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/Descriptor.cpp
    M clang/lib/AST/Interp/Descriptor.h
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/Program.cpp
    M clang/test/AST/Interp/builtin-align-cxx.cpp
    M clang/test/AST/Interp/c.c

  Log Message:
  -----------
  Reapply "[clang][Interp] Create full type info for dummy pointers"

This reverts commit 6195e228eb2a7085fac53603f534d2401ab1ac39.


  Commit: 5445a35d6ef5e8b6d3aafd78c48167ef22eef0af
      https://github.com/llvm/llvm-project/commit/5445a35d6ef5e8b6d3aafd78c48167ef22eef0af
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

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

  Log Message:
  -----------
  [RISCV] Detect empty extension name after parsing MajorVersion in parseNormalizedArchString. (#90790)

If the string is just a version, we will end up adding an empty string
as an extension which crashes in the compare function for the std::map.


  Commit: e06d6ed1ef081eb9858da8066a6036c5dde432eb
      https://github.com/llvm/llvm-project/commit/e06d6ed1ef081eb9858da8066a6036c5dde432eb
  Author: Krzysztof Pszeniczny <kpszeniczny at google.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
    M llvm/test/Transforms/SampleProfile/Inputs/non-probe-stale-profile-matching.prof
    M llvm/test/Transforms/SampleProfile/non-probe-stale-profile-matching.ll

  Log Message:
  -----------
  [SamplePGO] Handle FS discriminators in SampleProfileMatcher (#90858)

Currently the code uses FunctionSamples::getCallSiteIdentifier which
will sometimes incorrectly guess that FSAFDO discriminators are probe
based and will convert them incorrectly.

This change doesn't affect builds which don't use FSAFDO, it only fixes
sample profile matching with FS discriminators.

The test for this is manually updated to use discriminator value 15,
which is a perfectly valid base discriminator in the FS world, but
satisfies `isPseudoProbeDiscriminator`, so
`getBaseDiscriminatorFromDiscriminator` will incorrectly extract the
probe index from it.

Note: this change only affects how the base discriminators will be
extracted when doing stale profile matching in the IR-level sample
profile loader. It doesn't add stale profile matching to the MIR-level
FS profile loader pass.


  Commit: aa5ff68247ddd763c4f5de78ab8ee5739b6f401b
      https://github.com/llvm/llvm-project/commit/aa5ff68247ddd763c4f5de78ab8ee5739b6f401b
  Author: Chris B <chris.bieneman at me.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M clang/lib/Sema/SemaOverload.cpp
    M clang/test/SemaHLSL/OverloadResolutionBugs.hlsl
    A clang/test/SemaHLSL/ScalarOverloadResolution.hlsl
    A clang/test/SemaHLSL/VectorElementOverloadResolution.hlsl

  Log Message:
  -----------
  [HLSL] Shore up floating point conversions (#90222)

This PR fixes bugs in HLSL floating conversions. HLSL always has `half`,
`float` and `double` types, which promote in the order:

`half`->`float`->`double`

and convert in the order:

`double`->`float`->`half`

As with other conversions in C++, promotions are preferred over
conversions.

We do have floating conversions documented in the draft language
specification (https://microsoft.github.io/hlsl-specs/specs/hlsl.pdf
[Conv.rank.float]) although the exact language is still in flux
(https://github.com/microsoft/hlsl-specs/pull/206).

Resolves #81047


  Commit: 49bac13acdb8159d8b257059a72742bb3c0ec196
      https://github.com/llvm/llvm-project/commit/49bac13acdb8159d8b257059a72742bb3c0ec196
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M llvm/test/Analysis/CostModel/X86/arith-fp-codesize.ll
    M llvm/test/Analysis/CostModel/X86/arith-fp-latency.ll
    M llvm/test/Analysis/CostModel/X86/arith-fp-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/arith-fp.ll

  Log Message:
  -----------
  [CostModel][X86] Add test coverage for rint/lrint/llrint fp calls


  Commit: e4bb6634cd074ba7cc4ef051850ad3375636ef02
      https://github.com/llvm/llvm-project/commit/e4bb6634cd074ba7cc4ef051850ad3375636ef02
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/arith-fp-call.ll

  Log Message:
  -----------
  [SLP][X86] Add test coverage for rint/lrint/llrint fp calls


  Commit: 2d4acb086541577ac6ab3a140b9ceb9659ce7094
      https://github.com/llvm/llvm-project/commit/2d4acb086541577ac6ab3a140b9ceb9659ce7094
  Author: Kevin Frei <kevinfrei at users.noreply.github.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
    M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
    A lldb/test/API/debuginfod/Normal/Makefile
    A lldb/test/API/debuginfod/Normal/TestDebuginfod.py
    A lldb/test/API/debuginfod/Normal/main.c
    A lldb/test/API/debuginfod/SplitDWARF/Makefile
    A lldb/test/API/debuginfod/SplitDWARF/TestDebuginfodDWP.py
    A lldb/test/API/debuginfod/SplitDWARF/main.c
    M lldb/test/API/lit.site.cfg.py.in
    M lldb/test/CMakeLists.txt

  Log Message:
  -----------
  LLDB Debuginfod tests and a fix or two (#90622)

I'm taking yet another swing at getting these tests going, on the
hypothesis that the problems with buildbots & whatnot are because
they're not configured with CURL support, which I've confirmed would
cause the previous tests to fail. (I have no access to an ARM64 linux
system, but I did repro the failure on MacOS configured without CURL
support)

So, the only difference between this diff and
[previous](https://github.com/llvm/llvm-project/pull/85693)
[diffs](https://github.com/llvm/llvm-project/pull/87676) that have
already been approved is that I've added a condition to the tests to
only run if Debuginfod capabilities should be built into the binary. I
had done this for these tests when they were [Shell
tests](https://github.com/llvm/llvm-project/pull/79181) and not API
tests, but I couldn't find a direct analog in any API test, so I used
the "plugins" model used by the intel-pt tests as well.

---------

Co-authored-by: Kevin Frei <freik at meta.com>


  Commit: 86ab10c4d9722574bafaf79e8d553d46dcdb7372
      https://github.com/llvm/llvm-project/commit/86ab10c4d9722574bafaf79e8d553d46dcdb7372
  Author: Vijay Kandiah <vkandiah at nvidia.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M flang/docs/FlangDriver.md
    M flang/include/flang/Tools/CLOptions.inc
    M flang/include/flang/Tools/CrossToolHelpers.h
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/tools/bbc/bbc.cpp
    M flang/tools/tco/tco.cpp

  Log Message:
  -----------
  [flang] Added extension point callbacks to default FIR optimizer pipeline. (#90674)

This change inserts a few extension point callbacks in the
DefaultFIROptimizerPassPipeline. As an example usage of callbacks in the
FIR optimizer pipeline, the FIRInlinerCallback is now used to register
the default MLIR inliner pass in flang-new, tco, and bbc compilation
flows. Other compilation flows can use these callbacks to add extra
passes at different points of the pass pipeline.

---------

Co-authored-by: Vijay Kandiah <vkandiah at sky6.pgi.net>


  Commit: c7209cbb8be7a3c658137679d760ce9d70baded8
      https://github.com/llvm/llvm-project/commit/c7209cbb8be7a3c658137679d760ce9d70baded8
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

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

  Log Message:
  -----------
  [LV] Assert that there's a resume phi for epilogue loops (NFC).

This patch adds an assert to createAndCollectMergePhiForReduction to
make sure there is a resume phi when vectorizing the epilogue loop. This
is needed to set the resume value from the main vector loop.

This assertion guards against the issue caused the revert of
https://github.com/llvm/llvm-project/pull/78304.


  Commit: ee63f287e013ab3424372034d4d5a95512ab5b6b
      https://github.com/llvm/llvm-project/commit/ee63f287e013ab3424372034d4d5a95512ab5b6b
  Author: Zequan Wu <zequanwu at google.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

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

  Log Message:
  -----------
  [lldb-dap] Minor cleanup.

Fix #85974.


  Commit: 64f6f905bcb03f6d821c6a24e5add1290212978a
      https://github.com/llvm/llvm-project/commit/64f6f905bcb03f6d821c6a24e5add1290212978a
  Author: Billy Zhu <billyzhu at modular.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
    M mlir/test/Target/LLVMIR/llvmir-debug.mlir

  Log Message:
  -----------
  [MLIR][LLVM] CallSiteLoc without caller scope not translatable (#90759)

If a CallSiteLoc's caller cannot be translated (returns null), we cannot
simply return the translation of the callee location. This is because
the resulting DILocation will not have any InlinedAt field for the
function it is in, and will fail the LLVM IR verifier.


  Commit: 0558c7e01db81b3ac307fe59737fefd8bd060873
      https://github.com/llvm/llvm-project/commit/0558c7e01db81b3ac307fe59737fefd8bd060873
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-05-02 (Thu, 02 May 2024)

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

  Log Message:
  -----------
  [gn] port 2d4acb086541 (LLVM_ENABLE_CURL)


  Commit: d4a25976df791aa2ba12e2dde69e644e0d9fe152
      https://github.com/llvm/llvm-project/commit/d4a25976df791aa2ba12e2dde69e644e0d9fe152
  Author: zhijian lin <zhijian at ca.ibm.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M clang/lib/Basic/Targets/PPC.cpp
    M clang/lib/Basic/Targets/PPC.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/CodeGen/aix-builtin-cpu-is.c
    A clang/test/CodeGen/aix-builtin-cpu-supports.c
    A clang/test/CodeGen/multi-aix-builtin-cpu-supports.c
    M clang/test/Sema/aix-builtin-cpu-unsupports.c
    A clang/test/Sema/builtin-cpu-unsupports-AIX-Os.c
    M llvm/include/llvm/TargetParser/PPCTargetParser.def

  Log Message:
  -----------
  Implement a subset of builtin_cpu_supports() features (#82809)

The PR implements a subset of features of function
__builtin_cpu_support() for AIX OS based on the information which AIX
kernel runtime variable `_system_configuration` and function call `getsystemcfg()` of
/usr/include/sys/systemcfg.h  in AIX OS can provide.

Following subset of features are supported in the PR

"arch_3_00", "arch_3_1","booke","cellbe","darn","dfp","dscr" ,"ebb","efpsingle","efpdouble","fpu","htm","isel",
"mma","mmu","pa6t","power4","power5","power5+","power6x","ppc32","ppc601","ppc64","ppcle","smt",
"spe","tar","true_le","ucache","vsx"


  Commit: 57216f7bd64a78af6e037b34662ed49a6221734b
      https://github.com/llvm/llvm-project/commit/57216f7bd64a78af6e037b34662ed49a6221734b
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.dpp.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.dpp.mir
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.ll
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp8.txt

  Log Message:
  -----------
  [AMDGPU] Support byte_sel modifier for v_cvt_f32_fp8 and v_cvt_f32_bf8 (#90887)


  Commit: dcf376aae738252fb52a73bcf7f58fd030e15ee2
      https://github.com/llvm/llvm-project/commit/dcf376aae738252fb52a73bcf7f58fd030e15ee2
  Author: Augusto Noronha <augusto2112 at me.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M llvm/lib/IR/LLVMContextImpl.h
    M llvm/unittests/IR/DebugInfoTest.cpp

  Log Message:
  -----------
  [DebugInfo] Make DISubprogram's hashing always produce the same result (#90770)

A DISubprogram's hashing algorithm takes into account its Scope. A Scope
can be a temporary though which can be replaced later on during
compilation. This means that the hashing algorithm for a DISubprogram
could produce a different hash before/after the Scope has changed. Fix
this by checking the Scope's linkage name instead, which should always
be the same.

rdar://127004707


  Commit: 8805465e1d5b1a97dfea21f4c68ee6bb4f208eb7
      https://github.com/llvm/llvm-project/commit/8805465e1d5b1a97dfea21f4c68ee6bb4f208eb7
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/test/CodeGenCXX/tmp-md-nodes2.cpp

  Log Message:
  -----------
  [RemoveDIs][Clang] Resolve DILocalVariables used by DbgRecords (#90882)

This patch fixes debug records in clang, by adding support for debug
records to the only remaining place that refers to DbgVariableIntrinsics
directly and does not handle DbgVariableRecords.


  Commit: 38f9c013a090b666328aecceac03dda84d2b14ca
      https://github.com/llvm/llvm-project/commit/38f9c013a090b666328aecceac03dda84d2b14ca
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/test/CodeGen/SystemZ/atomic-load-08.ll

  Log Message:
  -----------
  SystemZ: Stop casting fp typed atomic loads in the IR (#90768)

shouldCastAtomicLoadInIR is a hack that should be removed. Simple
bitcasting of operations should be in the domain of ordinary type
legalization and does not need to be done in the IR.

This introduces a code quality regression due to the hack currently used
to avoid using 128-bit values in the case where the floating point value
is ultimately used as an integer. This would be avoidable if there were
always a legal 128-bit type (like v2i64). This is a pretty niche
situation so I assume it's not important.

I implemented about 85% of the work necessary to make v2i64 legal, but
it was taking too long and I lack the necessary familiarity with systemz
to complete it. I've pushed it here for someone to pick up:
https://github.com/arsenm/llvm-project/pull/new/systemz-legal-v2i64

Depends #90861


  Commit: 0e5ff6251fa215e74bfa570e88bb6c7bf12c46d8
      https://github.com/llvm/llvm-project/commit/0e5ff6251fa215e74bfa570e88bb6c7bf12c46d8
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M libc/fuzzing/__support/CMakeLists.txt
    A libc/fuzzing/__support/hashtable_fuzz.cpp
    M libc/fuzzing/__support/uint_fuzz.cpp
    M libc/src/__support/HashTable/generic/bitmask_impl.inc

  Log Message:
  -----------
  [libc] add hashtable fuzzing (#87949)


  Commit: eea81aa29848361eb5b24f24d2af643fdeb9adfd
      https://github.com/llvm/llvm-project/commit/eea81aa29848361eb5b24f24d2af643fdeb9adfd
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/test/OpenMP/target_ast_print.cpp
    M clang/test/OpenMP/target_map_messages.cpp

  Log Message:
  -----------
  Revert "[OpenMP][TR12] change property of map-type modifier." (#90885)

Breaks
https://lab.llvm.org/buildbot/#/builders/5/builds/43086/steps/9/logs/stdio

Reverts llvm/llvm-project#90499


  Commit: bce3bfced5fe0b01983d5ca1d4c86f3215d09e57
      https://github.com/llvm/llvm-project/commit/bce3bfced5fe0b01983d5ca1d4c86f3215d09e57
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll

  Log Message:
  -----------
  [LV] Add another epilogue test with an AnyOfReduction of i1.

Additional test case from
https://github.com/llvm/llvm-project/pull/78304.


  Commit: 11f76b8511058a678382acf6811441d76431389e
      https://github.com/llvm/llvm-project/commit/11f76b8511058a678382acf6811441d76431389e
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

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

  Log Message:
  -----------
  [AMDGPU] Use some merging/unmerging helpers in SILoadStoreOptimizer (#90866)

Factor out copyToDestRegs and copyFromSrcRegs for merging store sources
and unmerging load results. NFC.


  Commit: 99b4532b8b724db5fcbb80b86053a4c7371f2c1e
      https://github.com/llvm/llvm-project/commit/99b4532b8b724db5fcbb80b86053a4c7371f2c1e
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
    A bolt/test/X86/linux-smp-locks.s

  Log Message:
  -----------
  [BOLT] Add support for Linux kernel .smp_locks section (#90798)

Parse .smp_locks section entries and create fixups that are going to be
used to update the section before the binary emission.


  Commit: 9cd218e4270c3e0e68d8fed0aa8401a4925e0f52
      https://github.com/llvm/llvm-project/commit/9cd218e4270c3e0e68d8fed0aa8401a4925e0f52
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/lib/Rewrite/RewriteInstance.cpp

  Log Message:
  -----------
  [BOLT] Refactor BOLT reserved space discovery (#90893)

Move code that checks for __bolt_reserved_{start,end} into a new
discoverBOLTReserved() function and call it from discoverFileObjects()
so that the reserved space info is accessible to passes. NFC for the
current set of binaries.


  Commit: 9d4575c910c210c3780b1c882e09732464dd4f44
      https://github.com/llvm/llvm-project/commit/9d4575c910c210c3780b1c882e09732464dd4f44
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

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

  Log Message:
  -----------
  [llvm] Make lambda take const reference to prevent unneeded copy (NFC)

Closes #89198


  Commit: 17f006207cb233e4988160fe8860cf082bbafe88
      https://github.com/llvm/llvm-project/commit/17f006207cb233e4988160fe8860cf082bbafe88
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    A libcxx/include/__ostream/basic_ostream.h
    A libcxx/include/__ostream/print.h
    M libcxx/include/istream
    M libcxx/include/module.modulemap
    M libcxx/include/ostream
    M libcxx/include/sstream
    M libcxx/include/syncstream
    M libcxx/test/libcxx/input.output/file.streams/fstreams/traits_mismatch.verify.cpp
    M libcxx/test/libcxx/input.output/iostream.format/output.streams/traits_mismatch.verify.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/input.output/syncstream/syncbuf/helpers.h
    M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/parse.pass.cpp

  Log Message:
  -----------
  [libc++] Granularize <ostream> (#85537)

This also includes `<__ostream/basic_ostream.h>` in `<sstream>` now,
reducing the include time of `<complex>` from 819ms to 603ms.


  Commit: b24aeef1cc4667f247ccf5d17913b1e1f2728d10
      https://github.com/llvm/llvm-project/commit/b24aeef1cc4667f247ccf5d17913b1e1f2728d10
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

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

  Log Message:
  -----------
  [gn build] Port 17f006207cb2


  Commit: 7298ae3b6d97777443aa89e38ab34b15482abfb3
      https://github.com/llvm/llvm-project/commit/7298ae3b6d97777443aa89e38ab34b15482abfb3
  Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

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

  Log Message:
  -----------
  [clang][CodeGen] Fix in codegen for __builtin_popcountg/ctzg/clzg (#90845)

Make sure that the result from the popcnt/ctlz/cttz intrinsics is
unsigned casted to int, rather than casted as a signed value, when
expanding the __builtin_popcountg/__builtin_ctzg/__builtin_clzg
builtins.

An example would be
  unsigned _BitInt(1) x = ...;
  int y = __builtin_popcountg(x);
which previously was incorrectly expanded to
  %1 = call i1 @llvm.ctpop.i1(i1 %0)
  %cast = sext i1 %1 to i32

Since the input type is generic for those "g" versions of the builtins
the intrinsic call may return a value for which the sign bit is set
(that could typically for BitInt of size 1 and 2). So we need to emit a
zext rather than a sext to avoid negative results.


  Commit: 90bd7234e36e5b3d63155f481b739ea463985631
      https://github.com/llvm/llvm-project/commit/90bd7234e36e5b3d63155f481b739ea463985631
  Author: Sylvestre Ledru <sylvestre at debian.org>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M clang/include/clang/Driver/Distro.h
    M clang/lib/Driver/Distro.cpp

  Log Message:
  -----------
  Add support of the next Ubuntu (Ubuntu 24.10 - Oracular Oriol)


  Commit: 18058f2a32854d2d257cff47b28479b2ff425496
      https://github.com/llvm/llvm-project/commit/18058f2a32854d2d257cff47b28479b2ff425496
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

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

  Log Message:
  -----------
  [llvm][GraphWriter] Resize std::string, instead of reassigning to substr (NFC)

* Don't call substr which creates a new string instance
* Only call string method if string length is larger than 140

Closes #90324


  Commit: d129ea8d2fa347e63deec0791faf389b84f20ce1
      https://github.com/llvm/llvm-project/commit/d129ea8d2fa347e63deec0791faf389b84f20ce1
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M libcxx/include/string

  Log Message:
  -----------
  [libcxx] Align `__recommend() + 1`  by __endian_factor (#90292)

This is detected by asan after #83774

Allocation size will be divided by `__endian_factor` before storing. If
it's not aligned,
we will not be able to recover allocation size to pass into
`__alloc_traits::deallocate`.

we have code like this 
```
 auto __allocation = std::__allocate_at_least(__alloc(), __recommend(__sz) + 1);
    __p               = __allocation.ptr;
    __set_long_cap(__allocation.count);

void __set_long_cap(size_type __s) _NOEXCEPT {
    __r_.first().__l.__cap_     = __s / __endian_factor;
    __r_.first().__l.__is_long_ = true;
  }

size_type __get_long_cap() const _NOEXCEPT {
    return __r_.first().__l.__cap_ * __endian_factor;
  }

inline ~basic_string() {
    __annotate_delete();
    if (__is_long())
      __alloc_traits::deallocate(__alloc(), __get_long_pointer(), __get_long_cap());
  }
```
1. __recommend() -> even size
2. `std::__allocate_at_least(__alloc(), __recommend(__sz) + 1)` - > not
even size
3. ` __set_long_cap() `- > lose one bit of size for __endian_factor == 2
(see `/ __endian_factor`)
4. `__alloc_traits::deallocate(__alloc(), __get_long_pointer(),
__get_long_cap())` -> uses even size (see `__get_long_cap`)


  Commit: 26060de06378375f784b35df80ec6d43425e5908
      https://github.com/llvm/llvm-project/commit/26060de06378375f784b35df80ec6d43425e5908
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Semantics/tools.h
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/test/Lower/CUDA/cuda-data-attribute.cuf

  Log Message:
  -----------
  [flang][cuda] Lower device/managed/unified allocation to cuda ops (#90623)

Lower locals allocation of cuda device, managed and unified variables to
fir.cuda_alloc. Add fir.cuda_free in the function context finalization.

@vzakhari For some reason the PR #90526 has been closed when I merged PR
#90525. Just reopening one.


  Commit: 0c2a508f4da225262a8d2a224e576bc507bf5e0b
      https://github.com/llvm/llvm-project/commit/0c2a508f4da225262a8d2a224e576bc507bf5e0b
  Author: Eric Fiselier <eric at efcs.ca>
  Date:   2024-05-02 (Thu, 02 May 2024)

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

  Log Message:
  -----------
  Bump actions runner image used for libc++'s builders.

The builders are not producing warnings about the runner version being
out of date. This is an attempt to fix that.


  Commit: 39172bcfe4ca6f4db09da0f76a3e324dd3888a51
      https://github.com/llvm/llvm-project/commit/39172bcfe4ca6f4db09da0f76a3e324dd3888a51
  Author: Chris B <chris.bieneman at me.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets/DirectX.h
    A clang/test/SemaHLSL/Types/Arithmetic/half_size.hlsl

  Log Message:
  -----------
  [HLSL] Cleanup TargetInfo handling (#90694)

We had some odd places where we set target behaviors. We were setting
the long size in target-specific code, but it should be language-based.
We were not setting the Half float type semantics correctly, and instead
were overriding the query in the AST context.

This change it moves existing code to the right places in the Target so
that as we continue working on target and language feature they are
controlled in the right places.

It also fixes a bug where the size of `half` was computed incorrectly
when native half types are not supported.


  Commit: 4113e15153d5af39a12c6bcf16e6b35614dc13a2
      https://github.com/llvm/llvm-project/commit/4113e15153d5af39a12c6bcf16e6b35614dc13a2
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenFunction.h
    A clang/test/Profile/debug-info-instr_profile_switch.cpp

  Log Message:
  -----------
  [clang][PGO] Apply artificial DebugLoc to llvm.instrprof.increment instructions (#90717)

Prior to this change the debug-location for the
`llvm.instrprof.increment` intrinsic was set to whatever the current
DIBuilder's current debug location was set to. This meant that for
switch-statements, a counter's location was set to the previous case's
debug-location, causing confusing stepping behaviour in debuggers. This
patch makes sure we attach a dummy debug-location for the increment
instructions.

rdar://123050737


  Commit: 954d00e87cdd77d0e9e367be52e62340467bd779
      https://github.com/llvm/llvm-project/commit/954d00e87cdd77d0e9e367be52e62340467bd779
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp

  Log Message:
  -----------
  [lldb] MachO delay-init binaries don't load as dependent


  Commit: 9dca7dde3ff2e1471ef4fc145b56d7bea4d06ae8
      https://github.com/llvm/llvm-project/commit/9dca7dde3ff2e1471ef4fc145b56d7bea4d06ae8
  Author: Anlun Xu <anlunx at google.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

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

  Log Message:
  -----------
  Fix MLIR BUILD


  Commit: 2d15855adf6afac3f4171a24fd18b65a32eedf78
      https://github.com/llvm/llvm-project/commit/2d15855adf6afac3f4171a24fd18b65a32eedf78
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M lldb/tools/debugserver/source/MacOSX/MachProcess.mm
    M lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp

  Log Message:
  -----------
  [lldb] [debugserver] address preprocessor warning, extra arg (#90808)

In DNBArchImplARM64.cpp I'm doing
```
#if __has_feature(ptrauth_calls) && defined(__LP64__)
```
And the preprocessor warns that this is not defined behavior. This
checks if ptrauth_calls is available and if this is being compiled
64-bit (i.e. arm64e), and defines a single DEBUGSERVER_IS_ARM64E when
those are both true.

I did have to duplicate one DNBLogThreaded() call which itself is a
macro, and using an ifdef in the middle of macro arguments also got me a
warning from the preprocessor.

While testing this for all the different targets, I found a DNBError
initialization that accepts a c-string but I'm passing in a printf-style
formatter c-string and an argument. Create the string before the call
and pass in the constructed string.

rdar://127129242


  Commit: a7e9e3eb8b44bc3a6f14f0af71e555e2cac6ef41
      https://github.com/llvm/llvm-project/commit/a7e9e3eb8b44bc3a6f14f0af71e555e2cac6ef41
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

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

  Log Message:
  -----------
  [lldb] Add a log level to Host::SystemLog (#90904)

Add the ability to specify a log level to Host::SystemLog.


  Commit: 83fdcf234ff37f3e3c2f99fb8de9b9996fdd7f49
      https://github.com/llvm/llvm-project/commit/83fdcf234ff37f3e3c2f99fb8de9b9996fdd7f49
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

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

  Log Message:
  -----------
  [msan] Fix vscale alloca poisoning (#90912)


  Commit: 9058ce523a7300c68eeedf3fbd170cd18b73f27f
      https://github.com/llvm/llvm-project/commit/9058ce523a7300c68eeedf3fbd170cd18b73f27f
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M llvm/test/Instrumentation/MemorySanitizer/vscale.ll

  Log Message:
  -----------
  [msan] Add vscale origin test


  Commit: ff210b94d449de8ebe1f32cf0d7763ba63b27b39
      https://github.com/llvm/llvm-project/commit/ff210b94d449de8ebe1f32cf0d7763ba63b27b39
  Author: Pavel Iliin <Pavel.Iliin at arm.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M clang/test/CodeGen/attr-target-clones-aarch64.c

  Log Message:
  -----------
  [FMV][NFC] Add test for bti and mte check in resolver.


  Commit: 18707f53d6d2665634373847a0e9bdcbcac88c57
      https://github.com/llvm/llvm-project/commit/18707f53d6d2665634373847a0e9bdcbcac88c57
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M clang/test/Profile/debug-info-instr_profile_switch.cpp

  Log Message:
  -----------
  [clang][PGO][test] Relax FileCheck patterns in debug-info-instr_profile_switch.cpp (#90916)

Caused build-bot failures on various platforms.


  Commit: 3016c0636fd2df86d2c1dc8e7d49efe77a1bdedf
      https://github.com/llvm/llvm-project/commit/3016c0636fd2df86d2c1dc8e7d49efe77a1bdedf
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/test/Instrumentation/MemorySanitizer/vector-load-store.ll
    M llvm/test/Instrumentation/MemorySanitizer/vscale.ll

  Log Message:
  -----------
  [NFCI][msan] Use IntPtr for vscales origin for consistency (#90920)


  Commit: ff0d09c4965d529c24e49823bab654d39dc20d07
      https://github.com/llvm/llvm-project/commit/ff0d09c4965d529c24e49823bab654d39dc20d07
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M lld/MachO/ObjC.cpp

  Log Message:
  -----------
  [lld-macho][NFC] Simplify category merging code (#90856)

We modify category merging code to simplify it, as follows:
- We can simplify InfoWriteSection to not be templated - this is not
really necessary.
 - We remove PointerListInfo::categoryOffset as it is not used.


  Commit: aae3835ecdf598e212d73265a6bea9e50187b546
      https://github.com/llvm/llvm-project/commit/aae3835ecdf598e212d73265a6bea9e50187b546
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M lld/MachO/ObjC.cpp
    M lld/test/MachO/objc-category-merging-complete-test.s
    M lld/test/MachO/objc-category-merging-extern-class-minimal.s

  Log Message:
  -----------
  [lld-macho] Make category merging symbol names match ld64 (#90864)

When generating symbols for various category constructs, make sure the
symbol names match the format of those generated by ld64 when it does
category merging.


  Commit: 6d7d8e5b59cb0a66765ccf657814ae6039e27931
      https://github.com/llvm/llvm-project/commit/6d7d8e5b59cb0a66765ccf657814ae6039e27931
  Author: Volodymyr Sapsai <vsapsai at apple.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M clang/lib/Serialization/ASTReaderDecl.cpp
    A clang/test/Modules/odr_hash-enum.c

  Log Message:
  -----------
  [Modules] Detect ODR mismatches for enums in non-C++ like in C++. (#90298)

There is no reason for C and Objective-C to differ from C++ in this
matter.

rdar://85531830


  Commit: 1949856126df50c0ea4ee2f507d24613bd54824a
      https://github.com/llvm/llvm-project/commit/1949856126df50c0ea4ee2f507d24613bd54824a
  Author: Aart Bik <ajcbik at google.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp

  Log Message:
  -----------
  [mlir][sparse] add linalg elt-wise fusion to sparsifier pipeline (#90924)

yields better IR in general, and all end-to-end tests pass!


  Commit: fd3e7e3a1e661482f46cd0347d0fa62adef30177
      https://github.com/llvm/llvm-project/commit/fd3e7e3a1e661482f46cd0347d0fa62adef30177
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrSSE.td
    M llvm/test/CodeGen/X86/vector-llrint.ll
    M llvm/test/CodeGen/X86/vector-lrint.ll

  Log Message:
  -----------
  [X86] Adding lowerings for vector ISD::LRINT and ISD::LLRINT (#90065)

- [V]CVTP[D,S]2DQ supports `f64/f32` -> `i32` conversions that can be
mapped to `llvm.lrint.vNi32.vNf64/32` since SSE2. AVX and AVX512 added
256-bit and 512-bit support;
- VCVTP[D,S]2QQ supports `f64/f32` -> `i64` conversions that can be
mapped to `llvm.l[l]rint.vNi64.vNf64/32` since AVX512DQ. All 128-bit,
256-bit (require AVX512VL) and 512-bit are supported.


  Commit: fc83eda46ed2e8d6e121cc9b3c04669651e23ad0
      https://github.com/llvm/llvm-project/commit/fc83eda46ed2e8d6e121cc9b3c04669651e23ad0
  Author: Peiming Liu <peiming at google.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
    M mlir/lib/Dialect/SparseTensor/Utils/Merger.cpp
    M mlir/test/Dialect/SparseTensor/sparse_fusion.mlir

  Log Message:
  -----------
  [mlir][sparse] make sparse compiler more admissible. (#90927)


  Commit: b0eeacb20379f6d80079793b8461f56c240e6570
      https://github.com/llvm/llvm-project/commit/b0eeacb20379f6d80079793b8461f56c240e6570
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/icmp-of-trunc-ext.ll

  Log Message:
  -----------
  [InstCombine] Fold icmp of trunc nuw/nsw (#90436)

Convert the existing foldICmpTruncWithTruncOrExt() fold to work with
trunc nowrap flags instead of computeKnownBits(). This also allows us to
generalize the fold to work with signed comparisons.

Interestingly, apart from the obvious combinations like signed
predicates with trunc nsw, some non-obvious ones are also legal. For
example for unsigned predicates we can do the transform for two trunc
nsw as well (rather than only trunc nuw).

Proofs: https://alive2.llvm.org/ce/z/ndewwK


  Commit: 43a38e2759e81beaf41224a58c04b9db603e62aa
      https://github.com/llvm/llvm-project/commit/43a38e2759e81beaf41224a58c04b9db603e62aa
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M llvm/lib/Analysis/MemoryBuiltins.cpp
    M llvm/test/Instrumentation/BoundsChecking/simple.ll

  Log Message:
  -----------
  [BoundsChecking] Handle vscale allocas (#90926)


  Commit: d2af1ea81dd0170133c53ebd67c9a9be125dfd31
      https://github.com/llvm/llvm-project/commit/d2af1ea81dd0170133c53ebd67c9a9be125dfd31
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

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

  Log Message:
  -----------
  [clang-format][NFC] Minor improvement to parseLabel()


  Commit: b62c45cfe514237f71a7f461ba283dd13a92bfe0
      https://github.com/llvm/llvm-project/commit/b62c45cfe514237f71a7f461ba283dd13a92bfe0
  Author: jyu2-git <jennifer.yu at intel.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M clang/lib/Parse/ParseOpenMP.cpp

  Log Message:
  -----------
  Fix sanitize problem. (#90800)

Currently isMapType could return OpenMPMapModifierKind.

The change is to return OpenMPMapTypeKind only, if it is not MapType
Kind OMPC_MAP_unknown is returned.


  Commit: 6b948705a05261a2ff31cd7e6ea8319d1852ddfc
      https://github.com/llvm/llvm-project/commit/6b948705a05261a2ff31cd7e6ea8319d1852ddfc
  Author: Franklin Zhang <zhangfenglei at huawei.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/include/llvm/Transforms/AggressiveInstCombine/AggressiveInstCombine.h
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
    R llvm/test/Transforms/AggressiveInstCombine/strcmp.ll
    A llvm/test/Transforms/AggressiveInstCombine/strncmp-1.ll
    A llvm/test/Transforms/AggressiveInstCombine/strncmp-2.ll

  Log Message:
  -----------
  [AggressiveInstCombine] Inline strcmp/strncmp (#89371)

Inline calls to strcmp(s1, s2) and strncmp(s1, s2, N), where N and
exactly one of s1 and s2 are constant.

For example:

```c
int res = strcmp(s, "ab");
```

is converted to

```c
int res = (int)s[0] - (int)'a';
if (res != 0)
  goto END;
res = (int)s[1] - (int)'b';
if (res != 0)
  goto END;
res = (int)s[2] - (int)'\0';
END:
```

Ported from a similar gcc feature [Inline strcmp with small constant
strings](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78809).


  Commit: 37f6ba4fb2db2c78cda7d0a69cd0a2eff2b924e3
      https://github.com/llvm/llvm-project/commit/37f6ba4fb2db2c78cda7d0a69cd0a2eff2b924e3
  Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M flang/include/flang/Lower/AbstractConverter.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.h
    M flang/test/Lower/OpenMP/default-clause-byref.f90
    M flang/test/Lower/OpenMP/default-clause.f90

  Log Message:
  -----------
  [flang][OpenMP] Fix construct privatization in default clause (#72510)

Current implementation of default clause privatization incorrectly fails
to privatize in presence of non-OpenMP constructs (i.e. nested
constructs with regions whose symbols need to be privatized in the scope
of the parent OpenMP construct). This patch fixes the same by
considering non-OpenMP constructs separately by collecting symbols of a
nested region if it is a non-OpenMP construct with a region, and
privatizing it in the scope of the parent OpenMP construct.

Fixes https://github.com/llvm/llvm-project/issues/71914 and
https://github.com/llvm/llvm-project/issues/71915


  Commit: e8cda376a74c50e9f640d26ed36a369b924685ed
      https://github.com/llvm/llvm-project/commit/e8cda376a74c50e9f640d26ed36a369b924685ed
  Author: Christian Sigg <csigg at google.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

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

  Log Message:
  -----------
  [llvm][bazel] Fix BUILD after dcf376aae738252fb52a73bcf7f58fd030e15ee2.


  Commit: 4ad696231bc7d398c0f4430e60cfc6ab4c7e880e
      https://github.com/llvm/llvm-project/commit/4ad696231bc7d398c0f4430e60cfc6ab4c7e880e
  Author: Christian Sigg <csigg at google.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M mlir/test/Dialect/Transform/irdl.mlir

  Log Message:
  -----------
  [mlir] Fix test added in 105c992c83aa527c6c50d60becd4d66b476b0a32.


  Commit: f8fedfb6802173372ec923f99f31d4af810fbcb0
      https://github.com/llvm/llvm-project/commit/f8fedfb6802173372ec923f99f31d4af810fbcb0
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/make/Makefile.rules

  Log Message:
  -----------
  [lldb] Fix TestSharedLibStrippedSymbols for #90622

`ifeq` needs to be at the beginning of a line, otherwise it's
interpreted as part of the recipe.


  Commit: 922ab7089b2eb234afa6fa0e7db85110cd8a3351
      https://github.com/llvm/llvm-project/commit/922ab7089b2eb234afa6fa0e7db85110cd8a3351
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    A mlir/test/Target/LLVMIR/openmp-omp.private-dealloc.mlir

  Log Message:
  -----------
  [MLIR][OpenMP] Extend omp.private materialization support: `dealloc` (#90841)

Extends current support for delayed privatization during translation to
LLVM IR. This adds support for materlizaing the `dealloc` region in
`omp.private` ops when this region contains clean-up/deallocation logic
that needs to be executed at the end of the parallel region.

This changes the `OMPIRBuilder` slightly to execute the finalization
callback **after** the privatization callback. This allows us to collect
information about privatized variables on the MLIR and LLVM sides so
that we can properly emit deallocation logic.


  Commit: b03e7a51dd9be2f3be09062a7762dd3507b04b26
      https://github.com/llvm/llvm-project/commit/b03e7a51dd9be2f3be09062a7762dd3507b04b26
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/test/Instrumentation/HWAddressSanitizer/alloca.ll

  Log Message:
  -----------
  [HWASAN] Regenerate a test (#90943)


  Commit: e450f987286b983328e0b9e65630b656dec291de
      https://github.com/llvm/llvm-project/commit/e450f987286b983328e0b9e65630b656dec291de
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M lldb/source/Utility/Scalar.cpp
    M lldb/test/API/python_api/type/TestTypeList.py
    M lldb/test/API/python_api/type/main.cpp
    M lldb/unittests/Utility/ScalarTest.cpp

  Log Message:
  -----------
  [lldb] Fix Scalar::GetData for non-multiple-of-8-bits values (#90846)

It was aligning the byte size down. Now it aligns up. This manifested
itself as SBTypeStaticField::GetConstantValue returning a zero-sized
value for `bool` fields (because clang represents bool as a 1-bit
value).

I've changed the code for float Scalars as well, although I'm not aware
of floating point values that are not multiples of 8 bits.


  Commit: 70b5a22678cf38982086762b0b2ec02eb8f9dbc2
      https://github.com/llvm/llvm-project/commit/70b5a22678cf38982086762b0b2ec02eb8f9dbc2
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
    M llvm/test/Instrumentation/HWAddressSanitizer/alloca.ll

  Log Message:
  -----------
  [hwasan] Don't crash on vscale allocas (#90932)

getAllocaSizeInBytes will crash casting size to
constant.


  Commit: 9731b77e80261c627d79980f8c275700bdaf6591
      https://github.com/llvm/llvm-project/commit/9731b77e80261c627d79980f8c275700bdaf6591
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst
    M llvm/docs/LangRef.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/lib/Target/AMDGPU/SIModeRegisterDefaults.cpp
    M llvm/lib/Target/AMDGPU/SIModeRegisterDefaults.h
    A llvm/test/CodeGen/AMDGPU/llvm.set.rounding.ll

  Log Message:
  -----------
  AMDGPU: Implement llvm.set.rounding (#88587)

Use a shift of a magic constant and some offseting to convert from
flt_rounds values.

I don't know why the enum defines Dynamic = 7. The standard suggests -1
is the cannot determine value. If we could start the extended values at
4 we wouldn't need the extra compare sub and select.

https://reviews.llvm.org/D153257


  Commit: 44648ccb8b7e68a5c259ec857fd4041fdd41c588
      https://github.com/llvm/llvm-project/commit/44648ccb8b7e68a5c259ec857fd4041fdd41c588
  Author: Carl Ritson <carl.ritson at amd.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/test/CodeGen/AMDGPU/pal-metadata-3.0.ll

  Log Message:
  -----------
  [AMDGPU] Always emit lds_size in PAL ELF Metadata 3.0 (#87222)

Emit lds_size for all shader types in PAL metadata.


  Commit: 6535e7a4004ebc45e9e544acab3ea4b421e0b5a9
      https://github.com/llvm/llvm-project/commit/6535e7a4004ebc45e9e544acab3ea4b421e0b5a9
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/test/CodeGen/SystemZ/copy-phys-reg-gr128-to-vr128.mir

  Log Message:
  -----------
  SystemZ: Remove redundant copy tests from 75f4baa70


  Commit: edbe6ebb4dbc5a8e3207733c5fadd15da9b83fc9
      https://github.com/llvm/llvm-project/commit/edbe6ebb4dbc5a8e3207733c5fadd15da9b83fc9
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/test/CodeGen/SystemZ/atomic-store-08.ll

  Log Message:
  -----------
  SystemZ: Don't promote atomic store in IR (#90899)

This is the mirror to the recent atomic load change. The same
bitcast-back-to-integer case is a small code quality regression for the
same reason. This would disappear with a bitcastable legal 128-bit type.


  Commit: e4b04b391ffcde180f9a8b1b83309b2163b44ce3
      https://github.com/llvm/llvm-project/commit/e4b04b391ffcde180f9a8b1b83309b2163b44ce3
  Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
    M mlir/include/mlir/Dialect/Transform/Interfaces/TransformInterfaces.h
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
    M mlir/lib/Dialect/Transform/Interfaces/TransformInterfaces.cpp
    M mlir/test/Dialect/Transform/foreach-match.mlir
    M mlir/test/Dialect/Transform/ops-invalid.mlir

  Log Message:
  -----------
  [mlir] make transform.foreach_match forward arguments (#89920)

It may be useful to have access to additional handles or parameters when
performing matches and actions in `foreach_match`, for example, to
parameterize the matcher by rank or restrict it in a non-trivial way.
Enable `foreach_match` to forward additional handles from operands to
matcher symbols and from action symbols to results.


  Commit: 8480c93e36b33c237540e20c97cda8fb3d196f1f
      https://github.com/llvm/llvm-project/commit/8480c93e36b33c237540e20c97cda8fb3d196f1f
  Author: YanzuoLiu <zwuis at outlook.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/CXX/expr/expr.unary/expr.unary.op/p4.cpp

  Log Message:
  -----------
  [clang] pointer to member with qualified-id enclosed in parentheses in unevaluated context should be invalid (#89713)

clang don't check whether the operand of the & operator is enclosed in
parantheses when pointer to member is formed in unevaluated context, for
example:

```cpp
struct foo { int val; };

int main() { decltype(&(foo::val)) ptr; }
```

`decltype(&(foo::val))` should be invalid, but clang accepts it. This PR
fixes this issue.

Fixes #40906.

---------

Co-authored-by: cor3ntin <corentinjabot at gmail.com>


  Commit: ed299b3efd669c02fa37773d1ae49fca3556f729
      https://github.com/llvm/llvm-project/commit/ed299b3efd669c02fa37773d1ae49fca3556f729
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
    M llvm/include/llvm/Support/Compiler.h
    M llvm/unittests/CodeGen/GlobalISel/CMakeLists.txt
    A llvm/unittests/CodeGen/GlobalISel/GIMatchTableExecutorTest.cpp
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp

  Log Message:
  -----------
  [GlobalISel] Optimize ULEB128 usage (#90565)

- Remove some cases where ULEB128 isn't needed
- Add a fastDecodeULEB128 tailored for GlobalISel which does unchecked
decoding optimized for the common case, which is 1 byte values. We
rarely have >1 byte Inst IDs, OpIdx, etc. and those are the most common
ULEB users by far.

This specific LEB128 decode function generates almost 2x less
instructions than the generic one.


  Commit: e47d7c697572a577b14fef7a1f44d779e4394af5
      https://github.com/llvm/llvm-project/commit/e47d7c697572a577b14fef7a1f44d779e4394af5
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-03 (Fri, 03 May 2024)

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

  Log Message:
  -----------
  Fix MSVC signed/unsigned mismatch warning. NFC.


  Commit: 7c64b53932b7f719a34a9edd89cc65b8e3c32167
      https://github.com/llvm/llvm-project/commit/7c64b53932b7f719a34a9edd89cc65b8e3c32167
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

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

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


  Commit: b4e751e2ab0ff152ed18dea59ebf9691e963e1dd
      https://github.com/llvm/llvm-project/commit/b4e751e2ab0ff152ed18dea59ebf9691e963e1dd
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.set.rounding.ll

  Log Message:
  -----------
  AMDGPU: Optimize set_rounding if input is known to fit in 2 bits (#88588)

We don't need to figure out the weird extended rounding modes or
handle offsets to keep the lookup table in 64-bits.
    
https://reviews.llvm.org/D153258

Depends #88587


  Commit: 385f59f9f570b77bf8bd636ba2f65a08a7227499
      https://github.com/llvm/llvm-project/commit/385f59f9f570b77bf8bd636ba2f65a08a7227499
  Author: Rin Dobrescu <irina.dobrescu at arm.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCRegisterInfo.h
    M llvm/lib/MCA/InstrBuilder.cpp
    M llvm/test/tools/llvm-mca/AArch64/HiSilicon/tsv110-forwarding.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-zero-dependency.s
    M llvm/utils/TableGen/RegisterInfoEmitter.cpp

  Log Message:
  -----------
  [llvm-mca] Teach MCA constant registers do not create dependencies (#89387)

Constant registers like the zero registers XZR and WZR are treated as
any other register by LLVM-MCA. This can create non existent dependency
chains.
Currently there is no method in MCA to query if a register is constant.
This patch fixes the issue by adding a bool Constant
variable to MCRegisterDesc that is true for constant registers. Since
constant registers do not create dependencies, it makes sense to add
this check to MCA.


  Commit: 9f9856d623559bcd970b52167f7ac096d76b2659
      https://github.com/llvm/llvm-project/commit/9f9856d623559bcd970b52167f7ac096d76b2659
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i32_system.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i64_system.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i32_system.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i64_system.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f32-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f64-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i32-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i64-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-v2bf16-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-v2f16-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomicrmw-integer-ops-0-to-add-0.ll
    M llvm/test/Transforms/InferAddressSpaces/AMDGPU/basic.ll
    M llvm/test/Transforms/Inline/AMDGPU/inline-atomicrmw-md-preserve.ll

  Log Message:
  -----------
  AMDGPU: Update name for amdgpu.no.remote.memory metadata


  Commit: 4e67b5058ee54500c00844c3d2d26977e36eca1f
      https://github.com/llvm/llvm-project/commit/4e67b5058ee54500c00844c3d2d26977e36eca1f
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/idemponent-atomics.ll
    A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f32-agent.ll
    A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f64-agent.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16.ll
    A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i32-agent.ll
    A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i64-agent.ll
    A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-v2bf16-agent.ll
    A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-v2f16-agent.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomicrmw-integer-ops-0-to-add-0.ll

  Log Message:
  -----------
  AMDGPU: Add more tests for atomicrmw handling

Add agent scope copies of atomicrmw atomics tests.
Expand testing for the undo identity atomicrmw case.
Test 16-bit atomic expansions.


  Commit: fb1c2dbc0a6ba641e0b39e0692ec6a4ee4444c4b
      https://github.com/llvm/llvm-project/commit/fb1c2dbc0a6ba641e0b39e0692ec6a4ee4444c4b
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/Descriptor.cpp
    M clang/lib/AST/Interp/Descriptor.h
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/Program.cpp
    M clang/test/AST/Interp/builtin-align-cxx.cpp
    M clang/test/AST/Interp/c.c

  Log Message:
  -----------
  Revert "Reapply "[clang][Interp] Create full type info for dummy pointers""

This reverts commit 1aeb64c8ec7b96b2301929d8a325a6e1d9ddaa2f.

Due to failures in 32 bit Arm builds:
https://lab.llvm.org/buildbot/#/builders/245/builds/24041


  Commit: 6086f694df10b57b75ed05494832f61e1e2ad59f
      https://github.com/llvm/llvm-project/commit/6086f694df10b57b75ed05494832f61e1e2ad59f
  Author: whisperity <whisperity at gmail.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/int09-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/enum-initial-value.rst

  Log Message:
  -----------
  [clang-tidy] Add 'cert-int09-c' alias for 'readability-enum-initial-value' (#90868)

The check's ruling exactly matches the corresponding CERT C
Recommendation, and, as such, worth a trivial alias.


  Commit: 1efc1918502bd8c9cf2431af38d754878eac071a
      https://github.com/llvm/llvm-project/commit/1efc1918502bd8c9cf2431af38d754878eac071a
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp

  Log Message:
  -----------
  [clang][Driver] Iterate with const reference (NFC)

Closes #90282


  Commit: 256797e594427df308058a066669d6236d3add3f
      https://github.com/llvm/llvm-project/commit/256797e594427df308058a066669d6236d3add3f
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/include/llvm/IR/DebugProgramInstruction.h

  Log Message:
  -----------
  [NFC][RemoveDIs] Fix some comments in DebugProgramInstruction.h


  Commit: 2933ef2da9103122a52066a1c680046d1bdacaed
      https://github.com/llvm/llvm-project/commit/2933ef2da9103122a52066a1c680046d1bdacaed
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/HIPUtility.cpp

  Log Message:
  -----------
  [clang][HIPUtility] Iterate by const reference (NFC)

Closes #90284


  Commit: bcdbd0bf50a3845130c5db9e3284f056233f12d7
      https://github.com/llvm/llvm-project/commit/bcdbd0bf50a3845130c5db9e3284f056233f12d7
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

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

  Log Message:
  -----------
  [llvm][DataFlowSanitizer] Don't pass vector by value (NFC)

Closes #89201


  Commit: fc7e74e879f37301edd9450d3bbf0fec620338a6
      https://github.com/llvm/llvm-project/commit/fc7e74e879f37301edd9450d3bbf0fec620338a6
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll
    M llvm/test/Analysis/CostModel/X86/masked-intrinsic-codesize.ll
    M llvm/test/Analysis/CostModel/X86/masked-intrinsic-latency.ll
    M llvm/test/Analysis/CostModel/X86/masked-intrinsic-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-replication-i1-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-replication-i1-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-replication-i1-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-replication-i16-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-replication-i16-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-replication-i16-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-replication-i8-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-replication-i8-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-replication-i8-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/trunc-codesize.ll
    M llvm/test/Analysis/CostModel/X86/trunc-latency.ll
    M llvm/test/Analysis/CostModel/X86/trunc-sizelatency.ll

  Log Message:
  -----------
  [CostModel][X86] getCastInstrCost - improve CostKind adjustment when splitting src/dst types

Noticed in #90883 review - for non-Throughput costs, we weren't applying the split count to '0 or 1' cost value.

This still doesn't work well as many of the type legalizations are hidden so we don't have the split count, really we need to move a CostKindCosts based costs table, but that's going to be a lot of work :/


  Commit: 1d43cdc9f5bae92fefb996a98d1ca48878c1c28f
      https://github.com/llvm/llvm-project/commit/1d43cdc9f5bae92fefb996a98d1ca48878c1c28f
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll

  Log Message:
  -----------
  [LV][EVL]Support reversed loads/stores.

Support for predicated vector reverse intrinsic was added some time ago.
Adds support for predicated reversed loads/stores in the loop
vectorizer.

Reviewers: fhahn

Reviewed By: fhahn

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


  Commit: 18e7dcb7c5765d89e36af9a56354525efd685b83
      https://github.com/llvm/llvm-project/commit/18e7dcb7c5765d89e36af9a56354525efd685b83
  Author: Corentin Ferry <corentin.ferry at amd.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
    A mlir/test/Conversion/ArithToEmitC/arith-to-emitc-unsupported.mlir
    M mlir/test/Conversion/ArithToEmitC/arith-to-emitc.mlir

  Log Message:
  -----------
  [mlir][emitc] Arith to EmitC: handle floating-point<->integer conversions (#87614)

Add support for floating-point to integer, integer to floating-point
conversions. Floating point conversions to 1-bit integer types are not
handled at the moment, as these don't map directly to boolean
conversions.


  Commit: 91446e2aa687ec57ad88dc0df793d0c6e694a7c9
      https://github.com/llvm/llvm-project/commit/91446e2aa687ec57ad88dc0df793d0c6e694a7c9
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/AsmParser/LLParser.h
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/IR/DebugProgramInstruction.cpp
    M llvm/lib/IR/Function.cpp
    M llvm/lib/IR/Module.cpp
    M llvm/tools/llvm-as/llvm-as.cpp
    M llvm/tools/llvm-dis/llvm-dis.cpp
    M llvm/tools/llvm-link/llvm-link.cpp
    M llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
    M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
    M llvm/unittests/IR/DebugInfoTest.cpp
    M llvm/unittests/IR/IRBuilderTest.cpp
    M llvm/unittests/IR/InstructionsTest.cpp
    M llvm/unittests/IR/ValueTest.cpp
    M llvm/unittests/Transforms/Utils/CloningTest.cpp
    M llvm/unittests/Transforms/Utils/LocalTest.cpp

  Log Message:
  -----------
  Repply#2 "[RemoveDIs] Load into new debug info format by default in LLVM (#89799)"

Reapplies the original commit:
  2f01fd99eb8c8ab3db9aba72c4f00e31e9e60a05

The previous application of this patch failed due to some missing
DbgVariableRecord support in clang, which has been added now by commit
8805465e.

This will probably break some downstream tools that don't already handle
debug records. If your downstream code breaks as a result of this
change, the simplest fix is to convert the module in question to the old
debug format before you process it, using
`Module::convertFromNewDbgValues()`. For more information about how to
handle debug records or about what has changed, see the migration
document:
    https://llvm.org/docs/RemoveDIsDebugInfo.html

This reverts commit 4fd319ae273ed6c252f2067909c1abd9f6d97efa.


  Commit: 5850f6ba9b2c14d8457c6e8455483a20b2bf3636
      https://github.com/llvm/llvm-project/commit/5850f6ba9b2c14d8457c6e8455483a20b2bf3636
  Author: agozillon <Andrew.Gozillon at amd.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/test/Semantics/OpenMP/map-clause.f90

  Log Message:
  -----------
  [Flang][OpenMP] Parse and semantically analyze common blocks in map clauses correctly (#89847)

Currently, you cannot provide the common block syntax that you should be
able to provide for map clauses (and that you can for declare target)
e.g.:

` !$omp target map(tofrom: /var/)`

This PR seeks to change that and allow this syntax via a small tweak,
which may also allow a wider range of types to be provided without issue
as well via the utilisation of ResolveOmpObject a helper function used
by the majority of other OmpObject handling clauses.

A by product of this change, is that we now emit an error for the
following syntax, when provided to map clauses with an assumed size
array:

`!$omp target map(arr(:))`

This seems inline with the specification from what I understand of it
(do feel free to correct me if that is not your reading or I am
incorrect!) and other OpenMP compilers i.e. gfortran, ifx, ifort.


  Commit: 642117105d4f7944b7944f9b2a6ba9993fb68ed9
      https://github.com/llvm/llvm-project/commit/642117105d4f7944b7944f9b2a6ba9993fb68ed9
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/test/CodeGen/attr-mustprogress.c
    M clang/test/CodeGenCXX/attr-mustprogress.cpp
    M clang/www/cxx_status.html

  Log Message:
  -----------
  [Clang] Implement P2809: Trivial infinite loops are not Undefined Behavior (#90066)

https://wg21.link/P2809R3

This is applied as a DR to C++11 (C++98 did not guarantee forward
progress and is left untouched)

As an extension (and to preserve existing behavior in C), we consider
all controlling expression that can be constant folded
in the front end, not just standard constant expressions.


  Commit: fcf86cc577546946de97893c859dbb4836170f9b
      https://github.com/llvm/llvm-project/commit/fcf86cc577546946de97893c859dbb4836170f9b
  Author: Leandro Lupori <leandro.lupori at linaro.org>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M flang/test/Lower/OpenMP/default-clause.f90

  Log Message:
  -----------
  [flang][OpenMP] Refactor nested default clause tests (#85978)

Split nested default clause tests into multiple subroutines, to
make it easier to find failures. While here, fix indentation of
the modified lines.


  Commit: a48ebb8276408fa88cf7060ddc68f4eda1b62def
      https://github.com/llvm/llvm-project/commit/a48ebb8276408fa88cf7060ddc68f4eda1b62def
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

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

  Log Message:
  -----------
  [VPlan] Check type directly in ::isCanonical (NFC).

Directly check the type of the wide induction matches the canonical
induction.

Refactor suggested in and in preparation for
https://github.com/llvm/llvm-project/pull/89603


  Commit: 70d11ffb58e415929d4825032af6333795c0b258
      https://github.com/llvm/llvm-project/commit/70d11ffb58e415929d4825032af6333795c0b258
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    A llvm/test/CodeGen/X86/pr90847.ll

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


  Commit: 81003f23f0361aeb05b98489ba659edad40506f8
      https://github.com/llvm/llvm-project/commit/81003f23f0361aeb05b98489ba659edad40506f8
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-03 (Fri, 03 May 2024)

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

  Log Message:
  -----------
  [X86] combineBitcastvxi1 - peek through FREEZE nodes when determining width of the original SETCC node

Fixes #90847


  Commit: cd4287bc44fc614a336b5b283a484c402c44ca93
      https://github.com/llvm/llvm-project/commit/cd4287bc44fc614a336b5b283a484c402c44ca93
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
    M llvm/test/CodeGen/AMDGPU/preserve-wwm-copy-dst-reg.ll
    M llvm/test/CodeGen/AMDGPU/stack-realign.ll
    M llvm/test/CodeGen/AMDGPU/whole-wave-register-copy.ll
    M llvm/test/CodeGen/AMDGPU/whole-wave-register-spill.ll

  Log Message:
  -----------
  [AMDGPU] Convert PrologEpilogSGPRSpills from DenseMap to sorted vector (#90957)

In practice PrologEpilogSGPRSpills never has more than 3 entries so
DenseMap is overkill. In addition this means that iteration happens in
register number order, instead of DenseMap's hashed order, so it will
not be affected by future patches that define new physical registers.
This should reduce future test case churn.


  Commit: 327bfc971e4dce3f6798843c92406cda95c07ba1
      https://github.com/llvm/llvm-project/commit/327bfc971e4dce3f6798843c92406cda95c07ba1
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
    M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
    R lldb/test/API/debuginfod/Normal/Makefile
    R lldb/test/API/debuginfod/Normal/TestDebuginfod.py
    R lldb/test/API/debuginfod/Normal/main.c
    R lldb/test/API/debuginfod/SplitDWARF/Makefile
    R lldb/test/API/debuginfod/SplitDWARF/TestDebuginfodDWP.py
    R lldb/test/API/debuginfod/SplitDWARF/main.c
    M lldb/test/API/lit.site.cfg.py.in
    M lldb/test/CMakeLists.txt

  Log Message:
  -----------
  Revert "[lldb] Fix TestSharedLibStrippedSymbols for #90622"

And "LLDB Debuginfod tests and a fix or two (#90622)".

f8fedfb6802173372ec923f99f31d4af810fbcb0 /
2d4acb086541577ac6ab3a140b9ceb9659ce7094

As it has caused a test failure on 32 bit Arm:
https://lab.llvm.org/buildbot/#/builders/17/builds/52580

Expr/TestStringLiteralExpr.test. The follow up did fix
lang/c/shared_lib_stripped_symbols/TestSharedLibStrippedSymbols.py
but not the other failure.


  Commit: 9c8b0d4ef6308ca0a74151c14c01f972e8db8cda
      https://github.com/llvm/llvm-project/commit/9c8b0d4ef6308ca0a74151c14c01f972e8db8cda
  Author: Hans Wennborg <hans at chromium.org>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M clang-tools-extra/test/clang-tidy/infrastructure/config-files.cpp

  Log Message:
  -----------
  Use FileCheck in new clang-tidy/infrastructure/config-files.cpp tests

The test was failing spuriously on some machines [1]. Converting from
grep to FileCheck makes it easier to see what's happening, and also grep
is discouraged in tests [2].

Also drop the negative test: checking for the expected output is better.

 1. https://crbug.com/338535754
 2. https://llvm.org/docs/TestingGuide.html#:~:text=.%20%5BThe-,usage%20of%20grep,-in%20RUN%20lines


  Commit: cda8270981b666c492933a9df1d984d0d0f8433f
      https://github.com/llvm/llvm-project/commit/cda8270981b666c492933a9df1d984d0d0f8433f
  Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M flang/lib/Lower/Bridge.cpp
    A flang/test/Lower/if-loc.f90

  Log Message:
  -----------
  [flang] Source code location for IF statements and constructs (#90853)

Make source code locations for IF statements and IF construct component
statements more accurate. Make similar changes to ASSOCIATE, BLOCK, and
SELECT TYPE construct component statements.


  Commit: 72e07d48e073a9abc698bf9fa175ed2055825594
      https://github.com/llvm/llvm-project/commit/72e07d48e073a9abc698bf9fa175ed2055825594
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

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

  Log Message:
  -----------
  [AMDGPU] Simplify applySelectFCmpToFMinToFMaxLegacy. NFC.


  Commit: a13c5140a2a26923f3e7bf3684409425ff54de6f
      https://github.com/llvm/llvm-project/commit/a13c5140a2a26923f3e7bf3684409425ff54de6f
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

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

  Log Message:
  -----------
  [OpenACC] Implement firstprivate clause for compute constructs

This clause is pretty nearly copy/paste from private, except that it
doesn't support 'loop', and thus 'kernelsloop' for appertainment.


  Commit: bccb7ed8ac289a1503ed88edf56b27eb11ed5d5d
      https://github.com/llvm/llvm-project/commit/bccb7ed8ac289a1503ed88edf56b27eb11ed5d5d
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/LoopUtils.h
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
    M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
    M llvm/test/Transforms/LoopVectorize/select-cmp-predicated.ll
    M llvm/test/Transforms/LoopVectorize/select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/select-reduction-start-value-may-be-undef-or-poison.ll

  Log Message:
  -----------
  Reapply "[LV] Improve AnyOf reduction codegen. (#78304)"

This reverts the revert commit c6e01627acf859.

This patch includes a fix for any-of reductions and epilogue
vectorization. Extra test coverage for the issue that caused the revert
has been added in bce3bfced5fe0b019 and an assertion has been added in
c7209cbb8be7a3c65813.

--------------------------------
Original commit message:

Update AnyOf reduction code generation to only keep track of the AnyOf
property in a boolean vector in the loop, only selecting either the new
or start value in the middle block.

The patch incorporates feedback from https://reviews.llvm.org/D153697.

This fixes the #62565, as now there aren't multiple uses of the
start/new values.

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

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


  Commit: 3fffe6cb9235a5134b74ce6ad3c6ea752ffb40c7
      https://github.com/llvm/llvm-project/commit/3fffe6cb9235a5134b74ce6ad3c6ea752ffb40c7
  Author: thetruestblue <92476612+thetruestblue at users.noreply.github.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard.cpp

  Log Message:
  -----------
  [NFC][x86_64][Test Only] Disable for san coverage for lsan on all x86_64 for now (#90750)

Disabling this test on all x86_64 to unblock CI.

rdar://125052424


  Commit: 6517c5b068915784e3ae17ebce2c38e4072281dd
      https://github.com/llvm/llvm-project/commit/6517c5b068915784e3ae17ebce2c38e4072281dd
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

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

  Log Message:
  -----------
  [LV][NFC]Address last comments from https://github.com/llvm/llvm-project/pull/88025.


  Commit: bd909d2e6f2692685664c3f3b4db6047b2fb9441
      https://github.com/llvm/llvm-project/commit/bd909d2e6f2692685664c3f3b4db6047b2fb9441
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

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

  Log Message:
  -----------
  [OpenACC] Implement no_create and present clauses on compute constructs

These two are, from a semantic checking perspective, identical to
first-private/private/etc, other than appertainment. This patch
implements both.


  Commit: 3f1fef369935f833443f18bc2eababfb5e3da0ff
      https://github.com/llvm/llvm-project/commit/3f1fef369935f833443f18bc2eababfb5e3da0ff
  Author: Mel Chen <mel.chen at sifive.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll

  Log Message:
  -----------
  [RISCV] Support interleaved accesses for scalable vector. (#90583)

The support for interleaved accesses for scalable vector with a factor
of 2 is enabled in vectorizer. Therefore, the patch removed the
restriction for scalable vector with a factor of 2.


  Commit: 99ca40849ddaa466756d5da4e292f514f29fcb34
      https://github.com/llvm/llvm-project/commit/99ca40849ddaa466756d5da4e292f514f29fcb34
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp

  Log Message:
  -----------
  [AMDGPU] Remove unneeded calls to setInstrAndDebugLoc in matchers. NFC.


  Commit: 054f7c0565410f246f3e003ec18684bd526de64c
      https://github.com/llvm/llvm-project/commit/054f7c0565410f246f3e003ec18684bd526de64c
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/OpenACCClauses.def
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    A clang/test/SemaOpenACC/compute-construct-copy-clause.c
    A clang/test/SemaOpenACC/compute-construct-copy-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-varlist-ast.cpp
    M clang/tools/libclang/CIndex.cpp

  Log Message:
  -----------
  [OpenACC] Implement copy clause for compute constructs.

Like present, no_create, and first_private, copy is a clause that takes
just a var-list, and follows the same rules as the others.

The one unique part of this clause is that it ALSO supports two
deprecated/backwards-compatibility spellings, so this patch adds them
and implements them.


  Commit: 69f1442302250a23fb981fb4d61159d50551f617
      https://github.com/llvm/llvm-project/commit/69f1442302250a23fb981fb4d61159d50551f617
  Author: Billy Zhu <billyzhu at modular.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll

  Log Message:
  -----------
  [LLVM] BasicTTIImpl allow unknown type during legality checking (#89848)

Make BasicTTIImplBase's `isTypeLegal` check handle unknown types.
Current behavior is aborting.

Motivated by a use case in SimplifyCFG, where `isTypeLegal` is called on
a struct type and dies, when it could be treated as illegal and skipped.
In general it could make sense for unknown types to be allowed, and by
default just considered not legal, but the behavior can of course be
overriden.


  Commit: 5fc576956e3b47708e8b405d57cefddd945a43d9
      https://github.com/llvm/llvm-project/commit/5fc576956e3b47708e8b405d57cefddd945a43d9
  Author: Billy Zhu <billyzhu at modular.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
    M mlir/test/Target/LLVMIR/llvmir-debug.mlir

  Log Message:
  -----------
  [MLIR][LLVM] Exporter skip over inlined frame without debug scope (#90915)

Followup to #90759.

Instead of just returning null when the caller scope is not
translatable, "jump over" the current caller scope and use the outer
scope as the caller if that is available. This means that in an inlined
call stack if there are frames without debug scope, those frames are
skipped to preserve what is available. In the original example where
```
func A {
  foo loc(fused<#A>["a":1:1])
}
func B {
  call @A loc("b":1:1)
}
func C {
  call @B loc(fused<#C>["c":1:1])
}
```
is inlined into
```
func C {
  foo loc(callsite(
            callsite(fused<#A>["a":1:1] at loc("b":1:1))
           at
            fused<#C>["c":1:1]))
}
```
The translated result would be `!1`:
```
!0 = !DILocation(line: 1, column: 1, scope: !C)
!1 = !DILocation(line: 1, column: 1, scope: !A, inlinedAt: !0)
```

This has a neat benefit in maintaining callsite associativity: No matter
if we have `callsite(callsite(A at B) at C)` or `callsite(A at
callsite(B at C))`, the translation now is the same. The previous
solution did not provide this guarantee, which meant the callsite
construction would somehow impact this translation.


  Commit: 1cde1240ed6e45012d7510f4aa39badbdb4a4721
      https://github.com/llvm/llvm-project/commit/1cde1240ed6e45012d7510f4aa39badbdb4a4721
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
    M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp

  Log Message:
  -----------
  [AMDGPU] Use replaceOpcodeWith instead of applyCombine_s_mul_u64. NFC.


  Commit: 40cc96e7ece74479957ae5680b9e04b7743a000c
      https://github.com/llvm/llvm-project/commit/40cc96e7ece74479957ae5680b9e04b7743a000c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

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

  Log Message:
  -----------
  [VPlan] Remove unused VPWidenCanonicalIVRecipe::getScalarType (NFCI).

After a48ebb8276408fa88cf7060ddc68f4eda1b62def, the function is no
longer used. Remove it.


  Commit: 01e91a2dde497b71b0b85d5ec0f101a21e9c892c
      https://github.com/llvm/llvm-project/commit/01e91a2dde497b71b0b85d5ec0f101a21e9c892c
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/Basic/OpenACCClauses.def
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/test/AST/ast-print-openacc-compute-construct.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    A clang/test/SemaOpenACC/compute-construct-copyin-clause.c
    A clang/test/SemaOpenACC/compute-construct-copyin-clause.cpp
    A clang/test/SemaOpenACC/compute-construct-copyout-clause.c
    A clang/test/SemaOpenACC/compute-construct-copyout-clause.cpp
    A clang/test/SemaOpenACC/compute-construct-create-clause.c
    A clang/test/SemaOpenACC/compute-construct-create-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-varlist-ast.cpp
    M clang/tools/libclang/CIndex.cpp

  Log Message:
  -----------
  [OpenACC] Implement copyin, copyout, create clauses for compute construct

Like 'copy', these also have alternate names, so this implements that as
well.  Additionally, these have an optional tag of either 'readonly' or
'zero' depending on the clause.

Otherwise, this is a pretty rote implementation of the clause, as there
aren't any special rules for it.


  Commit: 692e887c7d77d71204df9090f12f1b8f47e4bfba
      https://github.com/llvm/llvm-project/commit/692e887c7d77d71204df9090f12f1b8f47e4bfba
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/Target/AMDGPU/AMDGPUCombine.td

  Log Message:
  -----------
  [GlobalISel] Use some standard matchinfo defs. NFC.


  Commit: d13f635201b74674f2de2821bb9e1a5feea0c313
      https://github.com/llvm/llvm-project/commit/d13f635201b74674f2de2821bb9e1a5feea0c313
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

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

  Log Message:
  -----------
  [RISCV] Use Sched*MC for Zvk MC instructions


  Commit: 4821882cdfe46b93935e01805ed413cf1272bcd4
      https://github.com/llvm/llvm-project/commit/4821882cdfe46b93935e01805ed413cf1272bcd4
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
    A llvm/test/tools/llvm-mca/RISCV/SiFiveP600/zvbb.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveP600/zvbc.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveP600/zvkg.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveP600/zvkned.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveP600/zvknhb.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveP600/zvksed.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveP600/zvksh.s

  Log Message:
  -----------
  [RISCV][llvm-mca] Add vector crypto llvm-mca tests for P600


  Commit: bab10981f3c7a15231b8e2008f99a38a5582e3b0
      https://github.com/llvm/llvm-project/commit/bab10981f3c7a15231b8e2008f99a38a5582e3b0
  Author: Miro Bucko <mbucko at meta.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/console/TestDAP_console.py

  Log Message:
  -----------
  [lldb-dap] Fix test_exit_status_message_sigterm test. (#90223)

Summary:
'test_exit_status_message_sigterm' is failing due to 'psutil' dependency
introduced in PR #89405. This fix removes 'deque' dependency and checks
if 'psutil' can be imported before running the test. If 'psutil' cannot
be imported, it emits a warning and skips the test.

Test Plan:
./bin/llvm-lit -sv
/path-to-llvm-project/lldb/test/API/tools/lldb-dap/console/TestDAP_console.py
--filter=tools/lldb-dap/console/TestDAP_console.py

Reviewers:
@jeffreytan81, at clayborg, at kusmour, @JDevlieghere, at walter-erquinigo

Subscribers:

Tasks:
lldb-dap

Tags:


  Commit: 56b8bd77445f2f7cc15c294c9089b73ca8f9ecdd
      https://github.com/llvm/llvm-project/commit/56b8bd77445f2f7cc15c294c9089b73ca8f9ecdd
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
    M llvm/lib/Target/RISCV/RISCVSchedRocket.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFiveP400.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
    M llvm/lib/Target/RISCV/RISCVSchedSyntacoreSCR1.td
    M llvm/lib/Target/RISCV/RISCVSchedXiangShanNanHu.td
    M llvm/lib/Target/RISCV/RISCVSchedule.td
    A llvm/lib/Target/RISCV/RISCVScheduleZvk.td
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP600/zvbb.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP600/zvbc.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP600/zvkg.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP600/zvkned.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP600/zvknhb.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP600/zvksed.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP600/zvksh.s

  Log Message:
  -----------
  [RISCV] Add Sched classes for vector crypto instructions (#90068)

The vector crypto instructions may have different scheduling behavior
compared to VALU operations. Instead of using scheduling resources that
describe VALU operations, we give these instructions their own
scheduling resources. This is similar to what we did for Zb* instructions.

The sifive-p670 has vector crypto, so we model behavior for these instructions
in the P600SchedModel. The numbers are based off of measurements collected
internally. These numbers are a bit old and new measurements show that they may
not be fully accurate. It is likely that we will refine these numbers in a
follow up patch(s) based on new measurements.

This PR is stacked on #89256.


  Commit: ebbc5de7db45b2fc81564a6c870a57f4b95d0477
      https://github.com/llvm/llvm-project/commit/ebbc5de7db45b2fc81564a6c870a57f4b95d0477
  Author: Peter Lafreniere <peter at n8pjl.ca>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/lib/Target/M68k/M68kSubtarget.cpp
    M llvm/test/CodeGen/M68k/Arith/divide-by-constant.ll
    M llvm/test/CodeGen/M68k/Arith/imul.ll
    M llvm/test/CodeGen/M68k/Arith/mul64.ll
    M llvm/test/CodeGen/M68k/Arith/sdiv-exact.ll
    M llvm/test/CodeGen/M68k/Arith/smul-with-overflow.ll
    M llvm/test/CodeGen/M68k/Arith/sub-with-overflow.ll
    M llvm/test/CodeGen/M68k/Atomics/cmpxchg.ll
    M llvm/test/CodeGen/M68k/Atomics/load-store.ll
    M llvm/test/CodeGen/M68k/Atomics/rmw.ll
    M llvm/test/CodeGen/M68k/CodeModel/medium-static.ll
    M llvm/test/CodeGen/M68k/CodeModel/small-static.ll
    M llvm/test/CodeGen/M68k/TLS/tlsie.ll
    M llvm/test/CodeGen/M68k/TLS/tlsle.ll
    M llvm/test/CodeGen/M68k/gcc_except_table.ll

  Log Message:
  -----------
  [M68k] Correctly emit non-pic relocations (#89863)

The m68k backend will always emit external calls (including libcalls)
with
PC-relative PLT relocations, even when in non-pic mode or -fno-plt is
used.

This is unexpected, as other function calls are emitted with absolute
addressing, and a static code modes suggests that there is no PLT. It
also
leads to a miscompilation where the call instruction emitted expects an
immediate address, while the relocation emitted for that instruction is
PC-relative.

This miscompilation can even be seen in the default C function in
godbolt:
https://godbolt.org/z/zEoazovzo

Fix the issue by classifying external function references based upon the
pic
mode. This triggers a change in the static code model, making it more in
line
with the expected behaviour and allowing use of this backend in more
bare-metal
situations where a PLT does not exist.

The change avoids the issue where we emit a PLT32 relocation for an
absolute
call, and makes libcalls and other external calls use absolute
addressing modes
when a static code model is desired.

Further work should be done in instruction lowering and validation to
ensure
that miscompilations of the same type don't occur.


  Commit: a06c1fefd1272b43fe995540768a9f0ed00ab645
      https://github.com/llvm/llvm-project/commit/a06c1fefd1272b43fe995540768a9f0ed00ab645
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.minus_equals.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.plus_equals.pass.cpp

  Log Message:
  -----------
  Revert "[NFC] Enable atomic tests on AIX"

This reverts commit 02660e274242b2dd61543a06d7ab4dc0efd2517d.

The tests do not pass on AIX, the buildkite precommit CI fails on these
tests. For example, https://buildkite.com/llvm-project/libcxx-ci/builds/35184


  Commit: 6c4dedde08686edea9a1d5173313f44ef23ee38e
      https://github.com/llvm/llvm-project/commit/6c4dedde08686edea9a1d5173313f44ef23ee38e
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M libcxx/modules/std.compat/cctype.inc
    M libcxx/modules/std.compat/cfenv.inc
    M libcxx/modules/std.compat/cinttypes.inc
    M libcxx/modules/std.compat/clocale.inc
    M libcxx/modules/std.compat/cmath.inc
    M libcxx/modules/std.compat/csetjmp.inc
    M libcxx/modules/std.compat/csignal.inc
    M libcxx/modules/std.compat/cstdarg.inc
    M libcxx/modules/std.compat/cstddef.inc
    M libcxx/modules/std.compat/cstdint.inc
    M libcxx/modules/std.compat/cstdio.inc
    M libcxx/modules/std.compat/cstdlib.inc
    M libcxx/modules/std.compat/cstring.inc
    M libcxx/modules/std.compat/ctime.inc
    M libcxx/modules/std.compat/cwchar.inc
    M libcxx/modules/std.compat/cwctype.inc
    M libcxx/modules/std/atomic.inc
    M libcxx/modules/std/cctype.inc
    M libcxx/modules/std/cfenv.inc
    M libcxx/modules/std/cinttypes.inc
    M libcxx/modules/std/clocale.inc
    M libcxx/modules/std/cmath.inc
    M libcxx/modules/std/csetjmp.inc
    M libcxx/modules/std/csignal.inc
    M libcxx/modules/std/cstdarg.inc
    M libcxx/modules/std/cstddef.inc
    M libcxx/modules/std/cstdint.inc
    M libcxx/modules/std/cstdio.inc
    M libcxx/modules/std/cstdlib.inc
    M libcxx/modules/std/cstring.inc
    M libcxx/modules/std/ctime.inc
    M libcxx/modules/std/cwchar.inc
    M libcxx/modules/std/cwctype.inc

  Log Message:
  -----------
  [libc++][modules] Uses _LIBCPP_USING_IF_EXISTS. (#90409)

This attribute is used in the headers. Not using this in the modules has
led to several issues. Add them to the modules to avoid these errors in
other placed.


  Commit: 2755c69098c9d0cf33bbbd3ff90f63ab819acfe1
      https://github.com/llvm/llvm-project/commit/2755c69098c9d0cf33bbbd3ff90f63ab819acfe1
  Author: Prashant Kumar <pk5561 at gmail.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/test/Dialect/Linalg/vectorization.mlir

  Log Message:
  -----------
  [mlir][linalg] Vectorize unpack op without masking (#89067)

Enables vectorization of unpack op in the case of unknown vector size.
The vector sizes are determined by the result's shape.


  Commit: 8d946c71712daeabf6636ff3844fa49e4638324b
      https://github.com/llvm/llvm-project/commit/8d946c71712daeabf6636ff3844fa49e4638324b
  Author: Julian Schmidt <git.julian.schmidt at gmail.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M clang-tools-extra/clangd/refactor/tweaks/ScopifyEnum.cpp

  Log Message:
  -----------
  [clangd] use existing functions for code locations in the scopify enum tweak (#88737)

Clangd already implements some utility functions for converting between
`SourceLocation`s, `Position`s and `Offset`s into a buffer.


  Commit: 528f5ba7af2729bb7e23f0846b75e4f25af2bf8d
      https://github.com/llvm/llvm-project/commit/528f5ba7af2729bb7e23f0846b75e4f25af2bf8d
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M lldb/include/lldb/Core/Debugger.h
    M lldb/include/lldb/Core/DebuggerEvents.h
    M lldb/include/lldb/Expression/DiagnosticManager.h
    M lldb/include/lldb/Host/Host.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Core/DebuggerEvents.cpp
    M lldb/source/Expression/DiagnosticManager.cpp
    M lldb/source/Expression/FunctionCaller.cpp
    M lldb/source/Expression/LLVMUserExpression.cpp
    M lldb/source/Host/common/Host.cpp
    M lldb/source/Host/macosx/objcxx/Host.mm
    M lldb/source/Plugins/ExpressionParser/Clang/ClangDiagnostic.h
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangFunctionCaller.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangUtilityFunction.cpp
    M lldb/source/Target/Process.cpp
    M lldb/unittests/Expression/DiagnosticManagerTest.cpp

  Log Message:
  -----------
  [lldb] Create a single Severity enum in lldb-enumerations (#90917)

We have 3 different enums all expressing severity (info, warning,
error). Remove all uses with a new Severity enum in lldb-enumerations.h.


  Commit: 55ad294893093b3918b3467ac44404cbd643b6ba
      https://github.com/llvm/llvm-project/commit/55ad294893093b3918b3467ac44404cbd643b6ba
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M lld/test/COFF/Inputs/combined-resources.rc
    M lld/test/COFF/pdb-type-server-invalid-signature.yaml
    M lld/test/COFF/pdb_char8_t.ll
    M lld/test/ELF/dynamic-list-cpp.s

  Log Message:
  -----------
  [lld,test] Convert text files from CRLF to LF


  Commit: 7a6847e00142e72f09d7dbaa512425871ba7134f
      https://github.com/llvm/llvm-project/commit/7a6847e00142e72f09d7dbaa512425871ba7134f
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/lib/Support/RISCVISAUtils.cpp
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Add partial validation of Z extension name to RISCVISAInfo::parseNormalizedArchString (#90895)

If 'z' is given as the complete extension name or with a digit after it,
it will crash in the extension map compare function. Check for these
cases and give an error.


  Commit: 0faf494200860c307ba473114df6e50f7da1b52a
      https://github.com/llvm/llvm-project/commit/0faf494200860c307ba473114df6e50f7da1b52a
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M clang/test/Driver/riscv-arch.c
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Make parseArchString only accept [a-z0-9_]. (#90879)

Similar change was recently made to parseNormalizedArchString.


  Commit: c7ad12d0d7606b0b9fb531b0b273bdc5f1490ddb
      https://github.com/llvm/llvm-project/commit/c7ad12d0d7606b0b9fb531b0b273bdc5f1490ddb
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIModeRegisterDefaults.cpp
    M llvm/lib/Target/AMDGPU/SIModeRegisterDefaults.h

  Log Message:
  -----------
  AMDGPU: Try to fix build error with old gcc


  Commit: ac46eeaea8bc987e8a858a29d3b3e9e6539a81a8
      https://github.com/llvm/llvm-project/commit/ac46eeaea8bc987e8a858a29d3b3e9e6539a81a8
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M clang-tools-extra/clangd/test/delimited-input-comment-at-the-end.test
    M clang-tools-extra/clangd/test/hover.test
    M clang-tools-extra/clangd/test/spaces-in-delimited-input.test
    M clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/duplicate-include/duplicate-include.h
    M clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/duplicate-include/duplicate-include2.h
    M clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/duplicate-include/system/sys/types.h
    M clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-if-constexpr.cpp
    M clang-tools-extra/test/modularize/Inputs/CompileError/module.modulemap
    M clang-tools-extra/test/modularize/Inputs/MissingHeader/module.modulemap
    M clang-tools-extra/test/pp-trace/Inputs/module.modulemap

  Log Message:
  -----------
  [clang-tools-extra,test] Convert text files from CRLF to LF

Skip files with intentional CRLF line endings:
test/clang-apply-replacements/crlf.cpp
test/clang-apply-replacements/Inputs/crlf/crlf.cpp.expected
clangd/test/input-mirror.test
clangd/test/protocol.test
clangd/test/too-large.test


  Commit: 49c5f4d56a89278fcc426cabbeeec33e0915980e
      https://github.com/llvm/llvm-project/commit/49c5f4d56a89278fcc426cabbeeec33e0915980e
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
    A llvm/test/CodeGen/SystemZ/fold-copy-vector-immediate.mir

  Log Message:
  -----------
  SystemZ: Fold copy of vector immediate to gr128 (#90706)

If materializing a constant in a vector register that is just
going to be copied to general registers, directly materialize
the immediate in the gpr. This will avoid a few lit test regressions
in a future commit.


  Commit: f9d91fbe86519f3083a9ae37b1e2038f6b8992a6
      https://github.com/llvm/llvm-project/commit/f9d91fbe86519f3083a9ae37b1e2038f6b8992a6
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

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

  Log Message:
  -----------
  [lldb] Always emit diagnostic events to the system log (#90913)

Always emit diagnostic events to the system log so that they end up in
the sysdiagnose on Darwin.


  Commit: 54d6f6626d9377115f3db3ab3fd5994b0de5a268
      https://github.com/llvm/llvm-project/commit/54d6f6626d9377115f3db3ab3fd5994b0de5a268
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

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

  Log Message:
  -----------
  [AArch64] Add test for #90936. NFC


  Commit: d53425e2a33a0ff7336c86d3f668b1855c47a6de
      https://github.com/llvm/llvm-project/commit/d53425e2a33a0ff7336c86d3f668b1855c47a6de
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/test/DebugInfo/AArch64/instr-ref-const-physreg.ll
    M llvm/test/DebugInfo/ARM/instr-ref-tcreturn.ll
    M llvm/test/DebugInfo/COFF/AArch64/lit.local.cfg
    M llvm/test/DebugInfo/COFF/jump-table-with-indirect-ptr-null.ll
    M llvm/test/DebugInfo/COFF/jump-table.ll
    M llvm/test/DebugInfo/COFF/pieces.ll
    M llvm/test/DebugInfo/Generic/debug_value_list.ll
    M llvm/test/DebugInfo/MIR/InstrRef/accept-nonlive-reg-phis.mir
    M llvm/test/DebugInfo/MIR/InstrRef/dbg-phi-subregister-location.mir
    M llvm/test/DebugInfo/MIR/InstrRef/dbg-phis-in-ldv.mir
    M llvm/test/DebugInfo/MIR/InstrRef/dbg-phis-in-ldv2.mir
    M llvm/test/DebugInfo/MIR/InstrRef/dbg-phis-merging-in-ldv.mir
    M llvm/test/DebugInfo/MIR/InstrRef/dbg-phis-with-loops.mir
    M llvm/test/DebugInfo/MIR/InstrRef/follow-spill-of-live-value.mir
    M llvm/test/DebugInfo/MIR/InstrRef/livedebugvalues_illegal_locs.mir
    M llvm/test/DebugInfo/MIR/InstrRef/livedebugvalues_instrref_tolocs.mir
    M llvm/test/DebugInfo/MIR/InstrRef/livedebugvalues_stackslot_subregs.mir
    M llvm/test/DebugInfo/MIR/InstrRef/livedebugvalues_subreg_substitutions.mir
    M llvm/test/DebugInfo/MIR/InstrRef/memory-operand-folding-tieddef.mir
    M llvm/test/DebugInfo/MIR/InstrRef/memory-operand-load-folding.mir
    M llvm/test/DebugInfo/MIR/InstrRef/memory-operand-tracking.mir
    M llvm/test/DebugInfo/MIR/InstrRef/out-of-scope-blocks.mir
    M llvm/test/DebugInfo/MIR/InstrRef/phi-coalesce-subreg.mir
    M llvm/test/DebugInfo/MIR/InstrRef/phi-on-stack-coalesced.mir
    M llvm/test/DebugInfo/MIR/InstrRef/phi-on-stack-coalesced2.mir
    M llvm/test/DebugInfo/MIR/InstrRef/phi-regallocd-to-stack.mir
    M llvm/test/DebugInfo/MIR/InstrRef/phi-through-regalloc.mir
    M llvm/test/DebugInfo/MIR/InstrRef/spill-slot-limits.mir
    M llvm/test/DebugInfo/MIR/InstrRef/substitusions-roundtrip.mir
    M llvm/test/DebugInfo/MIR/InstrRef/twoaddr-to-threeaddr-sub.mir
    M llvm/test/DebugInfo/MIR/InstrRef/win32-chkctk-modifies-esp.mir
    M llvm/test/DebugInfo/MIR/InstrRef/x86-drop-compare-inst.mir
    M llvm/test/DebugInfo/MIR/X86/dvl-livedebugvalues-clobber.mir
    M llvm/test/DebugInfo/MIR/X86/dvl-livedebugvalues-join.mir
    M llvm/test/DebugInfo/MIR/X86/dvl-livedebugvalues-movements.mir
    M llvm/test/DebugInfo/MIR/X86/dvl-livedebugvalues-spillrestore.mir
    M llvm/test/DebugInfo/MIR/X86/dvl-livedebugvars-movements.mir
    M llvm/test/DebugInfo/MIR/X86/dvl-livedebugvars-stackptr.mir
    M llvm/test/DebugInfo/MIR/X86/instr-ref-join-def-vphi.mir
    M llvm/test/DebugInfo/PDB/Inputs/longname-truncation.yaml
    M llvm/test/DebugInfo/PDB/Inputs/merge-types-1.yaml
    M llvm/test/DebugInfo/PDB/Inputs/merge-types-2.yaml
    M llvm/test/DebugInfo/PDB/Inputs/one-symbol.yaml
    M llvm/test/DebugInfo/PDB/pdb-longname-truncation.test
    M llvm/test/DebugInfo/PDB/pdbdump-raw-bytes.test
    M llvm/test/DebugInfo/X86/dbg-val-list-dangling.ll
    M llvm/test/DebugInfo/X86/dbg-value-arg-movement.ll
    M llvm/test/DebugInfo/X86/dbg-value-funcarg.ll
    M llvm/test/DebugInfo/X86/dbg-value-funcarg2.ll
    M llvm/test/DebugInfo/X86/dbg-value-funcarg4.ll
    M llvm/test/DebugInfo/X86/dbg-value-list-dag-combine.ll
    M llvm/test/DebugInfo/X86/dbg_value_list_clobbers.mir
    M llvm/test/DebugInfo/X86/dbg_value_list_emission.mir
    M llvm/test/DebugInfo/X86/instr-ref-dbg-declare.ll
    M llvm/test/DebugInfo/X86/instr-ref-dyn-alloca-win32.ll
    M llvm/test/DebugInfo/X86/instr-ref-ir-reg-read.ll
    M llvm/test/DebugInfo/X86/live-debug-values-expr-conflict.ll
    M llvm/test/DebugInfo/X86/pieces-4.ll
    M llvm/test/DebugInfo/X86/pr34545.ll
    M llvm/test/DebugInfo/X86/pr40427.ll
    M llvm/test/DebugInfo/X86/sdag-combine.ll
    M llvm/test/DebugInfo/X86/sdag-dangling-dbgvalue.ll
    M llvm/test/DebugInfo/X86/sdag-dbgvalue-phi-use-1.ll
    M llvm/test/DebugInfo/X86/sdag-dbgvalue-phi-use-2.ll
    M llvm/test/DebugInfo/X86/sdag-dbgvalue-phi-use-3.ll
    M llvm/test/DebugInfo/X86/sdag-dbgvalue-phi-use-4.ll
    M llvm/test/DebugInfo/X86/sdag-dbgvalue-ssareg.ll
    M llvm/test/DebugInfo/X86/sdag-ir-salvage.ll
    M llvm/test/DebugInfo/X86/sdag-salvage-add.ll
    M llvm/test/DebugInfo/X86/sdag-transfer-dbgvalue.ll
    M llvm/test/DebugInfo/X86/sdagsplit-1.ll
    M llvm/test/DebugInfo/X86/spill-nospill.ll
    M llvm/test/DebugInfo/precomp.test
    M llvm/test/DebugInfo/salvage-nonconst-binop.ll

  Log Message:
  -----------
  [DebugInfo,test] Convert text files from CRLF to LF


  Commit: a657440bc695a98c54cd95bb7cc4cec5ab811d17
      https://github.com/llvm/llvm-project/commit/a657440bc695a98c54cd95bb7cc4cec5ab811d17
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/test/tools/dxil-dis/shuffle.ll
    M llvm/test/tools/llvm-dwarfdump/X86/parent_recurse_depth.s
    M llvm/test/tools/llvm-dwarfdump/X86/quiet.s
    M llvm/test/tools/llvm-objcopy/ELF/dynrelocsec-remove-shinfo-reference.test
    M llvm/test/tools/llvm-objcopy/ELF/dynrelocsec-remove-shlink-reference.test
    M llvm/test/tools/llvm-objdump/ELF/ARM/literal-arm.s
    M llvm/test/tools/llvm-objdump/ELF/ARM/literal-thumb.s
    M llvm/test/tools/llvm-objdump/ELF/ARM/literal-thumb2.s
    M llvm/test/tools/llvm-objdump/ELF/ARM/literal-vldr-arm.s
    M llvm/test/tools/llvm-objdump/ELF/ARM/literal-vldr-thumb2.s
    M llvm/test/tools/llvm-objdump/X86/print-imm-hex.s
    M llvm/test/tools/llvm-pdbutil/Inputs/TypeServerTest.cpp
    M llvm/test/tools/llvm-pdbutil/complex-padding-graphical.test
    M llvm/test/tools/llvm-profgen/Inputs/coff-profile.perfscript
    M llvm/test/tools/llvm-symbolizer/Inputs/discrim.inp
    M llvm/test/tools/obj2yaml/ELF/relr-section.yaml

  Log Message:
  -----------
  [tools,test] Convert text files from CRLF to LF


  Commit: 3563af6c06ebc92bcaacef0e33285148ef0f75bd
      https://github.com/llvm/llvm-project/commit/3563af6c06ebc92bcaacef0e33285148ef0f75bd
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AArch64/pr90936.ll

  Log Message:
  -----------
  [DAGCombiner] In mergeTruncStore, make sure we aren't storing shifted in bits. (#90939)

When looking through a right shift, we need to make sure that all of
the bits we are using from the shift come from the shift input and
not the sign or zero bits that are shifted in.
    
Fixes #90936.


  Commit: 8a0073ad4658033b6a4f6bae4fbaf924ac813bc6
      https://github.com/llvm/llvm-project/commit/8a0073ad4658033b6a4f6bae4fbaf924ac813bc6
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/X86/arith-fp-codesize.ll
    M llvm/test/Analysis/CostModel/X86/arith-fp-latency.ll
    M llvm/test/Analysis/CostModel/X86/arith-fp-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/arith-fp.ll
    M llvm/test/Transforms/SLPVectorizer/X86/arith-fp-call.ll

  Log Message:
  -----------
  [CostModel][X86] Treat lrint/llrint as fptosi calls (#90883)

X86 can use the CVTP2SI instructions to lower lrint/llrint calls, which have the same costs as the CVTTP2SI (fptosi) instructions

Followup to #90065


  Commit: 804202292b7601feee5c091a3a6df6124f4d61e1
      https://github.com/llvm/llvm-project/commit/804202292b7601feee5c091a3a6df6124f4d61e1
  Author: Pavel Iliin <Pavel.Iliin at arm.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/test/CodeGen/attr-target-clones-aarch64.c

  Log Message:
  -----------
  [FMV][AArch64] Don't optimize backward compatible features in resolver. (#90928)

For arch64 features, such as Branch Target Identification or MTE (Memory
Tagging Extension), compatible with targets that lack their support we
may encounter scenarios where a binary compiled with MTE for example is
executed on both MTE and non-MTE hardware and we still need to detect at
runtime whether the MTE feature is available to choose the appropriate
function version.
So, we cannot optimize the function multi versioning resolver by
removing checks for these features enabled for the target during
compilation.


  Commit: 2265df9696d55846644fa914b5f22df539e2d2bc
      https://github.com/llvm/llvm-project/commit/2265df9696d55846644fa914b5f22df539e2d2bc
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/test/CodeGen/DirectX/strip-fn-attrs.ll

  Log Message:
  -----------
  [test] Fix CodeGen/DirectX/strip-fn-attrs.ll


  Commit: b9ae06ba15936c9802d5668cea260ad36a243a10
      https://github.com/llvm/llvm-project/commit/b9ae06ba15936c9802d5668cea260ad36a243a10
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/test/Analysis/MustExecute/const-cond.ll
    M llvm/test/CodeGen/MIR/X86/dbg-value-list.mir
    M llvm/test/CodeGen/NVPTX/bf16x2-instructions-approx.ll
    M llvm/test/CodeGen/NVPTX/bf16x2-instructions.ll
    M llvm/test/CodeGen/NVPTX/zeroext-32bit.ll
    M llvm/test/CodeGen/SPARC/LeonSMACUMACInstructionUT.ll
    M llvm/test/CodeGen/X86/dbg-value-superreg-copy2.mir
    M llvm/test/CodeGen/X86/non-value-mem-operand.mir
    M llvm/test/CodeGen/X86/patchable-prologue-debuginfo.ll
    M llvm/test/CodeGen/X86/post-ra-sched-with-debug.mir
    M llvm/test/CodeGen/X86/windows-seh-EHa-CppCatchDotDotDot.ll
    M llvm/test/CodeGen/X86/windows-seh-EHa-CppDtors01.ll
    M llvm/test/CodeGen/X86/windows-seh-EHa-TryInFinally.ll
    M llvm/test/Demangle/ms-options.test
    M llvm/test/MC/AMDGPU/v_illegal-atomics.s
    M llvm/test/MC/AsmParser/directive_file-g.s
    M llvm/test/Transforms/InstCombine/debuginfo-sink.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/gep-constanfolding-error.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/timeout.ll
    M llvm/test/Transforms/LoopStrengthReduce/pr51329.ll
    M llvm/test/Transforms/PhaseOrdering/pr32544.ll
    M llvm/test/Transforms/Reassociate/undef_intrinsics_when_deleting_instructions.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/split-typed-decl.ll

  Log Message:
  -----------
  [test] Convert text files from CRLF to LF

Skip *.pdb, *.rc, *crlf*, and FileCheck/dos-style-eol.txt


  Commit: 121bef76df415e4cfc9543630b23f2e648b9a18a
      https://github.com/llvm/llvm-project/commit/121bef76df415e4cfc9543630b23f2e648b9a18a
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-pdbutil.rst
    M llvm/docs/GettingInvolved.rst
    M llvm/docs/GettingStartedTutorials.rst
    M llvm/docs/PDB/CodeViewSymbols.rst
    M llvm/docs/Reference.rst
    M llvm/docs/UserGuides.rst
    M llvm/utils/emacs/llvm-mir-mode.el

  Log Message:
  -----------
  [docs,utils] Convert text files from CRLF to LF

Skip *.bat, *.natvis, utils/lit/tests/Inputs/shtest-shell/diff-in.dos


  Commit: a56f0b51dd988ad2b533de759c98457c1ed42456
      https://github.com/llvm/llvm-project/commit/a56f0b51dd988ad2b533de759c98457c1ed42456
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.set.rounding.ll

  Log Message:
  -----------
  AMDGPU: Use umin in set.rounding expansion

Addresses comment from #88587


  Commit: f34a5205aa481a6d9a15054bcc5f7b9875906a17
      https://github.com/llvm/llvm-project/commit/f34a5205aa481a6d9a15054bcc5f7b9875906a17
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M clang/test/AST/HLSL/this-reference-template.hlsl
    M clang/test/AST/HLSL/this-reference.hlsl
    M clang/test/AST/objc-default-ctor-init.mm
    M clang/test/CXX/dcl.decl/dcl.init/dcl.init.ref/p5-examples.cpp
    M clang/test/CXX/expr/expr.prim/expr.prim.lambda/p15-star-this-capture.cpp
    M clang/test/CXX/lex/lex.literal/lex.string/p4.cpp
    M clang/test/CodeGen/fpconstrained.c
    M clang/test/CodeGen/fpconstrained.cpp
    M clang/test/CodeGenCXX/attr-x86-no_caller_saved_registers.cpp
    M clang/test/CodeGenCXX/debug-info-atexit-stub.cpp
    M clang/test/CodeGenHLSL/builtins/clamp.hlsl
    M clang/test/CodeGenHLSL/builtins/cos.hlsl
    M clang/test/CodeGenHLSL/builtins/floor.hlsl
    M clang/test/CodeGenHLSL/builtins/lerp-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/lerp.hlsl
    M clang/test/CodeGenHLSL/builtins/log.hlsl
    M clang/test/CodeGenHLSL/builtins/log2.hlsl
    M clang/test/CodeGenHLSL/builtins/mad.hlsl
    M clang/test/CodeGenHLSL/builtins/max.hlsl
    M clang/test/CodeGenHLSL/builtins/pow.hlsl
    M clang/test/CodeGenHLSL/builtins/reversebits.hlsl
    M clang/test/CodeGenHLSL/builtins/sin.hlsl
    M clang/test/CodeGenHLSL/builtins/trunc.hlsl
    M clang/test/CodeGenHLSL/semantics/DispatchThreadID.hlsl
    M clang/test/CodeGenHLSL/sret_output.hlsl
    M clang/test/CodeGenHLSL/this-assignment-overload.hlsl
    M clang/test/CodeGenHLSL/this-assignment.hlsl
    M clang/test/CodeGenHLSL/this-reference.hlsl
    M clang/test/CodeGenObjC/exceptions-personality.m
    M clang/test/Driver/ps4-ps5-relax-relocations.c
    M clang/test/Frontend/rewrite-includes-macros.cpp
    M clang/test/Lexer/minimize_source_to_dependency_directives_include.c
    M clang/test/Lexer/minimize_source_to_dependency_directives_utf8bom.c
    M clang/test/Options/HV.hlsl
    M clang/test/Options/enable_16bit_types_validation.hlsl
    M clang/test/Options/enable_16bit_types_validation_spirv.hlsl
    M clang/test/Parser/objc-attr.m
    M clang/test/Preprocessor/macro_vaopt_check.cpp
    M clang/test/Preprocessor/macro_vaopt_expand.cpp
    M clang/test/Sema/aarch64-sve-vector-log-ops.c
    M clang/test/Sema/aarch64-sve-vector-trig-ops.c
    M clang/test/Sema/incorrect_pure.cpp
    M clang/test/Sema/riscv-rvv-vector-log-ops.c
    M clang/test/Sema/riscv-rvv-vector-trig-ops.c
    M clang/test/SemaCXX/attr-non-x86-no_caller_saved_registers.cpp
    M clang/test/SemaCXX/attr-x86-no_caller_saved_registers.cpp
    M clang/test/SemaCXX/compound-literal.cpp
    M clang/test/SemaCXX/cxx23-static-callop-lambda-expression.cpp
    M clang/test/SemaCXX/vla-ext-diag.cpp
    M clang/test/SemaCXX/warn-redundant-move.cpp
    M clang/test/SemaCXX/warn-shadow.cpp
    M clang/test/SemaHLSL/BuiltIns/clamp-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/dot-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/mad-errors.hlsl
    M clang/test/SemaObjCXX/block-cleanup.mm
    M clang/test/SemaTemplate/default-expr-arguments-3.cpp

  Log Message:
  -----------
  [clang,test] Convert text files from CRLF to LF

Skip files with intentional CRLF line endings.


  Commit: dce13b42177565793a2031eb6f395f9508c701e0
      https://github.com/llvm/llvm-project/commit/dce13b42177565793a2031eb6f395f9508c701e0
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M mlir/test/Conversion/GPUCommon/transfer_write.mlir
    M mlir/test/Dialect/Shape/arg_with_shape.mlir
    M mlir/test/Target/LLVMIR/Import/metadata-linker-options.ll
    M mlir/test/mlir-vulkan-runner/addf_if.mlir

  Log Message:
  -----------
  [mlir,test] Convert text files from CRLF to LF


  Commit: fc398a112d264a1b4d52e1be4ec1f75d83c3baf0
      https://github.com/llvm/llvm-project/commit/fc398a112d264a1b4d52e1be4ec1f75d83c3baf0
  Author: Aart Bik <ajcbik at google.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    A mlir/test/Dialect/SparseTensor/binary_valued.mlir

  Log Message:
  -----------
  [mlir][sparse] test optimization of binary-valued operations (#90986)

Make sure consumer-producer fusion happens (to avoid the temporary dense
tensor) and constant folding occurs in the generated code.


  Commit: 76508dce4380e0cea2ecb396200a161f7dbefd0b
      https://github.com/llvm/llvm-project/commit/76508dce4380e0cea2ecb396200a161f7dbefd0b
  Author: Abhinav Garg <39309352+abhigargrepo at users.noreply.github.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIModeRegister.cpp
    M llvm/test/CodeGen/AMDGPU/mode-register-fpconstrain.ll

  Log Message:
  -----------
  [AMDGPU] Fix mode register pass for constrained FP operations (#90085)

This PR will fix the si-mode-register pass which is inserting an extra
setreg instruction in case of constrained FP operations. This pass will
be ignored for strictfp functions.


  Commit: 401ecb4ccc2a319e55155b6a8558aa3478e5405e
      https://github.com/llvm/llvm-project/commit/401ecb4ccc2a319e55155b6a8558aa3478e5405e
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/reduction-with-invariant-store.ll

  Log Message:
  -----------
  [LV] Add test showing miscompile with store reductions and RT checks.

Add anew test showing how a loop gets vectorized incorrectly with a
invariant store reduction where the same location is also read, when
vectorizing with runtime checks.


  Commit: e2b3e4ea9f2d0cb34d197439cfbc5090cdacb124
      https://github.com/llvm/llvm-project/commit/e2b3e4ea9f2d0cb34d197439cfbc5090cdacb124
  Author: Alex Langford <alangford at apple.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFBaseDIE.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFBaseDIE.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDefines.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDefines.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp

  Log Message:
  -----------
  [lldb][NFCI] Unify DW_TAG -> string conversions (#90657)

The high level goal is to have 1 way of converting a DW_TAG value into a
human-readable string.

There are 3 ways this change accomplishes that:
1.) Changing DW_TAG_value_to_name to not create custom error strings.
  The way it was doing this is error-prone: Specifically, it was using a
  function-local static char buffer and handing out a pointer to it.
  Initialization of this is thread-safe, but mutating it is definitely
  not. Multiple threads that want to call this function could step on
  each others toes. The implementation in this patch sidesteps the issue
  by just returning a StringRef with no mention of the tag value in it.
2.) Changing all uses of DW_TAG_value_to_name to log the value of the
  tag since the function doesn't create a string with the value in it
  anymore.
3.) Removing `DWARFBaseDIE::GetTagAsCString()`. Callers should call
  DW_TAG_value_to_name on the tag directly.


  Commit: a8fbe500fe2ecdbd3c09ed06788092937819411f
      https://github.com/llvm/llvm-project/commit/a8fbe500fe2ecdbd3c09ed06788092937819411f
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M lldb/include/lldb/Utility/Log.h
    M lldb/source/Utility/Log.cpp
    M lldb/unittests/Utility/LogTest.cpp

  Log Message:
  -----------
  [lldb] Add TeeLogHandler to log to 2 handlers (#90984)

Add a T-style log handler that multiplexes messages to two log handlers.
The goal is to use this in combination with the SystemLogHandler to log
messages both to the user requested file as well as the system log. The
latter is part of a sysdiagnose on Darwin which is commonly attached to
bug reports.


  Commit: 46c2d936624322e141c6eff319e1ad2d25f1afd7
      https://github.com/llvm/llvm-project/commit/46c2d936624322e141c6eff319e1ad2d25f1afd7
  Author: annamthomas <anna at azul.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/lib/Passes/StandardInstrumentations.cpp
    M llvm/test/Other/dump-before-after-invalidated.ll
    M llvm/test/Other/loop-pass-ordering.ll
    M llvm/test/Other/loop-print-after-pass-invalidated.ll
    M llvm/test/Other/loopnest-pass-ordering.ll
    M llvm/test/Other/print-at-pass-number.ll
    M llvm/test/Transforms/LoopPredication/invalidate-analyses.ll
    M llvm/test/Transforms/LoopRotate/pr35210.ll
    M llvm/test/Transforms/LoopUnroll/revisit.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/nontrivial-unswitch-markloopasdeleted.ll

  Log Message:
  -----------
  [StandardInstrumentation] Annotate loops with the function name (#90756)

When analyzing pass debug output it is helpful to have the function name
along with the loop name.


  Commit: a4d10266d20bfe5930dfed77e17832af341ed66e
      https://github.com/llvm/llvm-project/commit/a4d10266d20bfe5930dfed77e17832af341ed66e
  Author: David Green <david.green at arm.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/PhaseOrdering/AArch64/interleavevectorization.ll
    M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
    M llvm/test/Transforms/VectorCombine/X86/select-shuffle.ll

  Log Message:
  -----------
  [VectorCombine] Add foldShuffleToIdentity (#88693)

This patch adds a basic version of a combine that attempts to remove
shuffles that when combined simplify away to an identity shuffle. For
example:
%ab = shufflevector <8 x half> %a, <8 x half> poison, <4 x i32> <i32 3,
i32 2, i32 1, i32 0>
%at = shufflevector <8 x half> %a, <8 x half> poison, <4 x i32> <i32 7,
i32 6, i32 5, i32 4>
  %abt = fneg <4 x half> %at
  %abb = fneg <4 x half> %ab
%r = shufflevector <4 x half> %abt, <4 x half> %abb, <8 x i32> <i32 7,
i32 6, i32 5, i32 4, i32 3, i32 2, i32 1, i32 0>
By looking through the shuffles and fneg, it can be simplified to:
  %r = fneg <8 x half> %a

The code tracks each lane starting from the original shuffle, keeping a
track of a vector of {src, idx}. As we propagate up through the
instructions we will either look through intermediate instructions
(binops and unops) or see a collections of lanes that all have the same
src and incrementing idx (an identity). We can also see a single value
with identical lanes, which we can treat like a splat.

Only the basic version is added here, handling identities, splats,
binops and unops. In follow-up patches other instructions can be added
such as constants, intrinsics, cmp/sel and zext/sext/trunc.


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

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/test/Fir/cuf-invalid.fir

  Log Message:
  -----------
  [flang][cuda] Add verifier for cuda_alloc/cuda_free (#90983)

Adding a verifier to check the associated cuda attribute.


  Commit: 2f58b9aae2d6f1aeaecd98766ef31cebc0dcbb5b
      https://github.com/llvm/llvm-project/commit/2f58b9aae2d6f1aeaecd98766ef31cebc0dcbb5b
  Author: Anthony Ha <anthonyha96 at gmail.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M lldb/include/lldb/Target/Platform.h
    M lldb/include/lldb/Target/RemoteAwarePlatform.h
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.cpp
    M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
    M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
    M lldb/source/Target/Platform.cpp
    M lldb/source/Target/RemoteAwarePlatform.cpp

  Log Message:
  -----------
  [lldb] Unify CalculateMD5 return types (#90921)

# Overview
In my previous PR: https://github.com/llvm/llvm-project/pull/88812,
@JDevlieghere suggested to match return types of the various calculate
md5 functions.

This PR achieves that by changing the various calculate md5 functions to
return `llvm::ErrorOr<llvm::MD5::MD5Result>`.
 
The suggestion was to go for `std::optional<>` but I opted for
`llvm::ErrorOr<>` because local calculate md5 was already possibly
returning `ErrorOr`.

To make sure I didn't break the md5 calculation functionality, I ran
some tests for the gdb remote client, and things seem to work.

# Testing
1. Remote file doesn't exist

![image](https://github.com/llvm/llvm-project/assets/1326275/b26859e2-18c3-4685-be8f-c6b6a5a4bc77)

1. Remote file differs

![image](https://github.com/llvm/llvm-project/assets/1326275/cbdb3c58-555a-401b-9444-c5ff4c04c491)

1. Remote file matches

![image](https://github.com/llvm/llvm-project/assets/1326275/07561572-22d1-4e0a-988f-bc91b5c2ffce)

## Test gaps
Unfortunately, I had to modify
`lldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.cpp` and I
can't test the changes there. Hopefully, the existing test suite / code
review from whomever is reading this will catch any issues.

Co-authored-by: Anthony Ha <antha at microsoft.com>


  Commit: 70b79a9ccd03f93fc4c8464a91b6bef3aab322d3
      https://github.com/llvm/llvm-project/commit/70b79a9ccd03f93fc4c8464a91b6bef3aab322d3
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/CodeGenOpenCL/builtins-amdgcn.cl

  Log Message:
  -----------
  [AMDGPU] Allow the `__builtin_flt_rounds` functions on AMDGPU (#90994)

Summary:
Previous patches added support for the LLVM rounding intrinsic
functions. This patch allows them to me emitted using the clang builtins
when targeting AMDGPU.


  Commit: f8ff51e1b08643b23f90e1a39c3fb55a23d2dc84
      https://github.com/llvm/llvm-project/commit/f8ff51e1b08643b23f90e1a39c3fb55a23d2dc84
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/test/Transforms/Inline/access-attributes-prop.ll

  Log Message:
  -----------
  [Inliner] Add tests for not propagating `writable` if `readonly` is present; NFC


  Commit: 285dbed147e243f416b003e150d67ffb0922ff16
      https://github.com/llvm/llvm-project/commit/285dbed147e243f416b003e150d67ffb0922ff16
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    M llvm/test/Transforms/Inline/access-attributes-prop.ll
    M llvm/test/Transforms/Inline/noalias-calls-always.ll
    M llvm/test/Transforms/Inline/noalias-calls.ll

  Log Message:
  -----------
  [Inliner] Propagate callee argument memory access attributes before inlining

To avoid losing information, we can propagate some access attribute
from the to-be-inlined callee to its callsites.

We can propagate argument memory access attributes to callsite
parameters if they are from the same underlying object.

Closes #89024


  Commit: d8428dfeb8d9a0bbb5345f96f29a4a66eb950769
      https://github.com/llvm/llvm-project/commit/d8428dfeb8d9a0bbb5345f96f29a4a66eb950769
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

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

  Log Message:
  -----------
  [PatternMatching] Add generic API for matching constants using custom conditions

The new API is:
    `m_CheckedInt(Lambda)`/`m_CheckedFp(Lambda)`
        - Matches non-undef constants s.t `Lambda(ele)` is true for all
          elements.
    `m_CheckedIntAllowUndef(Lambda)`/`m_CheckedFpAllowUndef(Lambda)`
        - Matches constants/undef s.t `Lambda(ele)` is true for all
          elements.

The goal with these is to be able to replace the common usage of:
```
    match(X, m_APInt(C)) && CustomCheck(C)
```
with
```
    match(X, m_CheckedInt(C, CustomChecks);
```

The rationale if we often ignore non-splat vectors because there are
no good APIs to handle them with and its not worth increasing code
complexity for such cases.

The hope is the API creates a common method handling
scalars/splat-vecs/non-splat-vecs to essentially make this a
non-issue.


  Commit: 1708788d2d1091d1663cd859c5913121463a6b73
      https://github.com/llvm/llvm-project/commit/1708788d2d1091d1663cd859c5913121463a6b73
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/icmp-div-constant.ll

  Log Message:
  -----------
  [InstCombine] Add non-splat test for `(icmp (lshr x, y), x)`; NFC


  Commit: f561daf989cfe011dd0edafc4621fac5ed421435
      https://github.com/llvm/llvm-project/commit/f561daf989cfe011dd0edafc4621fac5ed421435
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/icmp-div-constant.ll

  Log Message:
  -----------
  [InstCombine] Add example usage for new Checked matcher API

There is no real motivation for this change other than to highlight a
case where the new `Checked` matcher API can handle non-splat-vecs
without increasing code complexity.

Closes #85676


  Commit: ca8b064973b5bf31168a60b41ee9c071cf321777
      https://github.com/llvm/llvm-project/commit/ca8b064973b5bf31168a60b41ee9c071cf321777
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M lldb/include/lldb/Target/Platform.h
    M lldb/include/lldb/Target/RemoteAwarePlatform.h
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.cpp
    M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
    M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
    M lldb/source/Target/Platform.cpp
    M lldb/source/Target/RemoteAwarePlatform.cpp

  Log Message:
  -----------
  Revert "[lldb] Unify CalculateMD5 return types" (#90998)

Reverts llvm/llvm-project#90921


  Commit: 3cf574da407b9be01cc86f0ad2902c5d2ff8f078
      https://github.com/llvm/llvm-project/commit/3cf574da407b9be01cc86f0ad2902c5d2ff8f078
  Author: whisperity <whisperity at gmail.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/bad-signal-to-kill-thread.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/macro-parentheses.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-memory-comparison.rst
    M clang-tools-extra/docs/clang-tidy/checks/concurrency/thread-canceltype-asynchronous.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/throw-by-value-catch-by-reference.rst

  Log Message:
  -----------
  [clang-tidy][NFC] Document CERT rule coverage and aliases for some primary checks (#90965)


  Commit: 7ec698e6edf5add1f0b49b42fba707bea4b80225
      https://github.com/llvm/llvm-project/commit/7ec698e6edf5add1f0b49b42fba707bea4b80225
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    A llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
    A llvm/test/CodeGen/AMDGPU/llvm.maximum.f32.ll
    A llvm/test/CodeGen/AMDGPU/llvm.maximum.f64.ll
    A llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
    A llvm/test/CodeGen/AMDGPU/llvm.minimum.f32.ll
    A llvm/test/CodeGen/AMDGPU/llvm.minimum.f64.ll

  Log Message:
  -----------
  AMDGPU: Add tests for minimum and maximum intrinsics (#90997)

Baseline tests for new expansion. I think we can do better and avoid the
classes.


  Commit: 9299a136dc34be56ada6d957a438d9d5a7c91df2
      https://github.com/llvm/llvm-project/commit/9299a136dc34be56ada6d957a438d9d5a7c91df2
  Author: Chris B <chris.bieneman at me.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/test/CodeGen/DirectX/strip-fn-attrs.ll

  Log Message:
  -----------
  [DirectX] Remove unneccary check lines (#90979)

These check lines break as of 91446e2aa687e due to changes in how LLVM
handles debug information. Since debug informaiton isn't important to
what this test is verifying we can remove the check lines.


  Commit: 2cde0e2f9779bf755ee9fd97e497bc948296c0c7
      https://github.com/llvm/llvm-project/commit/2cde0e2f9779bf755ee9fd97e497bc948296c0c7
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    R llvm/test/Transforms/LoopUnroll/unroll-remove-redundant-dbg.ll
    M llvm/test/Transforms/SimplifyCFG/hoist-dbgvalue-inlined.ll
    M llvm/test/Transforms/SimplifyCFG/hoist-dbgvalue.ll

  Log Message:
  -----------
  Revert "[BasicBlockUtils] Remove redundant llvm.dbg instructions after blocks to reduce compile time (#89069)"

This reverts commit 2e3e0868748635b779ba89a772eae3664bd822e4. It caused
quadratic slowdown at compilation time in some cases. See the comments
in the original PR: https://github.com/llvm/llvm-project/pull/89069


  Commit: b8d38bb56d59bee39872fee348a07f79c12f51ae
      https://github.com/llvm/llvm-project/commit/b8d38bb56d59bee39872fee348a07f79c12f51ae
  Author: jeffreytan81 <jeffreytan at meta.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
    M lldb/tools/lldb-dap/JSONUtils.cpp

  Log Message:
  -----------
  Fix dap variable value format issue (#90799)

While adding a UI feature in VSCode to toggle hex/dec in variables view
window. I noticed that it does not work after second toggle. Then I
noticed that there is a bug that we only explicitly set hex format not
reset back to default during further toggle. The new test demonstrates
the bug.

This PR resets the format back to default if not using hex. One
complexity is that, we explicitly set registers value format to
AddressInfo, which shouldn't be overridden by default or hex settings.

---------

Co-authored-by: jeffreytan81 <jeffreytan at fb.com>


  Commit: 4e6d30e2c17fa2be3bc5106c2541fddb62b2d4ee
      https://github.com/llvm/llvm-project/commit/4e6d30e2c17fa2be3bc5106c2541fddb62b2d4ee
  Author: Reid Kleckner <rnk at google.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

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

  Log Message:
  -----------
  [clang] Note that optnone and target attributes do not apply to nested functions (#82815)

This behavior is true for all attributes, but this behavior can be
surprising for attributes which have function-wide effects, such as
`optnone` and `target`. Most other function attributes affect the
prototype or semantics, but do not affect code generation in the
function body. I believe it is worth calling this out in the
documentation of these function-wide attributes. There may be more,
these were the two that came to mind.


  Commit: 9620d3ee3ee996b0546d60a104211be49401bbd8
      https://github.com/llvm/llvm-project/commit/9620d3ee3ee996b0546d60a104211be49401bbd8
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/RISCV/shuffled-gather-casted.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with incorrect casting of shuffled gathered values, NFC.


  Commit: 385faf9cdefeed5a2f51072d227842be0e36135c
      https://github.com/llvm/llvm-project/commit/385faf9cdefeed5a2f51072d227842be0e36135c
  Author: Reid Kleckner <rnk at google.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.h
    M llvm/lib/Target/X86/X86ISelLowering.h
    M llvm/lib/Target/X86/X86ISelLoweringCall.cpp

  Log Message:
  -----------
  [ARM/X86] Standardize the isEligibleForTailCallOptimization prototypes (#90688)

Pass in CallLoweringInfo (CLI) instead of passing in the various fields
directly. Also pass in CCState (CCInfo), which is computed in both the
caller and the callee for a minor efficiency saving. There may also be a
small correctness improvement for sibcalls with vectorcall, which has an
odd way of recomputing argument locations.

This is a step towards improving the handling of musttail on armv7,
which we have numerous issues filed about in our tracker.

I took inspiration for this from the RISCV tail call eligibility check,
which uses a similar prototype.


  Commit: 48039b195bf03ea67bd4ed2a1f3df18e2f9d06ef
      https://github.com/llvm/llvm-project/commit/48039b195bf03ea67bd4ed2a1f3df18e2f9d06ef
  Author: Reid Kleckner <rnk at google.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

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

  Log Message:
  -----------
  Revert "[gn] port 2d4acb086541 (LLVM_ENABLE_CURL)"

This reverts commit 0558c7e01db81b3ac307fe59737fefd8bd060873 to match
the revert of 2d4acb086541 in  327bfc971e4dce3f6798843c92406cda95c07ba1


  Commit: 03972261a93853d3e84857b4bed816648d3549f0
      https://github.com/llvm/llvm-project/commit/03972261a93853d3e84857b4bed816648d3549f0
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/shuffled-gather-casted.ll

  Log Message:
  -----------
  [SLP]Fix PR90892: do a correct sign analysis of the entries elements in gather shuffles.

Need to do extra analysis of the scalar elements of the tree entry to be
shuffled instead of the vectorized value to correctly deduce signedness
info.


  Commit: 3191e0b52725aa17651e38d26284386f3ea64eb6
      https://github.com/llvm/llvm-project/commit/3191e0b52725aa17651e38d26284386f3ea64eb6
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M clang/lib/Sema/SemaLookup.cpp
    M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp

  Log Message:
  -----------
  [Clang][Sema] Fix template name lookup for operator= (#90999)

This fixes a bug in #90152 where `operator=` was never looked up in the
current instantiation, resulting in `<` never being interpreted as the
start of a template argument list.

Since function templates are not copy/move assignment operators, the fix
is accomplished by allowing lookup in the current instantiation for
`operator=` when looking up a template name.


  Commit: 5d81b1c50a6eadc5d2ebe8c524dd2daa665402d7
      https://github.com/llvm/llvm-project/commit/5d81b1c50a6eadc5d2ebe8c524dd2daa665402d7
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M clang/lib/Basic/Targets/WebAssembly.cpp
    M clang/test/Preprocessor/wasm-target-features.c

  Log Message:
  -----------
  [WebAssembly] Add all remaining features to bleeding-edge (#90875)

I'm not entirely sure what the criteria for 'bleeding-edge' used to be,
but at this point it seems to be the set of all added features in LLVM.
This adds remaining features to bleeding-edge config.


  Commit: b05a12e9d0b668effa50f566508daa279ec85c93
      https://github.com/llvm/llvm-project/commit/b05a12e9d0b668effa50f566508daa279ec85c93
  Author: Benoit Jacob <jacob.benoit.1 at gmail.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/test/Dialect/MemRef/resolve-dim-ops.mlir

  Log Message:
  -----------
  Let `memref.expand_shape` implement `ReifyRankedShapedTypeOpInterface` (#90975)

This is a new take on #89111. Now that #90040 is merged, this has become
trivial to implement. The added test shows the kind of benefit that we
get from this: now dim-of-expand-shape naturally folds without us
needing to implement an ad-hoc folding rewrite.


  Commit: e5cbe8fd9c12483260e50edb24c00e50a78a3e12
      https://github.com/llvm/llvm-project/commit/e5cbe8fd9c12483260e50edb24c00e50a78a3e12
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
    A llvm/test/Transforms/PGOProfile/memprof_match_hot_cold_new_calls.ll

  Log Message:
  -----------
  [MemProf] Optionally match profiles on to manually hinted hot/cold new (#91027)

While we don't currently rewrite the hints on manually hot/cold hinted
allocations, enable optionally matching profiles onto those allocations
as a first step to being able to do this.

By explicitly checking whether the library function is in the list of
operator new also fixes one limitation of the prior call to isNewLikeFn.
Some operator new calls (those that specify nothrow) are considered
Malloc-like because they may return null. We want to be able to match
and rewrite these. Therefore the new test uses a nothrow variant to test
the fix for this as well.


  Commit: a441645f80bed10927f00e1b0dc35666306ca8d5
      https://github.com/llvm/llvm-project/commit/a441645f80bed10927f00e1b0dc35666306ca8d5
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
    M llvm/test/Instrumentation/ThreadSanitizer/tsan_basic.ll

  Log Message:
  -----------
  [tsan] Don't crash on vscale (#91018)

Co-authored-by: Heejin Ahn <aheejin at gmail.com>


  Commit: 0c7e706c08fe4d13b5b8105dc62515a39b14ff5c
      https://github.com/llvm/llvm-project/commit/0c7e706c08fe4d13b5b8105dc62515a39b14ff5c
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/pr90936.ll

  Log Message:
  -----------
  [AArch64] Pre-commit another test case for #90936. NFC

Another similar problem was added to the ticket after the first fix.


  Commit: cd3a4c31bc9694d160de54c6a4daa53e152cb463
      https://github.com/llvm/llvm-project/commit/cd3a4c31bc9694d160de54c6a4daa53e152cb463
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/test/Transforms/Attributor/ArgumentPromotion/2008-02-01-ReturnAttrs.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/2008-09-08-CGUpdateSelfEdge.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/X86/attributes.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/X86/min-legal-vector-width.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/X86/thiscall.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/aggregate-promote.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/alloca-as.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/attrs.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/byval-2.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/byval.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/chained.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/dbg.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/invalidation.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/naked_functions.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/nonzero-address-spaces.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/pr27568.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/pr32917.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/pr33641_remove_arg_dbgvalue.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/profile.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/reserve-tbaa.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/variadic.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/2009-09-24-byval-ptr.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/PR16052.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/PR43857.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/comdat-ipo.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/dangling-block-address.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/deadarg.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/global.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/multiple_callbacks.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/openmp_parallel_for.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/pthreads.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/remove-call-inst.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/return-constants.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/thread_local_acs.ll
    M llvm/test/Transforms/Attributor/address_space_info.ll
    M llvm/test/Transforms/Attributor/allocator.ll
    M llvm/test/Transforms/Attributor/callbacks.ll
    M llvm/test/Transforms/Attributor/callgraph.ll
    M llvm/test/Transforms/Attributor/convergent.ll
    M llvm/test/Transforms/Attributor/depgraph.ll
    M llvm/test/Transforms/Attributor/dereferenceable-1.ll
    M llvm/test/Transforms/Attributor/heap_to_stack.ll
    M llvm/test/Transforms/Attributor/heap_to_stack_gpu.ll
    M llvm/test/Transforms/Attributor/liveness.ll
    M llvm/test/Transforms/Attributor/memory_locations.ll
    M llvm/test/Transforms/Attributor/memory_locations_gpu.ll
    M llvm/test/Transforms/Attributor/misc_crash.ll
    M llvm/test/Transforms/Attributor/new_attributes.ll
    M llvm/test/Transforms/Attributor/noalias.ll
    M llvm/test/Transforms/Attributor/nocapture-1.ll
    M llvm/test/Transforms/Attributor/nofpclass.ll
    M llvm/test/Transforms/Attributor/nofree.ll
    M llvm/test/Transforms/Attributor/nonnull.ll
    M llvm/test/Transforms/Attributor/norecurse.ll
    M llvm/test/Transforms/Attributor/noreturn_async.ll
    M llvm/test/Transforms/Attributor/noreturn_sync.ll
    M llvm/test/Transforms/Attributor/nosync.ll
    M llvm/test/Transforms/Attributor/noundef.ll
    M llvm/test/Transforms/Attributor/nounwind.ll
    M llvm/test/Transforms/Attributor/openmp_parallel.ll
    M llvm/test/Transforms/Attributor/potential.ll
    M llvm/test/Transforms/Attributor/range.ll
    M llvm/test/Transforms/Attributor/readattrs.ll
    M llvm/test/Transforms/Attributor/reduced/aa_execution_domain_wrong_fn.ll
    M llvm/test/Transforms/Attributor/reduced/missed_cached_entry_for_intra_reachability.ll
    M llvm/test/Transforms/Attributor/reduced/openmp_opt_global_read.ll
    M llvm/test/Transforms/Attributor/reduced/openmp_opt_global_synced.ll
    M llvm/test/Transforms/Attributor/reduced/pred_iterator_crash.ll
    M llvm/test/Transforms/Attributor/returned.ll
    M llvm/test/Transforms/Attributor/undefined_behavior.ll
    M llvm/test/Transforms/Attributor/value-simplify-assume.ll
    M llvm/test/Transforms/Attributor/value-simplify-dbg.ll
    M llvm/test/Transforms/Attributor/value-simplify-dominance.ll
    M llvm/test/Transforms/Attributor/value-simplify-gpu.ll
    M llvm/test/Transforms/Attributor/value-simplify-instances.ll
    M llvm/test/Transforms/Attributor/value-simplify-pointer-info-struct.ll
    M llvm/test/Transforms/Attributor/value-simplify-reachability.ll
    M llvm/test/Transforms/Attributor/value-simplify.ll
    M llvm/test/Transforms/Attributor/willreturn.ll
    M llvm/test/Transforms/OpenMP/always_inline_device.ll
    M llvm/test/Transforms/OpenMP/barrier_removal.ll
    M llvm/test/Transforms/OpenMP/custom_state_machines.ll
    M llvm/test/Transforms/OpenMP/custom_state_machines_pre_lto.ll
    M llvm/test/Transforms/OpenMP/get_hardware_num_threads_in_block_fold.ll
    M llvm/test/Transforms/OpenMP/get_hardware_num_threads_in_block_fold_optnone.ll
    M llvm/test/Transforms/OpenMP/hide_mem_transfer_latency.ll
    M llvm/test/Transforms/OpenMP/icv_tracking.ll
    M llvm/test/Transforms/OpenMP/is_spmd_exec_mode_fold.ll
    M llvm/test/Transforms/OpenMP/keep_rpc_client.ll
    M llvm/test/Transforms/OpenMP/nested_parallelism.ll
    M llvm/test/Transforms/OpenMP/parallel_deletion.ll
    M llvm/test/Transforms/OpenMP/parallel_level_fold.ll
    M llvm/test/Transforms/OpenMP/remove_globalization.ll
    M llvm/test/Transforms/OpenMP/remove_rpc_client.ll
    M llvm/test/Transforms/OpenMP/replace_globalization.ll
    M llvm/test/Transforms/OpenMP/spmdization.ll
    M llvm/test/Transforms/OpenMP/spmdization_assumes.ll
    M llvm/test/Transforms/OpenMP/spmdization_guarding.ll
    M llvm/test/Transforms/OpenMP/spmdization_guarding_two_reaching_kernels.ll
    M llvm/test/Transforms/OpenMP/spmdization_indirect.ll
    M llvm/test/Transforms/OpenMP/spmdization_kernel_env_dep.ll
    M llvm/test/Transforms/OpenMP/spmdization_no_guarding_two_reaching_kernels.ll
    M llvm/test/Transforms/OpenMP/value-simplify-openmp-opt.ll

  Log Message:
  -----------
  [Attributor][NFC] update tests (#91011)


  Commit: 666679a559128fa209e4b74224ee5de3eeff0e9c
      https://github.com/llvm/llvm-project/commit/666679a559128fa209e4b74224ee5de3eeff0e9c
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M flang/lib/Evaluate/fold-real.cpp

  Log Message:
  -----------
  [flang] Fix -Wunused-but-set-variable in lib/Evaluate


  Commit: b958ef19489e508e367ad530d4512b7710591550
      https://github.com/llvm/llvm-project/commit/b958ef19489e508e367ad530d4512b7710591550
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/docs/GettingInvolved.rst

  Log Message:
  -----------
  Update GettingInvolved.rst (#91008)


  Commit: e7939d0df6ba12fcb808ac68863f7bd9dab47110
      https://github.com/llvm/llvm-project/commit/e7939d0df6ba12fcb808ac68863f7bd9dab47110
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-05-04 (Sat, 04 May 2024)

  Changed paths:
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/StandardInstrumentations.cpp
    M llvm/test/CodeGen/MIR/X86/machine-verifier.mir
    A llvm/test/tools/llc/new-pm/verify.mir
    M llvm/tools/llc/NewPMDriver.cpp

  Log Message:
  -----------
  [Instrumentation] Support verifying machine function (#90931)

We need it to test isel related passes. Currently
`verifyMachineFunction` is incomplete (no LiveIntervals support), but is
enough for testing isel pass, will migrate to complete
`MachineVerifierPass` in future.


  Commit: 1022636b0ce3d9799037e59edb7ffb17f57489bb
      https://github.com/llvm/llvm-project/commit/1022636b0ce3d9799037e59edb7ffb17f57489bb
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M libc/include/CMakeLists.txt

  Log Message:
  -----------
  [libc] Fix assert dependency on macro header (#91036)

Summary:
This file was missing a dependency so it wasn't being installed.


  Commit: 9e6c96c1592e9a0d410e6474b08a9b5c0402dcac
      https://github.com/llvm/llvm-project/commit/9e6c96c1592e9a0d410e6474b08a9b5c0402dcac
  Author: Andrew Gozillon <Andrew.Gozillon at amd.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M .ci/generate-buildkite-pipeline-premerge
    M .ci/monolithic-linux.sh
    M .github/CODEOWNERS
    M .github/new-prs-labeler.yml
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Passes/BinaryPasses.h
    M bolt/include/bolt/Profile/DataAggregator.h
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/include/bolt/Utils/NameResolver.h
    M bolt/lib/Passes/SplitFunctions.cpp
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Rewrite/BinaryPassManager.cpp
    M bolt/lib/Rewrite/BoltDiff.cpp
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    A bolt/test/RISCV/fake-label-no-entry.c
    R bolt/test/RISCV/unnamed-sym-no-entry.c
    M bolt/test/X86/cdsplit-symbol-names.s
    M bolt/test/X86/fragment-lite.s
    A bolt/test/X86/linux-smp-locks.s
    M bolt/test/X86/linux-static-keys.s
    M bolt/test/X86/pre-aggregated-perf.test
    A bolt/test/X86/register-fragments-bolt-symbols.s
    M clang-tools-extra/clang-tidy/bugprone/CastingThroughVoidCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
    M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
    M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
    A clang-tools-extra/clang-tidy/modernize/MinMaxUseInitializerListCheck.cpp
    A clang-tools-extra/clang-tidy/modernize/MinMaxUseInitializerListCheck.h
    M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
    M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.h
    M clang-tools-extra/clang-tidy/readability/AvoidReturnWithVoidValueCheck.cpp
    M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
    M clang-tools-extra/clang-tidy/readability/ConstReturnTypeCheck.cpp
    A clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.cpp
    A clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.h
    M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
    M clang-tools-extra/clangd/CodeCompletionStrings.cpp
    M clang-tools-extra/clangd/refactor/tweaks/ScopifyEnum.cpp
    M clang-tools-extra/clangd/test/delimited-input-comment-at-the-end.test
    M clang-tools-extra/clangd/test/hover.test
    M clang-tools-extra/clangd/test/spaces-in-delimited-input.test
    M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
    M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
    M clang-tools-extra/clangd/unittests/tweaks/ScopifyEnumTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/bad-signal-to-kill-thread.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/macro-parentheses.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-memory-comparison.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/env33-c.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/int09-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/concurrency/thread-canceltype-asynchronous.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/throw-by-value-catch-by-reference.rst
    A clang-tools-extra/docs/clang-tidy/checks/modernize/min-max-use-initializer-list.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-nullptr.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/enum-initial-value.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/math-missing-parentheses.rst
    M clang-tools-extra/test/CMakeLists.txt
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/casting-through-void.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/owning-memory.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/min-max-use-initializer-list.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default-copy.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr-c23.c
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr.c
    M clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/duplicate-include/duplicate-include.h
    M clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/duplicate-include/duplicate-include2.h
    M clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/duplicate-include/system/sys/types.h
    M clang-tools-extra/test/clang-tidy/checkers/readability/const-return-type.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-if-constexpr.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/math-missing-parentheses.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/config-files.cpp
    M clang-tools-extra/test/lit.site.cfg.py.in
    M clang-tools-extra/test/modularize/Inputs/CompileError/module.modulemap
    M clang-tools-extra/test/modularize/Inputs/MissingHeader/module.modulemap
    M clang-tools-extra/test/pp-trace/Inputs/module.modulemap
    M clang-tools-extra/test/pp-trace/pp-trace-pragma-general.cpp
    M clang-tools-extra/test/pp-trace/pp-trace-pragma-ms.cpp
    M clang-tools-extra/test/pp-trace/pp-trace-pragma-opencl.cpp
    M clang/CMakeLists.txt
    M clang/cmake/caches/Release.cmake
    M clang/cmake/caches/VectorEngine.cmake
    M clang/docs/LanguageExtensions.rst
    M clang/docs/LibTooling.rst
    M clang/docs/Multilib.rst
    M clang/docs/OpenMPSupport.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/UsersManual.rst
    M clang/docs/analyzer/checkers.rst
    M clang/include/clang-c/Index.h
    M clang/include/clang/APINotes/Types.h
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/ASTNodeTraverser.h
    M clang/include/clang/AST/AbstractBasicReader.h
    M clang/include/clang/AST/AbstractBasicWriter.h
    M clang/include/clang/AST/BuiltinTypes.def
    M clang/include/clang/AST/ComputeDependence.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/AST/DeclContextInternals.h
    M clang/include/clang/AST/DeclFriend.h
    A clang/include/clang/AST/DeclID.h
    M clang/include/clang/AST/DeclObjC.h
    M clang/include/clang/AST/DeclOpenMP.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/AST/ExprCXX.h
    M clang/include/clang/AST/ExprOpenMP.h
    M clang/include/clang/AST/ExternalASTSource.h
    M clang/include/clang/AST/NestedNameSpecifier.h
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticFrontendKinds.td
    M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/FileManager.h
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/LangOptions.h
    M clang/include/clang/Basic/OpenACCClauses.def
    M clang/include/clang/Basic/OpenACCKinds.h
    A clang/include/clang/Basic/PointerAuthOptions.h
    M clang/include/clang/Basic/StmtNodes.td
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Basic/arm_neon.td
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/CIR/CMakeLists.txt
    A clang/include/clang/CIR/Dialect/CMakeLists.txt
    A clang/include/clang/CIR/Dialect/IR/CIRDialect.h
    A clang/include/clang/CIR/Dialect/IR/CIRDialect.td
    A clang/include/clang/CIR/Dialect/IR/CIROps.td
    A clang/include/clang/CIR/Dialect/IR/CMakeLists.txt
    M clang/include/clang/Driver/Distro.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Frontend/ASTUnit.h
    M clang/include/clang/Frontend/FrontendOptions.h
    M clang/include/clang/Frontend/MultiplexConsumer.h
    M clang/include/clang/InstallAPI/FileList.h
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/DeclSpec.h
    M clang/include/clang/Sema/Lookup.h
    M clang/include/clang/Sema/MultiplexExternalSemaSource.h
    M clang/include/clang/Sema/ParsedAttr.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTDeserializationListener.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTRecordReader.h
    M clang/include/clang/Serialization/ASTRecordWriter.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/include/clang/Serialization/ModuleFile.h
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h
    M clang/include/clang/Tooling/CommonOptionsParser.h
    M clang/lib/APINotes/APINotesFormat.h
    M clang/lib/APINotes/APINotesReader.cpp
    M clang/lib/APINotes/APINotesWriter.cpp
    M clang/lib/APINotes/APINotesYAMLCompiler.cpp
    M clang/lib/AST/ASTContext.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/DeclOpenMP.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprClassification.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/ExternalASTSource.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
    M clang/lib/AST/Interp/Context.cpp
    M clang/lib/AST/Interp/Context.h
    M clang/lib/AST/Interp/Descriptor.cpp
    M clang/lib/AST/Interp/Descriptor.h
    M clang/lib/AST/Interp/Disasm.cpp
    M clang/lib/AST/Interp/EvalEmitter.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/InterpFrame.cpp
    M clang/lib/AST/Interp/InterpState.h
    M clang/lib/AST/Interp/Opcodes.td
    M clang/lib/AST/Interp/Program.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/NSAPI.cpp
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypeLoc.cpp
    M clang/lib/Analysis/ExprMutationAnalyzer.cpp
    M clang/lib/Analysis/FlowSensitive/ASTOps.cpp
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/lib/Basic/CMakeLists.txt
    M clang/lib/Basic/FileManager.cpp
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets/ARM.h
    M clang/lib/Basic/Targets/AVR.h
    M clang/lib/Basic/Targets/BPF.h
    M clang/lib/Basic/Targets/DirectX.h
    M clang/lib/Basic/Targets/M68k.h
    M clang/lib/Basic/Targets/Mips.h
    M clang/lib/Basic/Targets/PPC.cpp
    M clang/lib/Basic/Targets/PPC.h
    M clang/lib/Basic/Targets/RISCV.h
    M clang/lib/Basic/Targets/Sparc.h
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/Basic/Targets/WebAssembly.cpp
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/CIR/CMakeLists.txt
    A clang/lib/CIR/Dialect/CMakeLists.txt
    A clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    A clang/lib/CIR/Dialect/IR/CMakeLists.txt
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGCleanup.cpp
    M clang/lib/CodeGen/CGCleanup.h
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGLoopInfo.cpp
    M clang/lib/CodeGen/CGObjCGNU.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/CMakeLists.txt
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/CodeGen/CodeGenTypes.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/Driver/CMakeLists.txt
    M clang/lib/Driver/Distro.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/HIPUtility.cpp
    M clang/lib/Driver/ToolChains/Linux.cpp
    M clang/lib/Driver/ToolChains/Linux.h
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Frontend/MultiplexConsumer.cpp
    M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
    M clang/lib/Headers/CMakeLists.txt
    M clang/lib/Headers/builtins.h
    M clang/lib/Headers/cpuid.h
    M clang/lib/Headers/float.h
    M clang/lib/Headers/inttypes.h
    M clang/lib/Headers/iso646.h
    M clang/lib/Headers/limits.h
    M clang/lib/Headers/stdalign.h
    M clang/lib/Headers/stdarg.h
    M clang/lib/Headers/stdbool.h
    M clang/lib/Headers/stddef.h
    M clang/lib/Headers/stdint.h
    M clang/lib/Headers/stdnoreturn.h
    M clang/lib/Headers/varargs.h
    A clang/lib/Headers/zos_wrappers/builtins.h
    M clang/lib/InstallAPI/FileList.cpp
    M clang/lib/Lex/Pragma.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Sema/DeclSpec.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/JumpDiagnostics.cpp
    M clang/lib/Sema/MultiplexExternalSemaSource.cpp
    M clang/lib/Sema/SemaAPINotes.cpp
    M clang/lib/Sema/SemaAttr.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.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/SemaInit.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaStmtAttr.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTCommon.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/Serialization/GeneratePCH.cpp
    M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/IdenticalExprChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    M clang/test/APINotes/Inputs/Headers/SwiftImportAs.apinotes
    M clang/test/APINotes/Inputs/Headers/SwiftImportAs.h
    M clang/test/APINotes/swift-import-as.cpp
    M clang/test/AST/HLSL/this-reference-template.hlsl
    M clang/test/AST/HLSL/this-reference.hlsl
    M clang/test/AST/Interp/arrays.cpp
    M clang/test/AST/Interp/c.c
    M clang/test/AST/Interp/cxx23.cpp
    M clang/test/AST/Interp/functions.cpp
    M clang/test/AST/Interp/literals.cpp
    A clang/test/AST/Interp/opencl.cl
    M clang/test/AST/Interp/records.cpp
    M clang/test/AST/ast-dump-macro-json.c
    A clang/test/AST/ast-dump-pragma-unroll.cpp
    M clang/test/AST/ast-dump-recovery.cpp
    M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
    M clang/test/AST/ast-dump-templates.cpp
    A clang/test/AST/ast-print-openacc-compute-construct.cpp
    M clang/test/AST/objc-default-ctor-init.mm
    A clang/test/Analysis/Checkers/WebKit/call-args-regression-traverse-decl-crash.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args-wtf-containers.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args.cpp
    M clang/test/Analysis/Checkers/WebKit/mock-types.h
    M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
    M clang/test/Analysis/analyzer-config.c
    M clang/test/Analysis/analyzer-enabled-checkers.c
    M clang/test/Analysis/html_diagnostics/relevant_lines/multifile.c
    M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
    M clang/test/Analysis/std-c-library-functions-arg-weakdeps.c
    M clang/test/Analysis/std-c-library-functions-vs-stream-checker.c
    M clang/test/Analysis/stream-errno-note.c
    M clang/test/Analysis/stream-errno.c
    M clang/test/Analysis/stream-error.c
    M clang/test/Analysis/stream-invalidate.c
    M clang/test/Analysis/stream-non-posix-function.c
    M clang/test/Analysis/stream-noopen.c
    M clang/test/Analysis/stream-note.c
    M clang/test/Analysis/stream-pedantic.c
    M clang/test/Analysis/stream-stdlibraryfunctionargs.c
    M clang/test/Analysis/stream.c
    M clang/test/Analysis/stream.cpp
    M clang/test/Analysis/taint-diagnostic-visitor.c
    M clang/test/Analysis/taint-generic.c
    A clang/test/CXX/class/class.mem/class.mem.general/p8.cpp
    M clang/test/CXX/dcl.decl/dcl.init/dcl.init.ref/p5-examples.cpp
    A clang/test/CXX/drs/cwg2149.cpp
    M clang/test/CXX/drs/cwg650.cpp
    M clang/test/CXX/drs/dr20xx.cpp
    M clang/test/CXX/drs/dr21xx.cpp
    M clang/test/CXX/drs/dr24xx.cpp
    M clang/test/CXX/drs/dr25xx.cpp
    M clang/test/CXX/drs/dr28xx.cpp
    M clang/test/CXX/drs/dr2xx.cpp
    M clang/test/CXX/drs/dr3xx.cpp
    M clang/test/CXX/drs/dr7xx.cpp
    A clang/test/CXX/except/except.spec/p13-friend.cpp
    M clang/test/CXX/expr/expr.const/p5-26.cpp
    M clang/test/CXX/expr/expr.prim/expr.prim.lambda/p15-star-this-capture.cpp
    M clang/test/CXX/expr/expr.unary/expr.unary.op/p4.cpp
    M clang/test/CXX/lex/lex.literal/lex.string/p4.cpp
    A clang/test/CXX/stmt.stmt/stmt.return/p6.cpp
    M clang/test/CXX/temp/temp.arg/temp.arg.template/p3-2a.cpp
    A clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
    M clang/test/CXX/temp/temp.res/temp.local/p3.cpp
    M clang/test/ClangScanDeps/modules-extern-unrelated.m
    A clang/test/CodeGen/LoongArch/tls-dialect.c
    M clang/test/CodeGen/X86/ms-x86-intrinsics.c
    A clang/test/CodeGen/X86/x86-atomic-float.c
    M clang/test/CodeGen/X86/x86-atomic-long_double.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sb.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sh.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sw.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1ub.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1uh.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1uw.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1b.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1h.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1w.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_fp_reduce.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1_single.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ldnt1.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_loads.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_st1.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_st1_single.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_stnt1.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_store.c
    M clang/test/CodeGen/aix-builtin-cpu-is.c
    A clang/test/CodeGen/aix-builtin-cpu-supports.c
    M clang/test/CodeGen/arm-bf16-convert-intrinsics.c
    M clang/test/CodeGen/arm64-microsoft-arguments.cpp
    M clang/test/CodeGen/attr-counted-by.c
    M clang/test/CodeGen/attr-mustprogress.c
    M clang/test/CodeGen/attr-target-clones-aarch64.c
    A clang/test/CodeGen/builtins-bitint.c
    M clang/test/CodeGen/builtins-reduction-math.c
    M clang/test/CodeGen/builtins.c
    M clang/test/CodeGen/fpconstrained.c
    M clang/test/CodeGen/fpconstrained.cpp
    M clang/test/CodeGen/ms-mixed-ptr-sizes.c
    A clang/test/CodeGen/multi-aix-builtin-cpu-supports.c
    M clang/test/CodeGen/regparm-flag.c
    M clang/test/CodeGenCUDA/kernel-stub-name.cu
    M clang/test/CodeGenCXX/attr-mustprogress.cpp
    M clang/test/CodeGenCXX/attr-x86-no_caller_saved_registers.cpp
    M clang/test/CodeGenCXX/blocks.cpp
    A clang/test/CodeGenCXX/control-flow-in-stmt-expr.cpp
    M clang/test/CodeGenCXX/debug-info-atexit-stub.cpp
    A clang/test/CodeGenCXX/dependent-template-alias.cpp
    M clang/test/CodeGenCXX/mangle-concept.cpp
    M clang/test/CodeGenCXX/mangle-ms-vector-types.cpp
    M clang/test/CodeGenCXX/mangle.cpp
    M clang/test/CodeGenCXX/pragma-gcc-unroll.cpp
    M clang/test/CodeGenCXX/pragma-unroll.cpp
    M clang/test/CodeGenCXX/tmp-md-nodes2.cpp
    A clang/test/CodeGenCoroutines/coro-elide-thinlto.cpp
    A clang/test/CodeGenCoroutines/coro-suspend-cleanups.cpp
    M clang/test/CodeGenHLSL/builtins/clamp.hlsl
    M clang/test/CodeGenHLSL/builtins/cos.hlsl
    M clang/test/CodeGenHLSL/builtins/floor.hlsl
    M clang/test/CodeGenHLSL/builtins/lerp-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/lerp.hlsl
    M clang/test/CodeGenHLSL/builtins/log.hlsl
    M clang/test/CodeGenHLSL/builtins/log2.hlsl
    M clang/test/CodeGenHLSL/builtins/mad.hlsl
    M clang/test/CodeGenHLSL/builtins/max.hlsl
    M clang/test/CodeGenHLSL/builtins/pow.hlsl
    M clang/test/CodeGenHLSL/builtins/reversebits.hlsl
    M clang/test/CodeGenHLSL/builtins/sin.hlsl
    M clang/test/CodeGenHLSL/builtins/trunc.hlsl
    M clang/test/CodeGenHLSL/semantics/DispatchThreadID.hlsl
    M clang/test/CodeGenHLSL/sret_output.hlsl
    M clang/test/CodeGenHLSL/this-assignment-overload.hlsl
    M clang/test/CodeGenHLSL/this-assignment.hlsl
    M clang/test/CodeGenHLSL/this-reference.hlsl
    M clang/test/CodeGenObjC/arc-blocks-exceptions.m
    M clang/test/CodeGenObjC/arc-blocks.m
    M clang/test/CodeGenObjC/exceptions-personality.m
    A clang/test/CodeGenObjCXX/msabi-stret-arm64.mm
    M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
    M clang/test/CodeGenOpenCLCXX/addrspace-with-class.clcpp
    M clang/test/Driver/aarch64-mcpu.c
    M clang/test/Driver/amdgpu-toolchain.c
    M clang/test/Driver/arm-ias-Wa.s
    M clang/test/Driver/arm-triple.c
    M clang/test/Driver/baremetal-multilib-layered.yaml
    M clang/test/Driver/baremetal-multilib.yaml
    M clang/test/Driver/baremetal-sysroot.cpp
    M clang/test/Driver/baremetal.cpp
    R clang/test/Driver/claim-unused.c
    M clang/test/Driver/default-denormal-fp-math.c
    A clang/test/Driver/experimental-late-parse-attributes.c
    M clang/test/Driver/fast-math.c
    M clang/test/Driver/fp-model.c
    A clang/test/Driver/frelaxed-template-template-args.cpp
    A clang/test/Driver/gcc-param.c
    M clang/test/Driver/hlsl-lang-targets-spirv.hlsl
    M clang/test/Driver/integrated-as.c
    M clang/test/Driver/linux-ld.c
    M clang/test/Driver/print-multi-selection-flags.c
    M clang/test/Driver/ps4-ps5-relax-relocations.c
    M clang/test/Driver/riscv-arch.c
    M clang/test/Driver/riscv-profiles.c
    M clang/test/Driver/solaris-ld.c
    M clang/test/Driver/tls-dialect.c
    M clang/test/Driver/wasm-features.c
    A clang/test/Frontend/ast-dump-on-llvm.ll
    M clang/test/Frontend/rewrite-includes-macros.cpp
    M clang/test/Index/annotate-nested-name-specifier.cpp
    M clang/test/Interpreter/fail.cpp
    M clang/test/Lexer/cxx-features.cpp
    M clang/test/Lexer/minimize_source_to_dependency_directives_include.c
    M clang/test/Lexer/minimize_source_to_dependency_directives_utf8bom.c
    M clang/test/Lexer/update_consecutive_macro_address_space.c
    A clang/test/Misc/cc1as-relax-all.s
    M clang/test/Misc/target-invalid-cpu-note.c
    A clang/test/Modules/force-transitive-changes.cppm
    A clang/test/Modules/implicit-module-no-timestamp.cpp
    A clang/test/Modules/odr_hash-enum.c
    M clang/test/Modules/pr67893.cppm
    A clang/test/Modules/pr75057.cppm
    A clang/test/Modules/pr88400.cppm
    A clang/test/Modules/pr90259.cppm
    M clang/test/Modules/search-partitions.cpp
    M clang/test/OpenMP/task_depend_messages.cpp
    M clang/test/Options/HV.hlsl
    M clang/test/Options/enable_16bit_types_validation.hlsl
    M clang/test/Options/enable_16bit_types_validation_spirv.hlsl
    M clang/test/Parser/altivec.c
    M clang/test/Parser/cxx-altivec.cpp
    M clang/test/Parser/cxx1z-decomposition.cpp
    M clang/test/Parser/objc-attr.m
    M clang/test/Parser/pragma-unroll.cpp
    M clang/test/ParserOpenACC/parse-cache-construct.c
    M clang/test/ParserOpenACC/parse-cache-construct.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    A clang/test/ParserOpenACC/parse-sub-array.cpp
    M clang/test/Preprocessor/aarch64-target-features.c
    A clang/test/Preprocessor/hardware_interference.cpp
    M clang/test/Preprocessor/init-aarch64.c
    M clang/test/Preprocessor/init.c
    M clang/test/Preprocessor/macro_vaopt_check.cpp
    M clang/test/Preprocessor/macro_vaopt_expand.cpp
    M clang/test/Preprocessor/predefined-macros-hlsl.hlsl
    M clang/test/Preprocessor/predefined-win-macros.c
    M clang/test/Preprocessor/riscv-target-features.c
    M clang/test/Preprocessor/wasm-target-features.c
    A clang/test/Profile/debug-info-instr_profile_switch.cpp
    M clang/test/Sema/aarch64-sve-vector-log-ops.c
    M clang/test/Sema/aarch64-sve-vector-trig-ops.c
    M clang/test/Sema/aix-builtin-cpu-unsupports.c
    A clang/test/Sema/builtin-cpu-unsupports-AIX-Os.c
    A clang/test/Sema/constant_builtins_vector.cpp
    M clang/test/Sema/convertvector.c
    A clang/test/Sema/incomplete-struct-decl.cpp
    M clang/test/Sema/incorrect_pure.cpp
    M clang/test/Sema/riscv-rvv-vector-log-ops.c
    M clang/test/Sema/riscv-rvv-vector-trig-ops.c
    M clang/test/Sema/zvector.c
    M clang/test/Sema/zvector2.c
    A clang/test/SemaCXX/PR68885.cpp
    M clang/test/SemaCXX/attr-non-x86-no_caller_saved_registers.cpp
    M clang/test/SemaCXX/attr-x86-no_caller_saved_registers.cpp
    M clang/test/SemaCXX/compound-literal.cpp
    M clang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp
    M clang/test/SemaCXX/cxx23-static-callop-lambda-expression.cpp
    M clang/test/SemaCXX/cxx2a-consteval.cpp
    M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
    M clang/test/SemaCXX/destructor.cpp
    A clang/test/SemaCXX/identical-type-primary-partial-specialization.cpp
    M clang/test/SemaCXX/member-expr.cpp
    M clang/test/SemaCXX/type-traits.cpp
    M clang/test/SemaCXX/unused.cpp
    M clang/test/SemaCXX/vla-ext-diag.cpp
    M clang/test/SemaCXX/warn-redundant-move.cpp
    M clang/test/SemaCXX/warn-shadow.cpp
    M clang/test/SemaHLSL/BuiltIns/clamp-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/dot-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/mad-errors.hlsl
    M clang/test/SemaHLSL/OverloadResolutionBugs.hlsl
    A clang/test/SemaHLSL/ScalarOverloadResolution.hlsl
    A clang/test/SemaHLSL/Types/Arithmetic/half_size.hlsl
    A clang/test/SemaHLSL/VectorElementOverloadResolution.hlsl
    M clang/test/SemaObjC/format-strings-oslog.m
    M clang/test/SemaObjCXX/block-cleanup.mm
    A clang/test/SemaOpenACC/compute-construct-copy-clause.c
    A clang/test/SemaOpenACC/compute-construct-copy-clause.cpp
    A clang/test/SemaOpenACC/compute-construct-copyin-clause.c
    A clang/test/SemaOpenACC/compute-construct-copyin-clause.cpp
    A clang/test/SemaOpenACC/compute-construct-copyout-clause.c
    A clang/test/SemaOpenACC/compute-construct-copyout-clause.cpp
    A clang/test/SemaOpenACC/compute-construct-create-clause.c
    A clang/test/SemaOpenACC/compute-construct-create-clause.cpp
    A clang/test/SemaOpenACC/compute-construct-firstprivate-clause.c
    A clang/test/SemaOpenACC/compute-construct-firstprivate-clause.cpp
    A clang/test/SemaOpenACC/compute-construct-no_create-clause.c
    A clang/test/SemaOpenACC/compute-construct-no_create-clause.cpp
    A clang/test/SemaOpenACC/compute-construct-present-clause.c
    A clang/test/SemaOpenACC/compute-construct-present-clause.cpp
    A clang/test/SemaOpenACC/compute-construct-private-clause.c
    A clang/test/SemaOpenACC/compute-construct-private-clause.cpp
    A clang/test/SemaOpenACC/compute-construct-varlist-ast.cpp
    A clang/test/SemaOpenACC/sub-array-ast.cpp
    A clang/test/SemaOpenACC/sub-array.cpp
    M clang/test/SemaOpenCL/vec_step.cl
    A clang/test/SemaTemplate/cwg2398.cpp
    M clang/test/SemaTemplate/default-arguments.cpp
    M clang/test/SemaTemplate/default-expr-arguments-3.cpp
    M clang/test/SemaTemplate/instantiate-function-1.cpp
    M clang/test/SemaTemplate/instantiate-template-template-parm.cpp
    M clang/test/SemaTemplate/nested-template.cpp
    M clang/test/SemaTemplate/temp_arg_template.cpp
    M clang/test/SemaTemplate/temp_arg_template_cxx1z.cpp
    R clang/test/TestRunner.sh
    M clang/test/Unit/lit.cfg.py
    M clang/tools/clang-format/ClangFormat.cpp
    M clang/tools/clang-installapi/Options.cpp
    M clang/tools/clang-repl/ClangRepl.cpp
    M clang/tools/driver/CMakeLists.txt
    M clang/tools/driver/cc1as_main.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CXCursor.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
    M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/SortIncludesTest.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/unittests/Interpreter/IncrementalCompilerBuilderTest.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp
    M clang/utils/creduce-clang-crash.py
    M clang/www/analyzer/alpha_checks.html
    M clang/www/analyzer/open_projects.html
    M clang/www/cxx_dr_status.html
    M clang/www/cxx_status.html
    M clang/www/make_cxx_dr_status
    M compiler-rt/cmake/Modules/AddCompilerRT.cmake
    M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
    M compiler-rt/lib/dfsan/CMakeLists.txt
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_constants.h
    M compiler-rt/lib/scudo/standalone/allocator_config.def
    M compiler-rt/lib/scudo/standalone/combined.h
    M compiler-rt/lib/scudo/standalone/flags.inc
    M compiler-rt/lib/scudo/standalone/mem_map_fuchsia.cpp
    M compiler-rt/lib/scudo/standalone/primary32.h
    M compiler-rt/lib/scudo/standalone/primary64.h
    M compiler-rt/lib/scudo/standalone/secondary.h
    M compiler-rt/lib/scudo/standalone/wrappers_c.inc
    M compiler-rt/test/asan/TestCases/Darwin/odr-lto.cpp
    M compiler-rt/test/ctx_profile/Unit/lit.site.cfg.py.in
    M compiler-rt/test/memprof/Unit/lit.site.cfg.py.in
    M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard.cpp
    M cross-project-tests/debuginfo-tests/llvm-prettyprinters/gdb/mlir-support.cpp
    M flang/cmake/modules/AddFlangOffloadRuntime.cmake
    M flang/docs/FlangDriver.md
    M flang/examples/FeatureList/FeatureList.cpp
    M flang/include/flang/Common/Fortran-features.h
    M flang/include/flang/Common/Fortran.h
    M flang/include/flang/Common/visit.h
    M flang/include/flang/Frontend/FrontendAction.h
    M flang/include/flang/Lower/AbstractConverter.h
    M flang/include/flang/Lower/Mangler.h
    M flang/include/flang/Optimizer/Analysis/TBAAForest.h
    M flang/include/flang/Optimizer/Builder/BoxValue.h
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/Builder/Factory.h
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/PPCIntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/EnvironmentDefaults.h
    A flang/include/flang/Optimizer/Builder/Runtime/Main.h
    M flang/include/flang/Optimizer/Dialect/CanonicalizationPatterns.td
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FIRType.h
    M flang/include/flang/Optimizer/Dialect/FIRTypes.td
    M flang/include/flang/Optimizer/Dialect/FortranVariableInterface.td
    M flang/include/flang/Optimizer/HLFIR/HLFIRDialect.h
    M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
    M flang/include/flang/Optimizer/Support/Utils.h
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Runtime/descriptor.h
    M flang/include/flang/Semantics/semantics.h
    M flang/include/flang/Semantics/tools.h
    M flang/include/flang/Tools/CLOptions.inc
    M flang/include/flang/Tools/CrossToolHelpers.h
    M flang/include/flang/Tools/PointerModels.h
    M flang/lib/Common/Fortran.cpp
    M flang/lib/Evaluate/characteristics.cpp
    M flang/lib/Evaluate/common.cpp
    M flang/lib/Evaluate/fold-character.cpp
    M flang/lib/Evaluate/fold-complex.cpp
    M flang/lib/Evaluate/fold-implementation.h
    M flang/lib/Evaluate/fold-integer.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/host.cpp
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Evaluate/variable.cpp
    M flang/lib/Frontend/FrontendAction.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/ConvertArrayConstructor.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertConstant.cpp
    M flang/lib/Lower/ConvertExpr.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/ConvertProcedureDesignator.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/CustomIntrinsicCall.cpp
    M flang/lib/Lower/DirectivesCommon.h
    M flang/lib/Lower/HlfirIntrinsics.cpp
    M flang/lib/Lower/HostAssociations.cpp
    M flang/lib/Lower/IO.cpp
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.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/VectorSubscripts.cpp
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/Builder/BoxValue.cpp
    M flang/lib/Optimizer/Builder/CMakeLists.txt
    M flang/lib/Optimizer/Builder/Character.cpp
    M flang/lib/Optimizer/Builder/Complex.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/MutableBox.cpp
    M flang/lib/Optimizer/Builder/PPCIntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
    M flang/lib/Optimizer/Builder/Runtime/Character.cpp
    M flang/lib/Optimizer/Builder/Runtime/EnvironmentDefaults.cpp
    M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
    A flang/lib/Optimizer/Builder/Runtime/Main.cpp
    M flang/lib/Optimizer/Builder/Runtime/Ragged.cpp
    M flang/lib/Optimizer/Builder/Runtime/Reduction.cpp
    M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
    M flang/lib/Optimizer/CodeGen/CGOps.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp
    M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
    M flang/lib/Optimizer/CodeGen/TBAABuilder.cpp
    M flang/lib/Optimizer/CodeGen/Target.cpp
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
    M flang/lib/Optimizer/Dialect/FIRAttr.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/lib/Optimizer/Dialect/FortranVariableInterface.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/ConvertToFIR.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
    M flang/lib/Optimizer/Transforms/AbstractResult.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/AffineDemotion.cpp
    M flang/lib/Optimizer/Transforms/AffinePromotion.cpp
    M flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    M flang/lib/Optimizer/Transforms/CharacterConversion.cpp
    A flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    A flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
    M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
    M flang/lib/Optimizer/Transforms/MemoryAllocation.cpp
    M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
    M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
    M flang/lib/Optimizer/Transforms/SimplifyRegionLite.cpp
    M flang/lib/Optimizer/Transforms/StackArrays.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/preprocessor.cpp
    M flang/lib/Parser/prescan.cpp
    M flang/lib/Parser/prescan.h
    M flang/lib/Semantics/check-acc-structure.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/check-case.cpp
    M flang/lib/Semantics/check-cuda.cpp
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/check-do-forall.cpp
    M flang/lib/Semantics/check-io.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/data-to-inits.cpp
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/mod-file.cpp
    M flang/lib/Semantics/pointer-assignment.cpp
    M flang/lib/Semantics/program-tree.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/lib/Semantics/resolve-labels.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/semantics.cpp
    M flang/lib/Semantics/tools.cpp
    M flang/runtime/CMakeLists.txt
    R flang/runtime/FortranMain/CMakeLists.txt
    R flang/runtime/FortranMain/Fortran_main.c
    M flang/runtime/environment.cpp
    M flang/runtime/file.cpp
    M flang/runtime/namelist.cpp
    M flang/runtime/product.cpp
    M flang/runtime/reduction-templates.h
    M flang/runtime/sum.cpp
    M flang/runtime/unit.cpp
    M flang/runtime/utf.cpp
    M flang/test/CMakeLists.txt
    M flang/test/Driver/bbc-mlir-pass-pipeline.f90
    A flang/test/Driver/driver-help-hidden.f90
    M flang/test/Driver/dynamic-linker.f90
    M flang/test/Driver/emit-mlir.f90
    M flang/test/Driver/linker-flags.f90
    A flang/test/Driver/message-merging.f90
    M flang/test/Driver/mlir-debug-pass-pipeline.f90
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Driver/msvc-dependent-lib-flags.f90
    M flang/test/Driver/no-duplicate-main.f90
    M flang/test/Driver/prescanner-diag.f90
    M flang/test/Evaluate/fold-out_of_range.f90
    M flang/test/Fir/basic-program.fir
    M flang/test/Fir/cuf-invalid.fir
    M flang/test/Fir/cuf.mlir
    A flang/test/Fir/dummy-scope-codegen.fir
    A flang/test/Fir/dummy_scope.fir
    M flang/test/HLFIR/declare-codegen.fir
    A flang/test/HLFIR/dummy_scope.fir
    M flang/test/Lower/CUDA/cuda-data-attribute.cuf
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf
    M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
    R flang/test/Lower/OpenMP/FIR/array-bounds.f90
    R flang/test/Lower/OpenMP/FIR/atomic-capture.f90
    R flang/test/Lower/OpenMP/FIR/atomic-read.f90
    R flang/test/Lower/OpenMP/FIR/atomic-update.f90
    R flang/test/Lower/OpenMP/FIR/atomic-write.f90
    R flang/test/Lower/OpenMP/FIR/copyin.f90
    R flang/test/Lower/OpenMP/FIR/critical.f90
    R flang/test/Lower/OpenMP/FIR/declare-target-data.f90
    R flang/test/Lower/OpenMP/FIR/declare-target-func-and-subr.f90
    R flang/test/Lower/OpenMP/FIR/declare-target-implicit-func-and-subr-cap-enter.f90
    R flang/test/Lower/OpenMP/FIR/declare-target-implicit-func-and-subr-cap.f90
    R flang/test/Lower/OpenMP/FIR/default-clause.f90
    R flang/test/Lower/OpenMP/FIR/delayed-privatization-firstprivate.f90
    R flang/test/Lower/OpenMP/FIR/delayed-privatization-private.f90
    R flang/test/Lower/OpenMP/FIR/firstprivate-commonblock.f90
    R flang/test/Lower/OpenMP/FIR/flush.f90
    R flang/test/Lower/OpenMP/FIR/if-clause.f90
    R flang/test/Lower/OpenMP/FIR/is-device.f90
    R flang/test/Lower/OpenMP/FIR/lastprivate-commonblock.f90
    R flang/test/Lower/OpenMP/FIR/location.f90
    R flang/test/Lower/OpenMP/FIR/loop-combined.f90
    R flang/test/Lower/OpenMP/FIR/map-component-ref.f90
    R flang/test/Lower/OpenMP/FIR/master.f90
    R flang/test/Lower/OpenMP/FIR/omp-declare-target-program-var.f90
    R flang/test/Lower/OpenMP/FIR/omp-is-gpu.f90
    R flang/test/Lower/OpenMP/FIR/ordered-threads.f90
    R flang/test/Lower/OpenMP/FIR/parallel-firstprivate-clause-scalar.f90
    R flang/test/Lower/OpenMP/FIR/parallel-lastprivate-clause-scalar.f90
    R flang/test/Lower/OpenMP/FIR/parallel-private-clause-fixes.f90
    R flang/test/Lower/OpenMP/FIR/parallel-private-clause.f90
    R flang/test/Lower/OpenMP/FIR/parallel-reduction-add-byref.f90
    R flang/test/Lower/OpenMP/FIR/parallel-reduction-add.f90
    R flang/test/Lower/OpenMP/FIR/parallel-sections.f90
    R flang/test/Lower/OpenMP/FIR/parallel-wsloop-firstpriv.f90
    R flang/test/Lower/OpenMP/FIR/parallel-wsloop.f90
    R flang/test/Lower/OpenMP/FIR/parallel.f90
    R flang/test/Lower/OpenMP/FIR/pre-fir-tree-loop.f90
    R flang/test/Lower/OpenMP/FIR/pre-fir-tree01.f90
    R flang/test/Lower/OpenMP/FIR/private-commonblock.f90
    R flang/test/Lower/OpenMP/FIR/requires-common.f90
    R flang/test/Lower/OpenMP/FIR/requires-notarget.f90
    R flang/test/Lower/OpenMP/FIR/requires.f90
    R flang/test/Lower/OpenMP/FIR/rtl-flags.f90
    R flang/test/Lower/OpenMP/FIR/sections-pft.f90
    R flang/test/Lower/OpenMP/FIR/sections.f90
    R flang/test/Lower/OpenMP/FIR/simd.f90
    R flang/test/Lower/OpenMP/FIR/simple-barrier.f90
    R flang/test/Lower/OpenMP/FIR/single.f90
    R flang/test/Lower/OpenMP/FIR/stop-stmt-in-region.f90
    R flang/test/Lower/OpenMP/FIR/target.f90
    R flang/test/Lower/OpenMP/FIR/target_cpu_features.f90
    R flang/test/Lower/OpenMP/FIR/task.f90
    R flang/test/Lower/OpenMP/FIR/taskgroup.f90
    R flang/test/Lower/OpenMP/FIR/taskwait.f90
    R flang/test/Lower/OpenMP/FIR/taskyield.f90
    R flang/test/Lower/OpenMP/FIR/teams.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-char-array-chararray.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-commonblock.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-integer-different-kinds.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-non-global.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-pointer-allocatable.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-real-logical-complex-derivedtype.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-use-association-2.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-use-association.f90
    R flang/test/Lower/OpenMP/FIR/unstructured.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-chunks.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-collapse.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-monotonic.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-nonmonotonic.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-ordered.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-add-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-add.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-max-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-max.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-min-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-min.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-simd.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-variable.f90
    R flang/test/Lower/OpenMP/FIR/wsloop.f90
    A flang/test/Lower/OpenMP/Todo/reduction-array-intrinsic.f90
    A flang/test/Lower/OpenMP/cfg-conversion-omp.private.f90
    M flang/test/Lower/OpenMP/default-clause-byref.f90
    A flang/test/Lower/OpenMP/default-clause-implied-do-fix.f90
    M flang/test/Lower/OpenMP/default-clause.f90
    M flang/test/Lower/OpenMP/delayed-privatization-allocatable-private.f90
    M flang/test/Lower/OpenMP/if-clause.f90
    M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
    M flang/test/Lower/OpenMP/simd.f90
    M flang/test/Lower/OpenMP/target.f90
    M flang/test/Lower/OpenMP/threadprivate-real-logical-complex-derivedtype.f90
    M flang/test/Lower/OpenMP/use-device-ptr-to-use-device-addr.f90
    M flang/test/Lower/convert.f90
    M flang/test/Lower/environment-defaults.f90
    A flang/test/Lower/if-loc.f90
    A flang/test/Parser/OpenMP/fail-construct1.f90
    A flang/test/Parser/OpenMP/fail-construct2.f90
    M flang/test/Preprocessing/include-comment.F90
    M flang/test/Semantics/OpenMP/map-clause.f90
    M flang/test/Semantics/call14.f90
    M flang/test/Semantics/cuf03.cuf
    A flang/test/Semantics/cuf13.cuf
    M flang/test/Semantics/kinds04_q10.f90
    M flang/test/Semantics/kinds04_q16.f90
    M flang/test/Semantics/resolve58.f90
    A flang/test/Transforms/debug-90683.fir
    A flang/test/Transforms/debug-fn-info.f90
    M flang/test/Transforms/debug-line-table-inc-file.fir
    M flang/tools/bbc/bbc.cpp
    M flang/tools/flang-driver/CMakeLists.txt
    M flang/tools/tco/tco.cpp
    M flang/unittests/Optimizer/Builder/ComplexTest.cpp
    M flang/unittests/Optimizer/Builder/DoLoopHelperTest.cpp
    M flang/unittests/Optimizer/Builder/FIRBuilderTest.cpp
    M flang/unittests/Optimizer/FortranVariableTest.cpp
    M flang/unittests/Optimizer/RTBuilder.cpp
    M libc/config/baremetal/api.td
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/aarch64/headers.txt
    M libc/config/linux/api.td
    M libc/config/linux/arm/headers.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/riscv/headers.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/linux/x86_64/headers.txt
    M libc/docs/c23.rst
    M libc/docs/math/index.rst
    M libc/fuzzing/__support/CMakeLists.txt
    A libc/fuzzing/__support/hashtable_fuzz.cpp
    M libc/fuzzing/__support/uint_fuzz.cpp
    M libc/hdr/CMakeLists.txt
    A libc/hdr/fcntl_macros.h
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/struct_f_owner_ex.h
    A libc/hdr/types/struct_flock.h
    A libc/hdr/types/struct_flock64.h
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-macros/linux/fcntl-macros.h
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/char16_t.h
    A libc/include/llvm-libc-types/char32_t.h
    A libc/include/llvm-libc-types/char8_t.h
    A libc/include/llvm-libc-types/struct_f_owner_ex.h
    A libc/include/llvm-libc-types/struct_flock.h
    A libc/include/llvm-libc-types/struct_flock64.h
    M libc/spec/posix.td
    M libc/spec/spec.td
    M libc/spec/stdc.td
    M libc/src/__support/HashTable/generic/bitmask_impl.inc
    M libc/src/__support/fixed_point/sqrt.h
    M libc/src/fcntl/CMakeLists.txt
    A libc/src/fcntl/fcntl.h
    M libc/src/fcntl/linux/CMakeLists.txt
    A libc/src/fcntl/linux/fcntl.cpp
    M libc/src/math/CMakeLists.txt
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/nearbyintf128.cpp
    A libc/src/math/generic/scalbnf128.cpp
    A libc/src/math/nearbyintf128.h
    A libc/src/math/scalbnf128.h
    M libc/test/UnitTest/FPMatcher.h
    M libc/test/src/fcntl/CMakeLists.txt
    A libc/test/src/fcntl/fcntl_test.cpp
    M libc/test/src/math/CMakeLists.txt
    A libc/test/src/math/scalbnf128_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/NearbyIntTest.h
    A libc/test/src/math/smoke/nearbyint_test.cpp
    A libc/test/src/math/smoke/nearbyintf128_test.cpp
    A libc/test/src/math/smoke/nearbyintf_test.cpp
    A libc/test/src/math/smoke/nearbyintl_test.cpp
    A libc/test/src/math/smoke/scalbnf128_test.cpp
    M libc/test/src/stdfix/ISqrtTest.h
    M libc/test/src/stdfix/SqrtTest.h
    M libc/test/src/stdfix/uksqrtui_test.cpp
    M libcxx/CMakeLists.txt
    M libcxx/cmake/caches/Generic-cxx20.cmake
    M libcxx/cmake/caches/Generic-cxx23.cmake
    M libcxx/cmake/caches/Generic-cxx26.cmake
    M libcxx/cmake/caches/Generic-hardening-mode-extensive.cmake
    M libcxx/cmake/caches/Generic-no-exceptions.cmake
    M libcxx/cmake/caches/Generic-no-experimental.cmake
    M libcxx/cmake/caches/Generic-no-filesystem.cmake
    M libcxx/cmake/caches/Generic-no-localization.cmake
    M libcxx/cmake/caches/Generic-no-random_device.cmake
    M libcxx/cmake/caches/Generic-no-threads.cmake
    M libcxx/cmake/caches/Generic-no-unicode.cmake
    M libcxx/cmake/caches/Generic-no-wide-characters.cmake
    M libcxx/docs/BuildingLibcxx.rst
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/Status/Cxx23Papers.csv
    M libcxx/docs/Status/Cxx2c.rst
    M libcxx/docs/Status/Cxx2cIssues.csv
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/docs/Status/FormatIssues.csv
    M libcxx/docs/UsingLibcxx.rst
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__algorithm/find.h
    M libcxx/include/__algorithm/ranges_find.h
    M libcxx/include/__availability
    M libcxx/include/__config
    M libcxx/include/__format/escaped_output_table.h
    M libcxx/include/__format/write_escaped.h
    M libcxx/include/__mutex/unique_lock.h
    A libcxx/include/__ostream/basic_ostream.h
    A libcxx/include/__ostream/print.h
    M libcxx/include/__ranges/repeat_view.h
    M libcxx/include/__ranges/to.h
    M libcxx/include/__string/char_traits.h
    M libcxx/include/__string/constexpr_c_functions.h
    M libcxx/include/__type_traits/datasizeof.h
    M libcxx/include/__utility/no_destroy.h
    M libcxx/include/format
    M libcxx/include/istream
    M libcxx/include/module.modulemap
    M libcxx/include/mutex
    M libcxx/include/ostream
    M libcxx/include/sstream
    M libcxx/include/stdexcept
    M libcxx/include/streambuf
    M libcxx/include/string
    M libcxx/include/syncstream
    M libcxx/include/tuple
    M libcxx/include/variant
    M libcxx/modules/std.compat/cctype.inc
    M libcxx/modules/std.compat/cfenv.inc
    M libcxx/modules/std.compat/cinttypes.inc
    M libcxx/modules/std.compat/clocale.inc
    M libcxx/modules/std.compat/cmath.inc
    M libcxx/modules/std.compat/csetjmp.inc
    M libcxx/modules/std.compat/csignal.inc
    M libcxx/modules/std.compat/cstdarg.inc
    M libcxx/modules/std.compat/cstddef.inc
    M libcxx/modules/std.compat/cstdint.inc
    M libcxx/modules/std.compat/cstdio.inc
    M libcxx/modules/std.compat/cstdlib.inc
    M libcxx/modules/std.compat/cstring.inc
    M libcxx/modules/std.compat/ctime.inc
    M libcxx/modules/std.compat/cwchar.inc
    M libcxx/modules/std.compat/cwctype.inc
    M libcxx/modules/std/atomic.inc
    M libcxx/modules/std/cctype.inc
    M libcxx/modules/std/cfenv.inc
    M libcxx/modules/std/cinttypes.inc
    M libcxx/modules/std/clocale.inc
    M libcxx/modules/std/cmath.inc
    M libcxx/modules/std/csetjmp.inc
    M libcxx/modules/std/csignal.inc
    M libcxx/modules/std/cstdarg.inc
    M libcxx/modules/std/cstddef.inc
    M libcxx/modules/std/cstdint.inc
    M libcxx/modules/std/cstdio.inc
    M libcxx/modules/std/cstdlib.inc
    M libcxx/modules/std/cstring.inc
    M libcxx/modules/std/ctime.inc
    M libcxx/modules/std/cwchar.inc
    M libcxx/modules/std/cwctype.inc
    M libcxx/modules/std/ranges.inc
    M libcxx/test/libcxx/diagnostics/mutex.nodiscard.verify.cpp
    M libcxx/test/libcxx/input.output/file.streams/fstreams/traits_mismatch.verify.cpp
    M libcxx/test/libcxx/input.output/iostream.format/output.streams/traits_mismatch.verify.cpp
    R libcxx/test/libcxx/thread/thread.lock/thread.lock.guard/nodiscard.verify.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/libcxx/type_traits/datasizeof.compile.pass.cpp
    M libcxx/test/libcxx/utilities/expected/expected.expected/no_unique_address.compile.pass.cpp
    M libcxx/test/libcxx/utilities/expected/expected.void/no_unique_address.compile.pass.cpp
    A libcxx/test/libcxx/utilities/format/format.string/format.string.std/escaped_output.pass.cpp
    A libcxx/test/libcxx/utilities/no_destroy.pass.cpp
    M libcxx/test/std/containers/sequences/array/size_and_alignment.compile.pass.cpp
    M libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.cons/copy.pass.cpp
    M libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.assign/assign.pass.cpp
    M libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.assign/swap.pass.cpp
    A libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.get.area/setg.assert.pass.cpp
    A libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.put.area/setp.assert.pass.cpp
    M libcxx/test/std/input.output/syncstream/syncbuf/helpers.h
    M libcxx/test/std/language.support/support.dynamic/hardware_inference_size.compile.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.replace.indirect.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.replace.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.replace.indirect.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align.replace.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.replace.indirect.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.replace.pass.cpp
    M libcxx/test/std/numerics/complex.number/complex.tuple/get.pass.cpp
    M libcxx/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.float.pass.cpp
    M libcxx/test/std/ranges/range.factories/range.repeat.view/ctad.compile.pass.cpp
    M libcxx/test/std/ranges/range.factories/range.repeat.view/views_repeat.pass.cpp
    M libcxx/test/std/ranges/range.utility/range.utility.conv/to.pass.cpp
    M libcxx/test/std/strings/string.conversions/stol.pass.cpp
    M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/parse.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.arg/visit_format_arg.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.args/get.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/escaped_output.unicode.pass.cpp
    M libcxx/utils/ci/docker-compose.yml
    M libcxx/utils/ci/run-buildbot
    M libcxx/utils/generate_escaped_output_table.py
    M lld/COFF/MinGW.cpp
    M lld/ELF/Arch/RISCV.cpp
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/Options.td
    M lld/ELF/OutputSections.cpp
    M lld/MachO/ObjC.cpp
    M lld/docs/ReleaseNotes.rst
    M lld/docs/ld.lld.1
    M lld/test/COFF/Inputs/combined-resources.rc
    M lld/test/COFF/pdb-type-server-invalid-signature.yaml
    M lld/test/COFF/pdb_char8_t.ll
    M lld/test/COFF/thinlto-index-only.ll
    M lld/test/ELF/compress-sections.s
    M lld/test/ELF/compressed-debug-level.test
    M lld/test/ELF/dynamic-list-cpp.s
    M lld/test/ELF/lto/thinlto-emit-index.ll
    M lld/test/ELF/lto/thinlto-index-only.ll
    M lld/test/ELF/riscv-branch.s
    M lld/test/ELF/riscv-call.s
    M lld/test/ELF/riscv-hi20-lo12.s
    M lld/test/ELF/riscv-jal.s
    M lld/test/MachO/objc-category-merging-complete-test.s
    M lld/test/MachO/objc-category-merging-extern-class-minimal.s
    M lld/test/MachO/thinlto-emit-index.ll
    M lld/test/MachO/thinlto-index-only.ll
    M lld/test/wasm/init-fini.ll
    M lld/tools/lld/CMakeLists.txt
    M lldb/bindings/interface/SBValueDocstrings.i
    M lldb/cmake/modules/LLDBConfig.cmake
    M lldb/cmake/modules/LLDBFramework.cmake
    M lldb/docs/index.rst
    R lldb/docs/lldb-for-gdb-users.txt
    R lldb/docs/lldb-platform-packets.txt
    M lldb/docs/resources/lldbgdbremote.md
    A lldb/docs/resources/lldbplatformpackets.md
    M lldb/docs/resources/test.rst
    M lldb/docs/use/tutorial.rst
    M lldb/include/lldb/API/LLDB.h
    M lldb/include/lldb/API/SBDebugger.h
    M lldb/include/lldb/API/SBExpressionOptions.h
    M lldb/include/lldb/API/SBLineEntry.h
    M lldb/include/lldb/API/SBProcess.h
    M lldb/include/lldb/API/SBSymbolContextList.h
    M lldb/include/lldb/API/SBTarget.h
    M lldb/include/lldb/API/SBType.h
    M lldb/include/lldb/API/SBValue.h
    M lldb/include/lldb/Core/Debugger.h
    M lldb/include/lldb/Core/DebuggerEvents.h
    M lldb/include/lldb/Expression/DiagnosticManager.h
    M lldb/include/lldb/Expression/Expression.h
    M lldb/include/lldb/Expression/LLVMUserExpression.h
    M lldb/include/lldb/Expression/UserExpression.h
    M lldb/include/lldb/Host/Host.h
    M lldb/include/lldb/Symbol/CompilerDecl.h
    M lldb/include/lldb/Symbol/CompilerType.h
    M lldb/include/lldb/Symbol/Type.h
    M lldb/include/lldb/Symbol/TypeSystem.h
    M lldb/include/lldb/Target/StackFrame.h
    M lldb/include/lldb/Target/Target.h
    M lldb/include/lldb/Utility/Log.h
    M lldb/include/lldb/Utility/ProcessInfo.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/include/lldb/lldb-private-types.h
    M lldb/packages/Python/lldbsuite/test/builders/builder.py
    M lldb/packages/Python/lldbsuite/test/configuration.py
    M lldb/packages/Python/lldbsuite/test/decorators.py
    M lldb/packages/Python/lldbsuite/test/dotest.py
    M lldb/packages/Python/lldbsuite/test/dotest_args.py
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
    A lldb/scripts/generate-sbapi-dwarf-enum.py
    M lldb/source/API/CMakeLists.txt
    M lldb/source/API/SBExpressionOptions.cpp
    M lldb/source/API/SBFrame.cpp
    M lldb/source/API/SBLineEntry.cpp
    M lldb/source/API/SBProcess.cpp
    M lldb/source/API/SBTarget.cpp
    M lldb/source/API/SBType.cpp
    M lldb/source/API/SBValue.cpp
    M lldb/source/Breakpoint/Watchpoint.cpp
    M lldb/source/Commands/CommandObjectDWIMPrint.cpp
    M lldb/source/Commands/CommandObjectType.cpp
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Core/DebuggerEvents.cpp
    M lldb/source/Expression/DiagnosticManager.cpp
    M lldb/source/Expression/FunctionCaller.cpp
    M lldb/source/Expression/LLVMUserExpression.cpp
    M lldb/source/Expression/UserExpression.cpp
    M lldb/source/Expression/UtilityFunction.cpp
    M lldb/source/Host/common/Host.cpp
    M lldb/source/Host/macosx/objcxx/Host.mm
    M lldb/source/Host/posix/PipePosix.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
    M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h
    M lldb/source/Plugins/ExpressionParser/Clang/ClangDiagnostic.h
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangFunctionCaller.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.h
    M lldb/source/Plugins/ExpressionParser/Clang/ClangUtilityFunction.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
    M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFBaseDIE.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFBaseDIE.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDefines.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDefines.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFTypeUnit.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolLocator/Default/SymbolLocatorDefault.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
    M lldb/source/Symbol/CompilerDecl.cpp
    M lldb/source/Symbol/CompilerType.cpp
    M lldb/source/Symbol/Type.cpp
    M lldb/source/Symbol/TypeSystem.cpp
    M lldb/source/Target/Language.cpp
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/StackFrame.cpp
    M lldb/source/Target/Target.cpp
    M lldb/source/Utility/Log.cpp
    M lldb/source/Utility/Scalar.cpp
    A lldb/test/API/clear-sbvalue-nonaddressable-bits/Makefile
    A lldb/test/API/clear-sbvalue-nonaddressable-bits/TestClearSBValueNonAddressableBits.py
    A lldb/test/API/clear-sbvalue-nonaddressable-bits/main.c
    M lldb/test/API/driver/batch_mode/TestBatchMode.py
    M lldb/test/API/driver/job_control/TestJobControl.py
    M lldb/test/API/driver/quit_speed/TestQuitWithProcess.py
    M lldb/test/API/functionalities/diagnostic_reporting/TestDiagnosticReporting.py
    M lldb/test/API/functionalities/fork/concurrent_vfork/TestConcurrentVFork.py
    M lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteLoad.py
    M lldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py
    M lldb/test/API/functionalities/progress_reporting/TestProgressReporting.py
    M lldb/test/API/functionalities/progress_reporting/clang_modules/TestClangModuleBuildProgress.py
    M lldb/test/API/iohandler/sigint/TestProcessIOHandlerInterrupt.py
    M lldb/test/API/lang/c/calling-conventions/TestCCallingConventions.py
    M lldb/test/API/lit.cfg.py
    M lldb/test/API/lit.site.cfg.py.in
    M lldb/test/API/macosx/nslog/TestDarwinNSLogOutput.py
    M lldb/test/API/macosx/rosetta/TestRosetta.py
    M lldb/test/API/python_api/type/TestTypeList.py
    M lldb/test/API/python_api/type/main.cpp
    M lldb/test/API/terminal/TestSTTYBeforeAndAfter.py
    M lldb/test/API/tools/lldb-dap/console/TestDAP_console.py
    A lldb/test/API/tools/lldb-dap/stepInTargets/Makefile
    A lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
    A lldb/test/API/tools/lldb-dap/stepInTargets/main.cpp
    M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
    A lldb/test/Shell/ObjectFile/ELF/two-text-sections.yaml
    M lldb/test/Shell/Unwind/eh-frame-dwarf-unwind-abort.test
    M lldb/tools/debugserver/source/MacOSX/MachProcess.mm
    M lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp
    M lldb/tools/lldb-dap/DAP.h
    M lldb/tools/lldb-dap/JSONUtils.cpp
    M lldb/tools/lldb-dap/lldb-dap.cpp
    M lldb/unittests/Expression/DiagnosticManagerTest.cpp
    M lldb/unittests/Host/HostTest.cpp
    M lldb/unittests/Host/linux/HostTest.cpp
    M lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp
    M lldb/unittests/Utility/LogTest.cpp
    M lldb/unittests/Utility/ScalarTest.cpp
    M lldb/utils/TableGen/LLDBTableGen.cpp
    M lldb/utils/TableGen/LLDBTableGenBackends.h
    M lldb/utils/lldb-dotest/lldb-dotest.in
    M llvm/CMakeLists.txt
    M llvm/cmake/modules/LLVMConfig.cmake.in
    M llvm/cmake/modules/llvm-driver-template.cpp.in
    M llvm/docs/AMDGPUUsage.rst
    M llvm/docs/CommandGuide/llvm-objcopy.rst
    M llvm/docs/CommandGuide/llvm-pdbutil.rst
    M llvm/docs/ConvergenceAndUniformity.rst
    M llvm/docs/ConvergentOperations.rst
    M llvm/docs/GettingInvolved.rst
    M llvm/docs/GettingStartedTutorials.rst
    M llvm/docs/GlobalISel/MIRPatterns.rst
    M llvm/docs/LangRef.rst
    M llvm/docs/PDB/CodeViewSymbols.rst
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/Reference.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/docs/UserGuides.rst
    M llvm/include/llvm-c/DebugInfo.h
    M llvm/include/llvm/ADT/FoldingSet.h
    M llvm/include/llvm/ADT/LazyAtomicPointer.h
    M llvm/include/llvm/ADT/StringRef.h
    M llvm/include/llvm/ADT/TypeSwitch.h
    M llvm/include/llvm/Analysis/MemorySSA.h
    M llvm/include/llvm/Analysis/TargetLibraryInfo.def
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/include/llvm/AsmParser/LLParser.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/CodeGen/BasicTTIImpl.h
    R llvm/include/llvm/CodeGen/FreeMachineFunction.h
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
    M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
    M llvm/include/llvm/CodeGen/GlobalISel/LoadStoreOpt.h
    M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/CodeGen/MIRParser/MIRParser.h
    M llvm/include/llvm/CodeGen/MIRYamlMapping.h
    A llvm/include/llvm/CodeGen/MachineFunctionAnalysis.h
    M llvm/include/llvm/CodeGen/MachineModuleInfo.h
    M llvm/include/llvm/CodeGen/MachinePassManager.h
    M llvm/include/llvm/CodeGen/MachineScheduler.h
    M llvm/include/llvm/CodeGen/SDPatternMatch.h
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/DebugInfo/GSYM/OutputAggregator.h
    M llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h
    M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
    M llvm/include/llvm/IR/Attributes.h
    M llvm/include/llvm/IR/DebugProgramInstruction.h
    M llvm/include/llvm/IR/Function.h
    M llvm/include/llvm/IR/GenericConvergenceVerifierImpl.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/IntrinsicsRISCV.td
    M llvm/include/llvm/IR/LLVMContext.h
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/include/llvm/IR/ProfDataUtils.h
    M llvm/include/llvm/IR/VPIntrinsics.def
    M llvm/include/llvm/MC/MCELFStreamer.h
    M llvm/include/llvm/MC/MCRegisterInfo.h
    M llvm/include/llvm/MC/TargetRegistry.h
    M llvm/include/llvm/Object/ELFObjectFile.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/include/llvm/ProfileData/MemProfReader.h
    M llvm/include/llvm/Support/Allocator.h
    M llvm/include/llvm/Support/Compiler.h
    M llvm/include/llvm/Support/RISCVISAUtils.h
    M llvm/include/llvm/Support/RWMutex.h
    M llvm/include/llvm/Support/TypeSize.h
    M llvm/include/llvm/Support/YAMLTraits.h
    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/PPCTargetParser.def
    M llvm/include/llvm/TargetParser/RISCVISAInfo.h
    M llvm/include/llvm/Transforms/AggressiveInstCombine/AggressiveInstCombine.h
    M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
    A llvm/include/llvm/Transforms/Instrumentation/PGOCtxProfLowering.h
    M llvm/include/llvm/Transforms/Scalar/GVN.h
    M llvm/include/llvm/Transforms/Scalar/JumpThreading.h
    M llvm/include/llvm/Transforms/Utils/BuildLibCalls.h
    M llvm/include/llvm/Transforms/Utils/GlobalStatus.h
    M llvm/include/llvm/Transforms/Utils/Local.h
    M llvm/include/llvm/Transforms/Utils/LoopUtils.h
    M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
    M llvm/include/llvm/Transforms/Utils/UnrollLoop.h
    M llvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h
    M llvm/include/module.install.modulemap
    M llvm/include/module.modulemap
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Analysis/MemoryBuiltins.cpp
    M llvm/lib/Analysis/MemorySSA.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/BinaryFormat/Dwarf.cpp
    M llvm/lib/BinaryFormat/ELF.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/CMakeLists.txt
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
    M llvm/lib/CodeGen/DeadMachineInstructionElim.cpp
    R llvm/lib/CodeGen/FreeMachineFunction.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelperVectorOps.cpp
    M llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp
    M llvm/lib/CodeGen/InterleavedAccessPass.cpp
    M llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp
    M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
    M llvm/lib/CodeGen/MIRPrinter.cpp
    A llvm/lib/CodeGen/MachineFunctionAnalysis.cpp
    M llvm/lib/CodeGen/MachineLICM.cpp
    M llvm/lib/CodeGen/MachinePassManager.cpp
    M llvm/lib/CodeGen/RDFGraph.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/LegalizeVectorOps.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
    M llvm/lib/ExecutionEngine/Orc/MemoryMapper.cpp
    M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/ExecutorSharedMemoryMapperService.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/AttributeImpl.h
    M llvm/lib/IR/Attributes.cpp
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/IR/DebugProgramInstruction.cpp
    M llvm/lib/IR/Function.cpp
    M llvm/lib/IR/IRBuilder.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/IR/IntrinsicInst.cpp
    M llvm/lib/IR/LLVMContext.cpp
    M llvm/lib/IR/LLVMContextImpl.h
    M llvm/lib/IR/Metadata.cpp
    M llvm/lib/IR/Module.cpp
    M llvm/lib/IR/ProfDataUtils.cpp
    M llvm/lib/IR/ProfileSummary.cpp
    M llvm/lib/IR/Type.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/LTO/LTOCodeGenerator.cpp
    M llvm/lib/MC/MCDXContainerStreamer.cpp
    M llvm/lib/MC/MCELFStreamer.cpp
    M llvm/lib/MC/MCGOFFStreamer.cpp
    M llvm/lib/MC/MCMachOStreamer.cpp
    M llvm/lib/MC/MCObjectStreamer.cpp
    M llvm/lib/MC/MCSPIRVStreamer.cpp
    M llvm/lib/MC/MCWasmStreamer.cpp
    M llvm/lib/MC/MCXCOFFStreamer.cpp
    M llvm/lib/MCA/InstrBuilder.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Passes/StandardInstrumentations.cpp
    M llvm/lib/ProfileData/InstrProfReader.cpp
    M llvm/lib/ProfileData/InstrProfWriter.cpp
    M llvm/lib/ProfileData/MemProf.cpp
    M llvm/lib/Support/GraphWriter.cpp
    M llvm/lib/Support/RISCVISAUtils.cpp
    M llvm/lib/Support/RWMutex.cpp
    M llvm/lib/Support/SuffixTree.cpp
    M llvm/lib/Support/Windows/Signals.inc
    M llvm/lib/Support/YAMLTraits.cpp
    M llvm/lib/Target/AArch64/AArch64.td
    M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64Processors.td
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.h
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.h
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
    M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
    M llvm/lib/Target/AMDGPU/AMDGPUInsertSingleUseVDST.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFStreamer.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFStreamer.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp
    M llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
    M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    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/SILoadStoreOptimizer.cpp
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
    M llvm/lib/Target/AMDGPU/SIModeRegister.cpp
    M llvm/lib/Target/AMDGPU/SIModeRegisterDefaults.cpp
    M llvm/lib/Target/AMDGPU/SIModeRegisterDefaults.h
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.h
    M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
    M llvm/lib/Target/ARM/ARMFeatures.td
    M llvm/lib/Target/ARM/ARMFrameLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.h
    M llvm/lib/Target/ARM/ARMInstrInfo.td
    M llvm/lib/Target/ARM/ARMPredicates.td
    M llvm/lib/Target/ARM/ARMRegisterBankInfo.cpp
    M llvm/lib/Target/ARM/ARMRegisterInfo.td
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.h
    M llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFStreamer.cpp
    M llvm/lib/Target/ARM/Thumb1FrameLowering.cpp
    M llvm/lib/Target/AVR/MCTargetDesc/AVRMCTargetDesc.cpp
    M llvm/lib/Target/BPF/BTFDebug.cpp
    M llvm/lib/Target/BPF/BTFDebug.h
    M llvm/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.cpp
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCTargetDesc.cpp
    M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    M llvm/lib/Target/Hexagon/CMakeLists.txt
    A llvm/lib/Target/Hexagon/HexagonCopyHoisting.cpp
    M llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp
    M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
    M llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.cpp
    M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
    M llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
    M llvm/lib/Target/LoongArch/LoongArchFrameLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchMCInstLower.cpp
    M llvm/lib/Target/LoongArch/LoongArchSubtarget.h
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.h
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFStreamer.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFStreamer.h
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchFixupKinds.h
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCCodeEmitter.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.h
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCTargetDesc.cpp
    M llvm/lib/Target/M68k/M68kExpandPseudo.cpp
    M llvm/lib/Target/M68k/M68kInstrData.td
    M llvm/lib/Target/M68k/M68kInstrInfo.cpp
    M llvm/lib/Target/M68k/M68kInstrInfo.h
    M llvm/lib/Target/M68k/M68kSubtarget.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.h
    M llvm/lib/Target/Mips/MCTargetDesc/MipsMCNaCl.h
    M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsNaClELFStreamer.cpp
    M llvm/lib/Target/Mips/Mips32r6InstrInfo.td
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
    M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.h
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp
    M llvm/lib/Target/RISCV/RISCV.td
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
    A llvm/lib/Target/RISCV/RISCVProfiles.td
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
    M llvm/lib/Target/RISCV/RISCVSchedRocket.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFiveP400.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
    M llvm/lib/Target/RISCV/RISCVSchedSyntacoreSCR1.td
    M llvm/lib/Target/RISCV/RISCVSchedXiangShanNanHu.td
    M llvm/lib/Target/RISCV/RISCVSchedule.td
    A llvm/lib/Target/RISCV/RISCVScheduleZvk.td
    M llvm/lib/Target/RISCV/RISCVSubtarget.h
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVMCTargetDesc.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrFP.td
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
    M llvm/lib/Target/SystemZ/SystemZInstrVector.td
    M llvm/lib/Target/SystemZ/SystemZOperators.td
    M llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp
    M llvm/lib/Target/WebAssembly/CMakeLists.txt
    M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTypeUtilities.cpp
    M llvm/lib/Target/WebAssembly/WebAssembly.h
    M llvm/lib/Target/WebAssembly/WebAssembly.td
    A llvm/lib/Target/WebAssembly/WebAssemblyCleanCodeAfterTrap.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
    M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h
    M llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h
    M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.h
    M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrSSE.td
    M llvm/lib/Target/X86/X86LowerTileCopy.cpp
    M llvm/lib/Target/X86/X86RegisterInfo.cpp
    M llvm/lib/Target/X86/X86Subtarget.h
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/lib/TargetParser/Host.cpp
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/lib/TargetParser/Triple.cpp
    M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
    M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
    M llvm/lib/Transforms/HipStdPar/HipStdPar.cpp
    M llvm/lib/Transforms/IPO/GlobalOpt.cpp
    M llvm/lib/Transforms/IPO/SCCP.cpp
    M llvm/lib/Transforms/IPO/SampleProfile.cpp
    M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Instrumentation/CMakeLists.txt
    M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    A llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
    M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
    M llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
    M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
    M llvm/lib/Transforms/Scalar/GVN.cpp
    M llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
    M llvm/lib/Transforms/Scalar/JumpThreading.cpp
    M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
    M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
    M llvm/lib/Transforms/Utils/CloneFunction.cpp
    M llvm/lib/Transforms/Utils/FunctionComparator.cpp
    M llvm/lib/Transforms/Utils/GlobalStatus.cpp
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
    M llvm/lib/Transforms/Utils/LoopUnroll.cpp
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/runtimes/CMakeLists.txt
    M llvm/test/Analysis/CostModel/AArch64/getIntrinsicInstrCost-vector-reverse.ll
    M llvm/test/Analysis/CostModel/AArch64/splice.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
    M llvm/test/Analysis/CostModel/RISCV/arith-fp.ll
    M llvm/test/Analysis/CostModel/RISCV/arith-int.ll
    M llvm/test/Analysis/CostModel/RISCV/rvv-shuffle.ll
    M llvm/test/Analysis/CostModel/RISCV/splice.ll
    M llvm/test/Analysis/CostModel/X86/arith-fp-codesize.ll
    M llvm/test/Analysis/CostModel/X86/arith-fp-latency.ll
    M llvm/test/Analysis/CostModel/X86/arith-fp-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/arith-fp.ll
    M llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll
    M llvm/test/Analysis/CostModel/X86/masked-intrinsic-codesize.ll
    M llvm/test/Analysis/CostModel/X86/masked-intrinsic-latency.ll
    M llvm/test/Analysis/CostModel/X86/masked-intrinsic-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-replication-i1-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-replication-i1-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-replication-i1-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-replication-i16-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-replication-i16-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-replication-i16-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-replication-i8-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-replication-i8-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-replication-i8-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/trunc-codesize.ll
    M llvm/test/Analysis/CostModel/X86/trunc-latency.ll
    M llvm/test/Analysis/CostModel/X86/trunc-sizelatency.ll
    A llvm/test/Analysis/LoopAccessAnalysis/different-strides-safe-dep-due-to-backedge-taken-count.ll
    M llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-forward.ll
    M llvm/test/Analysis/MustExecute/const-cond.ll
    M llvm/test/Analysis/ValueTracking/phi-known-bits.ll
    M llvm/test/Assembler/thinlto-summary.ll
    M llvm/test/Bitcode/summary_version.ll
    M llvm/test/Bitcode/thinlto-alias.ll
    M llvm/test/Bitcode/thinlto-func-summary-vtableref-pgo.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-partial-sample-profile-summary.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-pgo.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph.ll
    M llvm/test/Bitcode/thinlto-function-summary-originalnames.ll
    M llvm/test/Bitcode/thinlto-function-summary-paramaccess.ll
    A llvm/test/Bitcode/upgrade-vector-interleave2-deinterleave2-intrinsics.ll
    A llvm/test/Bitcode/upgrade-vector-reverse-intrinsic.ll
    A llvm/test/Bitcode/upgrade-vector-splice-intrinsic.ll
    M llvm/test/CMakeLists.txt
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-insert-vec-elt.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-vector-deinterleave2.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-vector-interleave2.ll
    A llvm/test/CodeGen/AArch64/GlobalISel/legalize-bitcast.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/store-merging.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/store-merging.mir
    M llvm/test/CodeGen/AArch64/active_lane_mask.ll
    M llvm/test/CodeGen/AArch64/arm64ec-entry-thunks.ll
    M llvm/test/CodeGen/AArch64/arm64ec-exit-thunks.ll
    M llvm/test/CodeGen/AArch64/combine-mul.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-add-mull-scalable-contract.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-add-mull-scalable-fast.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-add-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-add.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-mul-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-f32-add-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-f32-mul-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-f64-add-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-f64-mul-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i16-add-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i16-mul-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i32-add-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i32-mul-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i64-add-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i64-mul-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i8-add-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-predicated-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-splat-scalable.ll
    M llvm/test/CodeGen/AArch64/concatbinop.ll
    M llvm/test/CodeGen/AArch64/fixed-vector-deinterleave.ll
    M llvm/test/CodeGen/AArch64/fixed-vector-interleave.ll
    M llvm/test/CodeGen/AArch64/fpmode.ll
    A llvm/test/CodeGen/AArch64/interleaved-load-combine-pr90695.ll
    M llvm/test/CodeGen/AArch64/machine-combiner-subadd2.mir
    M llvm/test/CodeGen/AArch64/mul_pow2.ll
    M llvm/test/CodeGen/AArch64/named-vector-shuffle-reverse-neon.ll
    M llvm/test/CodeGen/AArch64/named-vector-shuffle-reverse-sve.ll
    M llvm/test/CodeGen/AArch64/named-vector-shuffles-neon.ll
    M llvm/test/CodeGen/AArch64/named-vector-shuffles-sve.ll
    A llvm/test/CodeGen/AArch64/pr90936.ll
    M llvm/test/CodeGen/AArch64/sve-reassocadd.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-and-combine.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bit-counting.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitcast.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitselect.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-build-vector.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-concat.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ext-loads.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-extract-subvector.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-extract-vector-elt.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-arith.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-compares.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-convert.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-extend-trunc.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-fma.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-minmax.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce-fa64.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-rounding.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-select.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-to-int.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-insert-vector-elt.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-arith.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-compares.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-div.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-extends.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-immediates.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-log.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-minmax.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mla-neon-fa64.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mulh.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-rem.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-select.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-shifts.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-to-fp.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ld2-alloca.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-limit-duplane.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-loads.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-log-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-load.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-store.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-optimize-ptrue.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-permute-rev.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-permute-zip-uzp-trn.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ptest.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-rev.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-sdiv-pow2.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-shuffle.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-splat-vector.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-stores.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-subvector.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc-stores.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-vector-shuffle.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-test-register-mov.ll
    M llvm/test/CodeGen/AArch64/sve-vector-deinterleave.ll
    M llvm/test/CodeGen/AArch64/sve-vector-interleave.ll
    M llvm/test/CodeGen/AArch64/sve2-bsl.ll
    M llvm/test/CodeGen/AArch64/sve2-intrinsics-while-reversed.ll
    M llvm/test/CodeGen/AArch64/vecreduce-add.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/non-entry-alloca.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-callable.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-cs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-es.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-gs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-hs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-ls.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-cs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-default.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-denormal.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-dx10-clamp.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-es.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-gs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-hs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-ieee.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-ls.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-ps.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-psenable.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-vs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-psenable.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-usersgpr-init.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-vs.ll
    M llvm/test/CodeGen/AMDGPU/atomic_load_local.ll
    M llvm/test/CodeGen/AMDGPU/atomic_store_local.ll
    M llvm/test/CodeGen/AMDGPU/cc-update.ll
    M llvm/test/CodeGen/AMDGPU/div_i128.ll
    M llvm/test/CodeGen/AMDGPU/extra-lds-size.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_system.ll
    A llvm/test/CodeGen/AMDGPU/fp_trunc_store_fp32_to_bf16.ll
    A llvm/test/CodeGen/AMDGPU/fp_trunc_store_fp64_to_bf16.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i32_system.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i64_system.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
    A llvm/test/CodeGen/AMDGPU/hard-clauses-img-gfx10.mir
    A llvm/test/CodeGen/AMDGPU/hard-clauses-img-gfx11.mir
    A llvm/test/CodeGen/AMDGPU/hard-clauses-img-gfx12.mir
    M llvm/test/CodeGen/AMDGPU/hard-clauses.mir
    M llvm/test/CodeGen/AMDGPU/idemponent-atomics.ll
    M llvm/test/CodeGen/AMDGPU/insert-singleuse-vdst.mir
    M llvm/test/CodeGen/AMDGPU/kernel-vgpr-spill-mubuf-with-voffset.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.dpp.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.dpp.mir
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.msaa.load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.wait.ll
    A llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
    A llvm/test/CodeGen/AMDGPU/llvm.maximum.f32.ll
    A llvm/test/CodeGen/AMDGPU/llvm.maximum.f64.ll
    A llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
    A llvm/test/CodeGen/AMDGPU/llvm.minimum.f32.ll
    A llvm/test/CodeGen/AMDGPU/llvm.minimum.f64.ll
    A llvm/test/CodeGen/AMDGPU/llvm.set.rounding.ll
    M llvm/test/CodeGen/AMDGPU/lower-mem-intrinsics-threshold.ll
    M llvm/test/CodeGen/AMDGPU/lower-mem-intrinsics.ll
    A llvm/test/CodeGen/AMDGPU/machinelicm-copy-like-instrs.mir
    M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-agent.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-lastuse.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-nontemporal.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-singlethread.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-system.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-volatile.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-wavefront.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-workgroup.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-agent.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-lastuse.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-nontemporal.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-singlethread.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-system.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-volatile.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-wavefront.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-workgroup.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-agent.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-nontemporal.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-singlethread.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-system.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-volatile.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-wavefront.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-workgroup.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-lastuse.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-nontemporal.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-volatile.ll
    M llvm/test/CodeGen/AMDGPU/mode-register-fpconstrain.ll
    M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
    M llvm/test/CodeGen/AMDGPU/optimize-negated-cond.ll
    M llvm/test/CodeGen/AMDGPU/pal-metadata-3.0.ll
    M llvm/test/CodeGen/AMDGPU/pal-userdata-regs.ll
    M llvm/test/CodeGen/AMDGPU/preserve-wwm-copy-dst-reg.ll
    M llvm/test/CodeGen/AMDGPU/rem_i128.ll
    M llvm/test/CodeGen/AMDGPU/si-annotate-dbg-info.ll
    M llvm/test/CodeGen/AMDGPU/stack-realign.ll
    A llvm/test/CodeGen/AMDGPU/waitcnt-sample-waw.mir
    M llvm/test/CodeGen/AMDGPU/wave_dispatch_regs.ll
    M llvm/test/CodeGen/AMDGPU/whole-wave-register-copy.ll
    M llvm/test/CodeGen/AMDGPU/whole-wave-register-spill.ll
    M llvm/test/CodeGen/ARM/minnum-maxnum-intrinsics.ll
    A llvm/test/CodeGen/ARM/pacbti-indirect-tail-calls-function-flags.ll
    A llvm/test/CodeGen/ARM/pacbti-indirect-tail-calls-module-flags1.ll
    A llvm/test/CodeGen/ARM/pacbti-indirect-tail-calls-module-flags2.ll
    M llvm/test/CodeGen/BPF/CORE/offset-reloc-basic.ll
    A llvm/test/CodeGen/DirectX/ContainerData/EmptySignature.ll
    M llvm/test/CodeGen/DirectX/strip-fn-attrs.ll
    M llvm/test/CodeGen/Hexagon/expand-vstorerw-undef.ll
    A llvm/test/CodeGen/Hexagon/hexagon-copy-hoisting.mir
    M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insertelement.ll
    M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/insertelement.ll
    A llvm/test/CodeGen/LoongArch/sextw-removal.ll
    M llvm/test/CodeGen/LoongArch/tls-models.ll
    M llvm/test/CodeGen/M68k/Arith/add-with-overflow.ll
    M llvm/test/CodeGen/M68k/Arith/add.ll
    M llvm/test/CodeGen/M68k/Arith/bitwise.ll
    M llvm/test/CodeGen/M68k/Arith/divide-by-constant.ll
    M llvm/test/CodeGen/M68k/Arith/imul.ll
    M llvm/test/CodeGen/M68k/Arith/mul64.ll
    M llvm/test/CodeGen/M68k/Arith/sdiv-exact.ll
    M llvm/test/CodeGen/M68k/Arith/smul-with-overflow.ll
    M llvm/test/CodeGen/M68k/Arith/sub-with-overflow.ll
    M llvm/test/CodeGen/M68k/Arith/sub.ll
    M llvm/test/CodeGen/M68k/Arith/umul-with-overflow.ll
    M llvm/test/CodeGen/M68k/Atomics/cmpxchg.ll
    M llvm/test/CodeGen/M68k/Atomics/load-store.ll
    M llvm/test/CodeGen/M68k/Atomics/rmw.ll
    M llvm/test/CodeGen/M68k/CConv/c-call.ll
    M llvm/test/CodeGen/M68k/CConv/fastcc-call.ll
    M llvm/test/CodeGen/M68k/CodeModel/medium-pie-global-access.ll
    M llvm/test/CodeGen/M68k/CodeModel/medium-static.ll
    M llvm/test/CodeGen/M68k/CodeModel/small-pie-global-access.ll
    M llvm/test/CodeGen/M68k/CodeModel/small-static.ll
    M llvm/test/CodeGen/M68k/Control/cmp.ll
    M llvm/test/CodeGen/M68k/Control/long-setcc.ll
    M llvm/test/CodeGen/M68k/Control/setcc.ll
    M llvm/test/CodeGen/M68k/PR57660.ll
    M llvm/test/CodeGen/M68k/TLS/tlsie.ll
    M llvm/test/CodeGen/M68k/TLS/tlsle.ll
    M llvm/test/CodeGen/M68k/gcc_except_table.ll
    M llvm/test/CodeGen/M68k/link-unlnk.ll
    A llvm/test/CodeGen/MIR/AArch64/calleesavedinfovalid.mir
    M llvm/test/CodeGen/MIR/Generic/frame-info.mir
    M llvm/test/CodeGen/MIR/X86/dbg-value-list.mir
    M llvm/test/CodeGen/MIR/X86/machine-verifier.mir
    A llvm/test/CodeGen/Mips/mipsr6-minmaxnum.ll
    M llvm/test/CodeGen/Mips/msa/f16-llvm-ir.ll
    M llvm/test/CodeGen/NVPTX/bf16x2-instructions-approx.ll
    M llvm/test/CodeGen/NVPTX/bf16x2-instructions.ll
    M llvm/test/CodeGen/NVPTX/rotate.ll
    M llvm/test/CodeGen/NVPTX/zeroext-32bit.ll
    A llvm/test/CodeGen/PowerPC/fminimum-fmaximum-f128.ll
    A llvm/test/CodeGen/PowerPC/fminimum-fmaximum.ll
    A llvm/test/CodeGen/PowerPC/git_revision.ll
    M llvm/test/CodeGen/PowerPC/legalize-vaarg.ll
    M llvm/test/CodeGen/PowerPC/lit.local.cfg
    A llvm/test/CodeGen/PowerPC/peephole-counter-XToI.mir
    A llvm/test/CodeGen/PowerPC/peephole-counter-perOp.mir
    A llvm/test/CodeGen/PowerPC/peephole-replaceInstr-after-eliminate-extsw.mir
    M llvm/test/CodeGen/RISCV/alu64.ll
    M llvm/test/CodeGen/RISCV/atomicrmw-uinc-udec-wrap.ll
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/CodeGen/RISCV/bfloat-convert.ll
    M llvm/test/CodeGen/RISCV/double-convert.ll
    M llvm/test/CodeGen/RISCV/double-round-conv-sat.ll
    M llvm/test/CodeGen/RISCV/float-convert.ll
    M llvm/test/CodeGen/RISCV/float-round-conv-sat.ll
    M llvm/test/CodeGen/RISCV/forced-atomics.ll
    M llvm/test/CodeGen/RISCV/fpclamptosat.ll
    M llvm/test/CodeGen/RISCV/half-convert.ll
    M llvm/test/CodeGen/RISCV/half-round-conv-sat.ll
    M llvm/test/CodeGen/RISCV/iabs.ll
    A llvm/test/CodeGen/RISCV/pr84653_pr85190.ll
    A llvm/test/CodeGen/RISCV/pr90652.ll
    M llvm/test/CodeGen/RISCV/regalloc-last-chance-recoloring-failure.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zba.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zbb-zbkb.ll
    M llvm/test/CodeGen/RISCV/rv64i-demanded-bits.ll
    M llvm/test/CodeGen/RISCV/rv64zba.ll
    M llvm/test/CodeGen/RISCV/rvv/commutable.ll
    M llvm/test/CodeGen/RISCV/rvv/copyprop.mir
    M llvm/test/CodeGen/RISCV/rvv/fixed-vector-i8-index-cornercase.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-deinterleave-load.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleave-store.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-concat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse-bitrotate.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse.ll
    M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
    M llvm/test/CodeGen/RISCV/rvv/named-vector-shuffle-reverse.ll
    A llvm/test/CodeGen/RISCV/rvv/pr90559.ll
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
    A llvm/test/CodeGen/RISCV/rvv/vector-reassociations.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-splice.ll
    A llvm/test/CodeGen/RISCV/rvv/vp-cttz-elts.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir
    M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll
    M llvm/test/CodeGen/RISCV/select.ll
    A llvm/test/CodeGen/RISCV/zicfilp-indirect-branch.ll
    M llvm/test/CodeGen/SPARC/LeonSMACUMACInstructionUT.ll
    A llvm/test/CodeGen/SPIRV/printf.ll
    A llvm/test/CodeGen/SPIRV/transcoding/spirv-event-null.ll
    M llvm/test/CodeGen/SystemZ/anyregcc.ll
    M llvm/test/CodeGen/SystemZ/atomic-load-08.ll
    M llvm/test/CodeGen/SystemZ/atomic-store-08.ll
    M llvm/test/CodeGen/SystemZ/atomicrmw-xchg-07.ll
    A llvm/test/CodeGen/SystemZ/copy-phys-reg-gr128-to-fp128.mir
    A llvm/test/CodeGen/SystemZ/copy-phys-reg-gr128-to-vr128.mir
    A llvm/test/CodeGen/SystemZ/copy-phys-reg-vr128-to-gr128.mir
    A llvm/test/CodeGen/SystemZ/fold-copy-vector-immediate.mir
    A llvm/test/CodeGen/SystemZ/foldmem-peep.mir
    M llvm/test/CodeGen/SystemZ/fp-add-01.ll
    M llvm/test/CodeGen/SystemZ/fp-add-02.ll
    M llvm/test/CodeGen/SystemZ/fp-mul-01.ll
    M llvm/test/CodeGen/SystemZ/fp-mul-03.ll
    M llvm/test/CodeGen/SystemZ/fp-sub-01.ll
    M llvm/test/CodeGen/SystemZ/fp-sub-02.ll
    A llvm/test/CodeGen/SystemZ/machine-combiner-reassoc-fp.ll
    M llvm/test/CodeGen/SystemZ/stackmap.ll
    M llvm/test/CodeGen/WebAssembly/unreachable.ll
    M llvm/test/CodeGen/X86/AMX/amx-lower-tile-copy.ll
    M llvm/test/CodeGen/X86/abdu-vector-128.ll
    M llvm/test/CodeGen/X86/apx/kmov-postrapseudos.ll
    M llvm/test/CodeGen/X86/avgceils.ll
    M llvm/test/CodeGen/X86/avgceilu.ll
    M llvm/test/CodeGen/X86/avgfloors.ll
    M llvm/test/CodeGen/X86/avgflooru.ll
    M llvm/test/CodeGen/X86/avx512-broadcast-arith.ll
    M llvm/test/CodeGen/X86/avx512bwvl-arith.ll
    M llvm/test/CodeGen/X86/cmp.ll
    A llvm/test/CodeGen/X86/cmp16.ll
    M llvm/test/CodeGen/X86/combine-mul.ll
    A llvm/test/CodeGen/X86/combine-or-shuffle.ll
    M llvm/test/CodeGen/X86/combine-or.ll
    M llvm/test/CodeGen/X86/dbg-value-superreg-copy2.mir
    M llvm/test/CodeGen/X86/div-rem-pair-recomposition-signed.ll
    M llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll
    M llvm/test/CodeGen/X86/fold-masked-merge.ll
    M llvm/test/CodeGen/X86/freeze-binary.ll
    M llvm/test/CodeGen/X86/freeze-combine.ll
    M llvm/test/CodeGen/X86/freeze-vector.ll
    M llvm/test/CodeGen/X86/gfni-funnel-shifts.ll
    M llvm/test/CodeGen/X86/gfni-rotates.ll
    M llvm/test/CodeGen/X86/known-never-zero.ll
    M llvm/test/CodeGen/X86/memcmp-minsize-x32.ll
    M llvm/test/CodeGen/X86/memcmp-minsize.ll
    M llvm/test/CodeGen/X86/memcmp-optsize-x32.ll
    M llvm/test/CodeGen/X86/memcmp-optsize.ll
    M llvm/test/CodeGen/X86/memcmp-pgso-x32.ll
    M llvm/test/CodeGen/X86/memcmp-pgso.ll
    M llvm/test/CodeGen/X86/memcpy-scoped-aa.ll
    M llvm/test/CodeGen/X86/midpoint-int-vec-128.ll
    M llvm/test/CodeGen/X86/midpoint-int-vec-256.ll
    M llvm/test/CodeGen/X86/midpoint-int-vec-512.ll
    M llvm/test/CodeGen/X86/named-vector-shuffle-reverse.ll
    M llvm/test/CodeGen/X86/non-value-mem-operand.mir
    M llvm/test/CodeGen/X86/patchable-prologue-debuginfo.ll
    M llvm/test/CodeGen/X86/post-ra-sched-with-debug.mir
    M llvm/test/CodeGen/X86/pr38539.ll
    M llvm/test/CodeGen/X86/pr62286.ll
    A llvm/test/CodeGen/X86/pr89877.ll
    A llvm/test/CodeGen/X86/pr90668.ll
    A llvm/test/CodeGen/X86/pr90847.ll
    M llvm/test/CodeGen/X86/scheduler-backtracking.ll
    M llvm/test/CodeGen/X86/sdiv_fix_sat.ll
    M llvm/test/CodeGen/X86/setcc-non-simple-type.ll
    M llvm/test/CodeGen/X86/subreg-to-reg-1.ll
    M llvm/test/CodeGen/X86/subreg-to-reg-3.ll
    M llvm/test/CodeGen/X86/subreg-to-reg-6.ll
    M llvm/test/CodeGen/X86/subvectorwise-store-of-vector-splat.ll
    M llvm/test/CodeGen/X86/vec_saddo.ll
    M llvm/test/CodeGen/X86/vec_ssubo.ll
    M llvm/test/CodeGen/X86/vec_uaddo.ll
    M llvm/test/CodeGen/X86/vec_usubo.ll
    M llvm/test/CodeGen/X86/vector-bo-select.ll
    M llvm/test/CodeGen/X86/vector-fshr-128.ll
    M llvm/test/CodeGen/X86/vector-fshr-256.ll
    M llvm/test/CodeGen/X86/vector-fshr-sub128.ll
    M llvm/test/CodeGen/X86/vector-llrint.ll
    M llvm/test/CodeGen/X86/vector-lrint.ll
    M llvm/test/CodeGen/X86/vector-shift-shl-128.ll
    M llvm/test/CodeGen/X86/windows-seh-EHa-CppCatchDotDotDot.ll
    M llvm/test/CodeGen/X86/windows-seh-EHa-CppDtors01.ll
    M llvm/test/CodeGen/X86/windows-seh-EHa-TryInFinally.ll
    M llvm/test/DebugInfo/AArch64/instr-ref-const-physreg.ll
    M llvm/test/DebugInfo/ARM/instr-ref-tcreturn.ll
    M llvm/test/DebugInfo/COFF/AArch64/lit.local.cfg
    M llvm/test/DebugInfo/COFF/jump-table-with-indirect-ptr-null.ll
    M llvm/test/DebugInfo/COFF/jump-table.ll
    M llvm/test/DebugInfo/COFF/pieces.ll
    M llvm/test/DebugInfo/Generic/debug_value_list.ll
    M llvm/test/DebugInfo/Generic/gmlt.test
    M llvm/test/DebugInfo/MIR/InstrRef/accept-nonlive-reg-phis.mir
    M llvm/test/DebugInfo/MIR/InstrRef/dbg-phi-subregister-location.mir
    M llvm/test/DebugInfo/MIR/InstrRef/dbg-phis-in-ldv.mir
    M llvm/test/DebugInfo/MIR/InstrRef/dbg-phis-in-ldv2.mir
    M llvm/test/DebugInfo/MIR/InstrRef/dbg-phis-merging-in-ldv.mir
    M llvm/test/DebugInfo/MIR/InstrRef/dbg-phis-with-loops.mir
    M llvm/test/DebugInfo/MIR/InstrRef/follow-spill-of-live-value.mir
    M llvm/test/DebugInfo/MIR/InstrRef/livedebugvalues_illegal_locs.mir
    M llvm/test/DebugInfo/MIR/InstrRef/livedebugvalues_instrref_tolocs.mir
    M llvm/test/DebugInfo/MIR/InstrRef/livedebugvalues_stackslot_subregs.mir
    M llvm/test/DebugInfo/MIR/InstrRef/livedebugvalues_subreg_substitutions.mir
    M llvm/test/DebugInfo/MIR/InstrRef/memory-operand-folding-tieddef.mir
    M llvm/test/DebugInfo/MIR/InstrRef/memory-operand-load-folding.mir
    M llvm/test/DebugInfo/MIR/InstrRef/memory-operand-tracking.mir
    M llvm/test/DebugInfo/MIR/InstrRef/out-of-scope-blocks.mir
    M llvm/test/DebugInfo/MIR/InstrRef/phi-coalesce-subreg.mir
    M llvm/test/DebugInfo/MIR/InstrRef/phi-on-stack-coalesced.mir
    M llvm/test/DebugInfo/MIR/InstrRef/phi-on-stack-coalesced2.mir
    M llvm/test/DebugInfo/MIR/InstrRef/phi-regallocd-to-stack.mir
    M llvm/test/DebugInfo/MIR/InstrRef/phi-through-regalloc.mir
    M llvm/test/DebugInfo/MIR/InstrRef/spill-slot-limits.mir
    M llvm/test/DebugInfo/MIR/InstrRef/substitusions-roundtrip.mir
    M llvm/test/DebugInfo/MIR/InstrRef/twoaddr-to-threeaddr-sub.mir
    M llvm/test/DebugInfo/MIR/InstrRef/win32-chkctk-modifies-esp.mir
    M llvm/test/DebugInfo/MIR/InstrRef/x86-drop-compare-inst.mir
    M llvm/test/DebugInfo/MIR/X86/dvl-livedebugvalues-clobber.mir
    M llvm/test/DebugInfo/MIR/X86/dvl-livedebugvalues-join.mir
    M llvm/test/DebugInfo/MIR/X86/dvl-livedebugvalues-movements.mir
    M llvm/test/DebugInfo/MIR/X86/dvl-livedebugvalues-spillrestore.mir
    M llvm/test/DebugInfo/MIR/X86/dvl-livedebugvars-movements.mir
    M llvm/test/DebugInfo/MIR/X86/dvl-livedebugvars-stackptr.mir
    M llvm/test/DebugInfo/MIR/X86/instr-ref-join-def-vphi.mir
    M llvm/test/DebugInfo/PDB/Inputs/longname-truncation.yaml
    M llvm/test/DebugInfo/PDB/Inputs/merge-types-1.yaml
    M llvm/test/DebugInfo/PDB/Inputs/merge-types-2.yaml
    M llvm/test/DebugInfo/PDB/Inputs/one-symbol.yaml
    M llvm/test/DebugInfo/PDB/pdb-longname-truncation.test
    M llvm/test/DebugInfo/PDB/pdbdump-raw-bytes.test
    M llvm/test/DebugInfo/X86/dbg-val-list-dangling.ll
    M llvm/test/DebugInfo/X86/dbg-value-arg-movement.ll
    M llvm/test/DebugInfo/X86/dbg-value-funcarg.ll
    M llvm/test/DebugInfo/X86/dbg-value-funcarg2.ll
    M llvm/test/DebugInfo/X86/dbg-value-funcarg4.ll
    M llvm/test/DebugInfo/X86/dbg-value-list-dag-combine.ll
    M llvm/test/DebugInfo/X86/dbg_value_list_clobbers.mir
    M llvm/test/DebugInfo/X86/dbg_value_list_emission.mir
    M llvm/test/DebugInfo/X86/instr-ref-dbg-declare.ll
    M llvm/test/DebugInfo/X86/instr-ref-dyn-alloca-win32.ll
    M llvm/test/DebugInfo/X86/instr-ref-ir-reg-read.ll
    M llvm/test/DebugInfo/X86/live-debug-values-expr-conflict.ll
    M llvm/test/DebugInfo/X86/pieces-4.ll
    M llvm/test/DebugInfo/X86/pr34545.ll
    M llvm/test/DebugInfo/X86/pr40427.ll
    M llvm/test/DebugInfo/X86/sdag-combine.ll
    M llvm/test/DebugInfo/X86/sdag-dangling-dbgvalue.ll
    M llvm/test/DebugInfo/X86/sdag-dbgvalue-phi-use-1.ll
    M llvm/test/DebugInfo/X86/sdag-dbgvalue-phi-use-2.ll
    M llvm/test/DebugInfo/X86/sdag-dbgvalue-phi-use-3.ll
    M llvm/test/DebugInfo/X86/sdag-dbgvalue-phi-use-4.ll
    M llvm/test/DebugInfo/X86/sdag-dbgvalue-ssareg.ll
    M llvm/test/DebugInfo/X86/sdag-ir-salvage.ll
    M llvm/test/DebugInfo/X86/sdag-salvage-add.ll
    M llvm/test/DebugInfo/X86/sdag-transfer-dbgvalue.ll
    M llvm/test/DebugInfo/X86/sdagsplit-1.ll
    M llvm/test/DebugInfo/X86/spill-nospill.ll
    M llvm/test/DebugInfo/precomp.test
    M llvm/test/DebugInfo/salvage-nonconst-binop.ll
    M llvm/test/Demangle/ms-options.test
    M llvm/test/Instrumentation/BoundsChecking/simple.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/alloca.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail1.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail10.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail11.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail12.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail13.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail2.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail3.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail4.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail5.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail6.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail7.ll
    A llvm/test/Instrumentation/MemorySanitizer/X86/mmx-intrinsics.ll
    M llvm/test/Instrumentation/MemorySanitizer/vector-load-store.ll
    A llvm/test/Instrumentation/MemorySanitizer/vscale.ll
    M llvm/test/Instrumentation/ThreadSanitizer/tsan_basic.ll
    M llvm/test/MC/AArch64/SME2/zip-diagnostics.s
    M llvm/test/MC/AArch64/SME2p1/fadd-diagnostics.s
    M llvm/test/MC/AArch64/SME2p1/fadd.s
    M llvm/test/MC/AArch64/SME2p1/fcvt.s
    M llvm/test/MC/AArch64/SME2p1/fcvtl-diagnostics.s
    M llvm/test/MC/AArch64/SME2p1/fcvtl.s
    M llvm/test/MC/AArch64/SME2p1/fmla-diagnostics.s
    M llvm/test/MC/AArch64/SME2p1/fmla.s
    M llvm/test/MC/AArch64/SME2p1/fmls-diagnostics.s
    M llvm/test/MC/AArch64/SME2p1/fmls.s
    M llvm/test/MC/AArch64/SME2p1/fmopa-diagnostics.s
    M llvm/test/MC/AArch64/SME2p1/fmopa.s
    M llvm/test/MC/AArch64/SME2p1/fmops-diagnostics.s
    M llvm/test/MC/AArch64/SME2p1/fmops.s
    M llvm/test/MC/AArch64/SME2p1/fsub-diagnostics.s
    M llvm/test/MC/AArch64/SME2p1/fsub.s
    M llvm/test/MC/AMDGPU/ds-err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/pal-msgpack.s
    M llvm/test/MC/AMDGPU/v_illegal-atomics.s
    M llvm/test/MC/AsmParser/directive_file-g.s
    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
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/M68k/data.txt
    M llvm/test/MC/LoongArch/Macros/macros-la-bad.s
    M llvm/test/MC/LoongArch/Macros/macros-la.s
    M llvm/test/MC/LoongArch/Misc/tls-symbols.s
    M llvm/test/MC/LoongArch/Relocations/relocations.s
    M llvm/test/MC/M68k/Data/Classes/MxMove_RI.s
    M llvm/test/MC/RISCV/XTHeadVdot-valid.s
    M llvm/test/MC/RISCV/align.s
    M llvm/test/MC/RISCV/attribute-arch.s
    M llvm/test/MC/RISCV/compress-cjal.s
    M llvm/test/MC/RISCV/compress-rv32d.s
    M llvm/test/MC/RISCV/compress-rv32f.s
    M llvm/test/MC/RISCV/compress-rv32i.s
    M llvm/test/MC/RISCV/compress-rv64i.s
    M llvm/test/MC/RISCV/invalid-attribute.s
    A llvm/test/MC/RISCV/large-instructions.s
    M llvm/test/MC/RISCV/nop-slide.s
    M llvm/test/MC/RISCV/option-pushpop.s
    M llvm/test/MC/RISCV/option-rvc.s
    M llvm/test/MC/RISCV/rv32e-invalid.s
    M llvm/test/MC/RISCV/rvv/add.s
    M llvm/test/MC/RISCV/rvv/and.s
    M llvm/test/MC/RISCV/rvv/clip.s
    M llvm/test/MC/RISCV/rvv/compare.s
    M llvm/test/MC/RISCV/rvv/convert.s
    M llvm/test/MC/RISCV/rvv/div.s
    M llvm/test/MC/RISCV/rvv/ext.s
    M llvm/test/MC/RISCV/rvv/fadd.s
    M llvm/test/MC/RISCV/rvv/fcompare.s
    M llvm/test/MC/RISCV/rvv/fdiv.s
    M llvm/test/MC/RISCV/rvv/fmacc.s
    M llvm/test/MC/RISCV/rvv/fminmax.s
    M llvm/test/MC/RISCV/rvv/fmul.s
    M llvm/test/MC/RISCV/rvv/fmv.s
    M llvm/test/MC/RISCV/rvv/fothers.s
    M llvm/test/MC/RISCV/rvv/freduction.s
    M llvm/test/MC/RISCV/rvv/fsub.s
    M llvm/test/MC/RISCV/rvv/load.s
    M llvm/test/MC/RISCV/rvv/macc.s
    M llvm/test/MC/RISCV/rvv/mask.s
    M llvm/test/MC/RISCV/rvv/minmax.s
    M llvm/test/MC/RISCV/rvv/mul.s
    M llvm/test/MC/RISCV/rvv/mv.s
    M llvm/test/MC/RISCV/rvv/or.s
    M llvm/test/MC/RISCV/rvv/others.s
    M llvm/test/MC/RISCV/rvv/reduction.s
    M llvm/test/MC/RISCV/rvv/shift.s
    M llvm/test/MC/RISCV/rvv/sign-injection.s
    M llvm/test/MC/RISCV/rvv/snippet.s
    M llvm/test/MC/RISCV/rvv/store.s
    M llvm/test/MC/RISCV/rvv/sub.s
    M llvm/test/MC/RISCV/rvv/vsetvl.s
    M llvm/test/MC/RISCV/rvv/xor.s
    M llvm/test/MC/RISCV/rvv/xsfvcp.s
    M llvm/test/MC/RISCV/rvv/xsfvfnrclip.s
    M llvm/test/MC/RISCV/rvv/xsfvfwmacc.s
    M llvm/test/MC/RISCV/rvv/xsfvqmacc.s
    M llvm/test/MC/RISCV/rvv/zvbb.s
    M llvm/test/MC/RISCV/rvv/zvbc.s
    M llvm/test/MC/RISCV/rvv/zvfbfmin.s
    M llvm/test/MC/RISCV/rvv/zvfbfwma.s
    M llvm/test/MC/RISCV/rvv/zvkb.s
    M llvm/test/MC/RISCV/rvv/zvkg.s
    M llvm/test/MC/RISCV/rvv/zvkned.s
    M llvm/test/MC/RISCV/rvv/zvknh.s
    M llvm/test/MC/RISCV/rvv/zvksed.s
    M llvm/test/MC/RISCV/rvv/zvksh.s
    M llvm/test/MC/RISCV/rvv/zvlsseg.s
    M llvm/test/MC/RISCV/tail-call.s
    M llvm/test/MC/WebAssembly/global-ctor-dtor.ll
    M llvm/test/Other/dump-before-after-invalidated.ll
    M llvm/test/Other/loop-pass-ordering.ll
    M llvm/test/Other/loop-print-after-pass-invalidated.ll
    M llvm/test/Other/loopnest-pass-ordering.ll
    M llvm/test/Other/new-pm-thinlto-prelink-defaults.ll
    M llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
    M llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
    M llvm/test/Other/print-at-pass-number.ll
    A llvm/test/TableGen/GlobalISelEmitter-frameindex.td
    M llvm/test/TableGen/GlobalISelEmitterSkippedPatterns.td
    M llvm/test/TableGen/riscv-target-def.td
    M llvm/test/TableGen/simplify-patfrag.td
    M llvm/test/ThinLTO/X86/distributed_indexes.ll
    R llvm/test/Transforms/AggressiveInstCombine/strcmp.ll
    A llvm/test/Transforms/AggressiveInstCombine/strncmp-1.ll
    A llvm/test/Transforms/AggressiveInstCombine/strncmp-2.ll
    A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f32-agent.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f32-system.ll
    A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f64-agent.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f64-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16.ll
    A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i32-agent.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i32-system.ll
    A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i64-agent.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i64-system.ll
    A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-v2bf16-agent.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-v2bf16-system.ll
    A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-v2f16-agent.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-v2f16-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomicrmw-integer-ops-0-to-add-0.ll
    A llvm/test/Transforms/AtomicExpand/AMDGPU/no-expand-atomic-load.ll
    A llvm/test/Transforms/AtomicExpand/AMDGPU/no-expand-atomic-store.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/2008-02-01-ReturnAttrs.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/2008-09-08-CGUpdateSelfEdge.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/X86/attributes.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/X86/min-legal-vector-width.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/X86/thiscall.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/aggregate-promote.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/alloca-as.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/attrs.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/byval-2.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/byval.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/chained.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/dbg.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/invalidation.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/naked_functions.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/nonzero-address-spaces.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/pr27568.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/pr32917.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/pr33641_remove_arg_dbgvalue.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/profile.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/reserve-tbaa.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/variadic.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/2009-09-24-byval-ptr.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/PR16052.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/PR43857.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/comdat-ipo.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/dangling-block-address.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/deadarg.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/global.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/multiple_callbacks.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/openmp_parallel_for.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/pthreads.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/remove-call-inst.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/return-constants.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/thread_local_acs.ll
    M llvm/test/Transforms/Attributor/address_space_info.ll
    M llvm/test/Transforms/Attributor/allocator.ll
    M llvm/test/Transforms/Attributor/callbacks.ll
    M llvm/test/Transforms/Attributor/callgraph.ll
    M llvm/test/Transforms/Attributor/convergent.ll
    M llvm/test/Transforms/Attributor/depgraph.ll
    M llvm/test/Transforms/Attributor/dereferenceable-1.ll
    M llvm/test/Transforms/Attributor/heap_to_stack.ll
    M llvm/test/Transforms/Attributor/heap_to_stack_gpu.ll
    M llvm/test/Transforms/Attributor/liveness.ll
    M llvm/test/Transforms/Attributor/memory_locations.ll
    M llvm/test/Transforms/Attributor/memory_locations_gpu.ll
    M llvm/test/Transforms/Attributor/misc_crash.ll
    M llvm/test/Transforms/Attributor/new_attributes.ll
    M llvm/test/Transforms/Attributor/noalias.ll
    M llvm/test/Transforms/Attributor/nocapture-1.ll
    M llvm/test/Transforms/Attributor/nofpclass.ll
    M llvm/test/Transforms/Attributor/nofree.ll
    M llvm/test/Transforms/Attributor/nonnull.ll
    M llvm/test/Transforms/Attributor/norecurse.ll
    M llvm/test/Transforms/Attributor/noreturn_async.ll
    M llvm/test/Transforms/Attributor/noreturn_sync.ll
    M llvm/test/Transforms/Attributor/nosync.ll
    M llvm/test/Transforms/Attributor/noundef.ll
    M llvm/test/Transforms/Attributor/nounwind.ll
    M llvm/test/Transforms/Attributor/openmp_parallel.ll
    M llvm/test/Transforms/Attributor/potential.ll
    M llvm/test/Transforms/Attributor/range.ll
    M llvm/test/Transforms/Attributor/readattrs.ll
    M llvm/test/Transforms/Attributor/reduced/aa_execution_domain_wrong_fn.ll
    M llvm/test/Transforms/Attributor/reduced/missed_cached_entry_for_intra_reachability.ll
    M llvm/test/Transforms/Attributor/reduced/openmp_opt_global_read.ll
    M llvm/test/Transforms/Attributor/reduced/openmp_opt_global_synced.ll
    M llvm/test/Transforms/Attributor/reduced/pred_iterator_crash.ll
    M llvm/test/Transforms/Attributor/returned.ll
    M llvm/test/Transforms/Attributor/undefined_behavior.ll
    M llvm/test/Transforms/Attributor/value-simplify-assume.ll
    M llvm/test/Transforms/Attributor/value-simplify-dbg.ll
    M llvm/test/Transforms/Attributor/value-simplify-dominance.ll
    M llvm/test/Transforms/Attributor/value-simplify-gpu.ll
    M llvm/test/Transforms/Attributor/value-simplify-instances.ll
    M llvm/test/Transforms/Attributor/value-simplify-pointer-info-struct.ll
    M llvm/test/Transforms/Attributor/value-simplify-reachability.ll
    M llvm/test/Transforms/Attributor/value-simplify.ll
    M llvm/test/Transforms/Attributor/willreturn.ll
    M llvm/test/Transforms/CallSiteSplitting/callsite-split-debug.ll
    M llvm/test/Transforms/CodeGenPrepare/ARM/branch-on-zero.ll
    A llvm/test/Transforms/CodeGenPrepare/RISCV/convert-to-eqz.ll
    A llvm/test/Transforms/CodeGenPrepare/RISCV/noop-copy-sink.ll
    M llvm/test/Transforms/Coroutines/coro-split-musttail10.ll
    R llvm/test/Transforms/Coroutines/coro-split-musttail11.ll
    M llvm/test/Transforms/FunctionSpecialization/discover-transitive-phis.ll
    M llvm/test/Transforms/FunctionSpecialization/global-var-constants.ll
    M llvm/test/Transforms/FunctionSpecialization/literal-const.ll
    A llvm/test/Transforms/GlobalOpt/atexit-dtor.ll
    M llvm/test/Transforms/GlobalOpt/basictest.ll
    M llvm/test/Transforms/GlobalOpt/constantfold-initializers.ll
    M llvm/test/Transforms/GlobalOpt/stored-once-forward-value.ll
    M llvm/test/Transforms/GlobalOpt/tls.ll
    A llvm/test/Transforms/HipStdPar/global-var.ll
    A llvm/test/Transforms/IRCE/pr89959.ll
    M llvm/test/Transforms/InferAddressSpaces/AMDGPU/basic.ll
    M llvm/test/Transforms/Inline/AMDGPU/inline-atomicrmw-md-preserve.ll
    M llvm/test/Transforms/Inline/access-attributes-prop.ll
    M llvm/test/Transforms/Inline/inline-deferred-instsimplify.ll
    A llvm/test/Transforms/Inline/inline-drop-attributes.ll
    M llvm/test/Transforms/Inline/noalias-calls-always.ll
    M llvm/test/Transforms/Inline/noalias-calls.ll
    M llvm/test/Transforms/Inline/prof-update-sample-alwaysinline.ll
    M llvm/test/Transforms/Inline/prof-update-sample.ll
    M llvm/test/Transforms/InstCombine/array.ll
    M llvm/test/Transforms/InstCombine/debuginfo-sink.ll
    M llvm/test/Transforms/InstCombine/fneg.ll
    M llvm/test/Transforms/InstCombine/gep-vector.ll
    A llvm/test/Transforms/InstCombine/gepofconstgepi8.ll
    M llvm/test/Transforms/InstCombine/icmp-div-constant.ll
    M llvm/test/Transforms/InstCombine/icmp-gep.ll
    M llvm/test/Transforms/InstCombine/icmp-of-trunc-ext.ll
    M llvm/test/Transforms/InstCombine/mul.ll
    M llvm/test/Transforms/InstCombine/opaque-ptr.ll
    M llvm/test/Transforms/InstCombine/scalable-vector-array.ll
    M llvm/test/Transforms/InstCombine/shift.ll
    M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
    M llvm/test/Transforms/InstCombine/sub.ll
    M llvm/test/Transforms/InstCombine/trunc.ll
    M llvm/test/Transforms/InstCombine/vector-reverse.ll
    M llvm/test/Transforms/InstCombine/vscale_gep.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/gep-constanfolding-error.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/timeout.ll
    M llvm/test/Transforms/InstSimplify/named-vector-shuffle-reverse.ll
    M llvm/test/Transforms/InstSimplify/select.ll
    M llvm/test/Transforms/InterleavedAccess/AArch64/fixed-deinterleave-intrinsics.ll
    M llvm/test/Transforms/InterleavedAccess/AArch64/scalable-deinterleave-intrinsics.ll
    M llvm/test/Transforms/InterleavedAccess/AArch64/sve-interleaved-accesses.ll
    M llvm/test/Transforms/LoopPredication/invalidate-analyses.ll
    M llvm/test/Transforms/LoopRotate/pr35210.ll
    M llvm/test/Transforms/LoopStrengthReduce/pr51329.ll
    M llvm/test/Transforms/LoopUnroll/revisit.ll
    M llvm/test/Transforms/LoopUnroll/shifted-tripcount.ll
    M llvm/test/Transforms/LoopUnroll/unroll-loads-cse.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/first-order-recurrence.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-option.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse-mask4.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
    M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-counting-down.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
    M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
    M llvm/test/Transforms/LoopVectorize/reduction-with-invariant-store.ll
    M llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll
    M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/select-cmp-predicated.ll
    M llvm/test/Transforms/LoopVectorize/select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/select-reduction-start-value-may-be-undef-or-poison.ll
    A llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll
    M llvm/test/Transforms/LowerTypeTests/cfi-nounwind-direct-call.ll
    M llvm/test/Transforms/OpenMP/add_attributes.ll
    M llvm/test/Transforms/OpenMP/always_inline_device.ll
    M llvm/test/Transforms/OpenMP/barrier_removal.ll
    M llvm/test/Transforms/OpenMP/custom_state_machines.ll
    M llvm/test/Transforms/OpenMP/custom_state_machines_pre_lto.ll
    M llvm/test/Transforms/OpenMP/get_hardware_num_threads_in_block_fold.ll
    M llvm/test/Transforms/OpenMP/get_hardware_num_threads_in_block_fold_optnone.ll
    M llvm/test/Transforms/OpenMP/hide_mem_transfer_latency.ll
    M llvm/test/Transforms/OpenMP/icv_tracking.ll
    M llvm/test/Transforms/OpenMP/is_spmd_exec_mode_fold.ll
    M llvm/test/Transforms/OpenMP/keep_rpc_client.ll
    M llvm/test/Transforms/OpenMP/nested_parallelism.ll
    M llvm/test/Transforms/OpenMP/parallel_deletion.ll
    M llvm/test/Transforms/OpenMP/parallel_level_fold.ll
    M llvm/test/Transforms/OpenMP/remove_globalization.ll
    M llvm/test/Transforms/OpenMP/remove_rpc_client.ll
    M llvm/test/Transforms/OpenMP/replace_globalization.ll
    M llvm/test/Transforms/OpenMP/spmdization.ll
    M llvm/test/Transforms/OpenMP/spmdization_assumes.ll
    M llvm/test/Transforms/OpenMP/spmdization_guarding.ll
    M llvm/test/Transforms/OpenMP/spmdization_guarding_two_reaching_kernels.ll
    M llvm/test/Transforms/OpenMP/spmdization_indirect.ll
    M llvm/test/Transforms/OpenMP/spmdization_kernel_env_dep.ll
    M llvm/test/Transforms/OpenMP/spmdization_no_guarding_two_reaching_kernels.ll
    M llvm/test/Transforms/OpenMP/value-simplify-openmp-opt.ll
    A llvm/test/Transforms/PGOProfile/ctx-instrumentation.ll
    A llvm/test/Transforms/PGOProfile/memprof_match_hot_cold_new_calls.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/extra-unroll-simplifications.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/interleavevectorization.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/quant_4x4.ll
    M llvm/test/Transforms/PhaseOrdering/icmp-ashr-breaking-select-idiom.ll
    M llvm/test/Transforms/PhaseOrdering/min_max_loop.ll
    M llvm/test/Transforms/PhaseOrdering/pr32544.ll
    M llvm/test/Transforms/PreISelIntrinsicLowering/X86/load-relative.ll
    M llvm/test/Transforms/PreISelIntrinsicLowering/X86/objc-arc.ll
    M llvm/test/Transforms/Reassociate/undef_intrinsics_when_deleting_instructions.ll
    M llvm/test/Transforms/SCCP/and-add-shl.ll
    M llvm/test/Transforms/SCCP/ip-add-range-to-call.ll
    M llvm/test/Transforms/SCCP/ip-ranges-casts.ll
    M llvm/test/Transforms/SCCP/ipsccp-basic.ll
    M llvm/test/Transforms/SCCP/switch.ll
    M llvm/test/Transforms/SCCP/trunc-nuw-nsw-flags.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/gather-buildvector-with-minbitwidth-user.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/gather-with-minbith-user.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/user-node-not-in-bitwidths.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-reorder-reshuffle.ll
    A llvm/test/Transforms/SLPVectorizer/RISCV/combined-loads-stored.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
    A llvm/test/Transforms/SLPVectorizer/RISCV/minbw-with-and-and-scalar-trunc.ll
    A llvm/test/Transforms/SLPVectorizer/RISCV/shuffled-gather-casted.ll
    A llvm/test/Transforms/SLPVectorizer/RISCV/strided-stores-vectorized.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/trunc-to-large-than-bw.ll
    A llvm/test/Transforms/SLPVectorizer/RISCV/unsigned-icmp-signed-op.ll
    M llvm/test/Transforms/SLPVectorizer/SystemZ/minbitwidth-root-trunc.ll
    M llvm/test/Transforms/SLPVectorizer/X86/addsub.ll
    A llvm/test/Transforms/SLPVectorizer/X86/arith-fp-call.ll
    M llvm/test/Transforms/SLPVectorizer/X86/entries-different-vf.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extract-many-users-buildvector.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extractelement-single-use-many-nodes.ll
    A llvm/test/Transforms/SLPVectorizer/X86/gather-node-same-as-vect-but-order.ll
    A llvm/test/Transforms/SLPVectorizer/X86/gep-with-extractelement-many-users.ll
    M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-node-with-multi-users.ll
    M llvm/test/Transforms/SLPVectorizer/X86/operandorder.ll
    M llvm/test/Transforms/SLPVectorizer/X86/postponed_gathers.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr46983.ll
    M llvm/test/Transforms/SLPVectorizer/X86/replaced-external-in-reduction.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias_external_insert_shuffled.ll
    A llvm/test/Transforms/SLPVectorizer/ext-after-phi-node.ll
    M llvm/test/Transforms/SLPVectorizer/slp-umax-rdx-matcher-crash.ll
    M llvm/test/Transforms/SampleProfile/Inputs/non-probe-stale-profile-matching.prof
    M llvm/test/Transforms/SampleProfile/non-probe-stale-profile-matching.ll
    M llvm/test/Transforms/SampleProfile/pseudo-probe-profile.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/endless-unswitch.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/nontrivial-unswitch-markloopasdeleted.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/partial-unswitch.ll
    M llvm/test/Transforms/SimplifyCFG/UnreachableEliminate.ll
    M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/split-typed-decl.ll
    M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
    M llvm/test/Transforms/VectorCombine/X86/select-shuffle.ll
    M llvm/test/Verifier/invalid-splice.ll
    M llvm/test/lit.site.cfg.py.in
    M llvm/test/tools/dxil-dis/shuffle.ll
    M llvm/test/tools/gold/X86/thinlto.ll
    M llvm/test/tools/llc/new-pm/pipeline.ll
    M llvm/test/tools/llc/new-pm/pipeline.mir
    M llvm/test/tools/llc/new-pm/start-stop.ll
    A llvm/test/tools/llc/new-pm/verify.mir
    M llvm/test/tools/llvm-driver/passthrough-lld.test
    M llvm/test/tools/llvm-dwarfdump/X86/parent_recurse_depth.s
    M llvm/test/tools/llvm-dwarfdump/X86/quiet.s
    M llvm/test/tools/llvm-lto/thinlto.ll
    M llvm/test/tools/llvm-mca/AArch64/HiSilicon/tsv110-forwarding.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-zero-dependency.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveP600/zvbb.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveP600/zvbc.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveP600/zvkg.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveP600/zvkned.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveP600/zvknhb.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveP600/zvksed.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveP600/zvksh.s
    A llvm/test/tools/llvm-mca/X86/BtVer2/skip-unsupported-instructions-none-remain.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/unsupported-instruction.s
    M llvm/test/tools/llvm-objcopy/ELF/dynrelocsec-remove-shinfo-reference.test
    M llvm/test/tools/llvm-objcopy/ELF/dynrelocsec-remove-shlink-reference.test
    A llvm/test/tools/llvm-objcopy/MachO/install-name-tool.test
    M llvm/test/tools/llvm-objdump/ELF/ARM/literal-arm.s
    M llvm/test/tools/llvm-objdump/ELF/ARM/literal-thumb.s
    M llvm/test/tools/llvm-objdump/ELF/ARM/literal-thumb2.s
    M llvm/test/tools/llvm-objdump/ELF/ARM/literal-vldr-arm.s
    M llvm/test/tools/llvm-objdump/ELF/ARM/literal-vldr-thumb2.s
    M llvm/test/tools/llvm-objdump/X86/print-imm-hex.s
    M llvm/test/tools/llvm-pdbutil/Inputs/TypeServerTest.cpp
    M llvm/test/tools/llvm-pdbutil/complex-padding-graphical.test
    M llvm/test/tools/llvm-profgen/Inputs/coff-profile.perfscript
    A llvm/test/tools/llvm-rc/Inputs/dialog-with-menu.rc
    A llvm/test/tools/llvm-rc/dialog-with-menu.test
    M llvm/test/tools/llvm-symbolizer/Inputs/discrim.inp
    M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml
    M llvm/test/tools/lto/discard-value-names.ll
    M llvm/test/tools/obj2yaml/ELF/relr-section.yaml
    M llvm/tools/gold/gold-plugin.cpp
    M llvm/tools/llc/NewPMDriver.cpp
    M llvm/tools/llvm-as/llvm-as.cpp
    M llvm/tools/llvm-cxxmap/llvm-cxxmap.cpp
    M llvm/tools/llvm-dis/llvm-dis.cpp
    M llvm/tools/llvm-driver/CMakeLists.txt
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/SubprocessMemory.cpp
    M llvm/tools/llvm-link/llvm-link.cpp
    M llvm/tools/llvm-lto2/llvm-lto2.cpp
    M llvm/tools/llvm-mca/CodeRegion.h
    M llvm/tools/llvm-mca/llvm-mca.cpp
    M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
    M llvm/tools/llvm-objdump/llvm-objdump.cpp
    M llvm/tools/llvm-rc/ResourceFileWriter.cpp
    M llvm/tools/llvm-rc/ResourceFileWriter.h
    M llvm/tools/llvm-rc/ResourceScriptParser.cpp
    M llvm/tools/llvm-rc/ResourceScriptParser.h
    M llvm/tools/llvm-rc/ResourceScriptStmt.cpp
    M llvm/tools/llvm-rc/ResourceScriptStmt.h
    M llvm/tools/llvm-rc/ResourceVisitor.h
    M llvm/tools/llvm-readtapi/llvm-readtapi.cpp
    M llvm/tools/yaml2obj/yaml2obj.cpp
    M llvm/unittests/ADT/StringRefTest.cpp
    M llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
    M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp
    M llvm/unittests/BinaryFormat/CMakeLists.txt
    M llvm/unittests/BinaryFormat/DwarfTest.cpp
    A llvm/unittests/BinaryFormat/ELFTest.cpp
    M llvm/unittests/CodeGen/GlobalISel/CMakeLists.txt
    A llvm/unittests/CodeGen/GlobalISel/GIMatchTableExecutorTest.cpp
    M llvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp
    M llvm/unittests/CodeGen/PassManagerTest.cpp
    M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/ObjectLinkingLayerTest.cpp
    M llvm/unittests/Frontend/OpenMPCompositionTest.cpp
    M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
    M llvm/unittests/IR/DebugInfoTest.cpp
    M llvm/unittests/IR/IRBuilderTest.cpp
    M llvm/unittests/IR/InstructionsTest.cpp
    M llvm/unittests/IR/IntrinsicsTest.cpp
    M llvm/unittests/IR/PatternMatch.cpp
    M llvm/unittests/IR/VPIntrinsicTest.cpp
    M llvm/unittests/IR/ValueTest.cpp
    M llvm/unittests/MIR/CMakeLists.txt
    R llvm/unittests/MIR/PassBuilderCallbacksTest.cpp
    M llvm/unittests/Object/ELFObjectFileTest.cpp
    M llvm/unittests/ProfileData/InstrProfTest.cpp
    M llvm/unittests/ProfileData/MemProfTest.cpp
    M llvm/unittests/Support/YAMLIOTest.cpp
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
    M llvm/unittests/TargetParser/TargetParserTest.cpp
    M llvm/unittests/TargetParser/TripleTest.cpp
    M llvm/unittests/Transforms/Utils/CloningTest.cpp
    M llvm/unittests/Transforms/Utils/LocalTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
    M llvm/utils/LLVMVisualizers/llvm.natvis
    M llvm/utils/TableGen/ARMTargetDefEmitter.cpp
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
    M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
    M llvm/utils/TableGen/DXILEmitter.cpp
    M llvm/utils/TableGen/GlobalISelEmitter.cpp
    M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
    M llvm/utils/TableGen/RegisterInfoEmitter.cpp
    M llvm/utils/emacs/llvm-mir-mode.el
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/modernize/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/readability/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/test/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
    A llvm/utils/gn/secondary/lldb/include/lldb/API/BUILD.gn
    M llvm/utils/gn/secondary/lldb/source/API/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/Hexagon/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/WebAssembly/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Transforms/Instrumentation/BUILD.gn
    M llvm/utils/gn/secondary/llvm/test/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/BinaryFormat/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/CodeGen/GlobalISel/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/MIR/BUILD.gn
    M llvm/utils/lit/lit/builtin_commands/cat.py
    M llvm/utils/lit/lit/llvm/config.py
    M llvm/utils/release/test-release.sh
    M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
    M mlir/include/mlir/Dialect/Arith/Utils/Utils.h
    M mlir/include/mlir/Dialect/GPU/Transforms/Passes.td
    M mlir/include/mlir/Dialect/IRDL/IRDLVerifiers.h
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/include/mlir/Dialect/LLVMIR/VCIXOps.td
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgEnums.td
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
    A mlir/include/mlir/Dialect/Linalg/Transforms/RuntimeOpVerification.h
    M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
    M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.h
    M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensor.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
    M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/include/mlir/Dialect/Transform/CMakeLists.txt
    M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
    A mlir/include/mlir/Dialect/Transform/IRDLExtension/CMakeLists.txt
    A mlir/include/mlir/Dialect/Transform/IRDLExtension/IRDLExtension.h
    A mlir/include/mlir/Dialect/Transform/IRDLExtension/IRDLExtensionOps.h
    A mlir/include/mlir/Dialect/Transform/IRDLExtension/IRDLExtensionOps.td
    M mlir/include/mlir/Dialect/Transform/Interfaces/TransformInterfaces.h
    M mlir/include/mlir/Dialect/Transform/PDLExtension/PDLExtension.h
    R mlir/include/mlir/Dialect/Transform/Transforms/TransformInterpreterPassBase.h
    M mlir/include/mlir/Dialect/Utils/ReshapeOpsUtils.h
    M mlir/include/mlir/Dialect/Utils/StaticValueUtils.h
    M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
    M mlir/include/mlir/IR/Attributes.h
    M mlir/include/mlir/IR/BuiltinLocationAttributes.td
    M mlir/include/mlir/IR/Location.h
    M mlir/include/mlir/IR/OperationSupport.h
    M mlir/include/mlir/IR/Types.h
    M mlir/include/mlir/IR/Value.h
    M mlir/include/mlir/InitAllDialects.h
    M mlir/include/mlir/InitAllExtensions.h
    M mlir/include/mlir/Interfaces/RuntimeVerifiableOpInterface.td
    M mlir/include/mlir/Tools/PDLL/AST/Nodes.h
    M mlir/include/mlir/Tools/PDLL/AST/Types.h
    M mlir/include/mlir/Tools/lsp-server-support/Transport.h
    M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
    M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
    M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
    M mlir/lib/Dialect/Arith/Transforms/ExpandOps.cpp
    M mlir/lib/Dialect/Arith/Utils/CMakeLists.txt
    M mlir/lib/Dialect/Arith/Utils/Utils.cpp
    M mlir/lib/Dialect/ArmSME/Transforms/OuterProductFusion.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp
    M mlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp
    M mlir/lib/Dialect/GPU/Transforms/ModuleToBinary.cpp
    M mlir/lib/Dialect/IRDL/IRDLLoading.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Linalg/Transforms/ConvertConv2DToImg2Col.cpp
    M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
    M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
    A mlir/lib/Dialect/Linalg/Transforms/RuntimeOpVerification.cpp
    M mlir/lib/Dialect/Linalg/Transforms/SplitReduction.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp
    M mlir/lib/Dialect/MemRef/Transforms/ExpandStridedMetadata.cpp
    M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Dialect/Polynomial/IR/CMakeLists.txt
    M mlir/lib/Dialect/Polynomial/IR/PolynomialAttributes.cpp
    M mlir/lib/Dialect/Polynomial/IR/PolynomialDialect.cpp
    M mlir/lib/Dialect/Polynomial/IR/PolynomialOps.cpp
    M mlir/lib/Dialect/SparseTensor/IR/CMakeLists.txt
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.h
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.h
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.h
    M mlir/lib/Dialect/SparseTensor/Utils/Merger.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
    M mlir/lib/Dialect/Tensor/Transforms/PackAndUnpackPatterns.cpp
    M mlir/lib/Dialect/Tosa/IR/ShardingInterfaceImpl.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaMakeBroadcastable.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
    M mlir/lib/Dialect/Transform/CMakeLists.txt
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
    A mlir/lib/Dialect/Transform/IRDLExtension/CMakeLists.txt
    A mlir/lib/Dialect/Transform/IRDLExtension/IRDLExtension.cpp
    A mlir/lib/Dialect/Transform/IRDLExtension/IRDLExtensionOps.cpp
    M mlir/lib/Dialect/Transform/Interfaces/TransformInterfaces.cpp
    M mlir/lib/Dialect/Transform/Transforms/CMakeLists.txt
    R mlir/lib/Dialect/Transform/Transforms/TransformInterpreterPassBase.cpp
    M mlir/lib/Dialect/Utils/ReshapeOpsUtils.cpp
    M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorMultiReduction.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
    M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
    M mlir/lib/Interfaces/RuntimeVerifiableOpInterface.cpp
    M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/lib/Tools/PDLL/AST/Types.cpp
    M mlir/lib/Tools/PDLL/CodeGen/MLIRGen.cpp
    M mlir/lib/Tools/PDLL/Parser/Parser.cpp
    M mlir/lib/Tools/lsp-server-support/Transport.cpp
    M mlir/lib/Tools/mlir-pdll-lsp-server/PDLLServer.cpp
    M mlir/python/mlir/dialects/linalg/opdsl/lang/comprehension.py
    M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
    A mlir/test/Conversion/ArithToEmitC/arith-to-emitc-unsupported.mlir
    M mlir/test/Conversion/ArithToEmitC/arith-to-emitc.mlir
    M mlir/test/Conversion/GPUCommon/transfer_write.mlir
    M mlir/test/Conversion/MemRefToLLVM/expand-then-convert-to-llvm.mlir
    M mlir/test/Conversion/MemRefToLLVM/memref-to-llvm.mlir
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
    M mlir/test/Conversion/TosaToTensor/tosa-to-tensor.mlir
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
    M mlir/test/Dialect/Arith/canonicalize.mlir
    M mlir/test/Dialect/Arith/expand-ops.mlir
    M mlir/test/Dialect/ArmSME/outer-product-fusion.mlir
    A mlir/test/Dialect/ArmSME/tile-allocation-liveness.mlir
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-empty-tensor-elimination.mlir
    M mlir/test/Dialect/GPU/outlining.mlir
    M mlir/test/Dialect/LLVMIR/constant-folding.mlir
    M mlir/test/Dialect/LLVMIR/invalid.mlir
    M mlir/test/Dialect/LLVMIR/roundtrip.mlir
    M mlir/test/Dialect/Linalg/bubble-up-extract-slice-op.mlir
    M mlir/test/Dialect/Linalg/collapse-dim.mlir
    M mlir/test/Dialect/Linalg/convert-conv2d-to-img2col.mlir
    M mlir/test/Dialect/Linalg/data-layout-propagation.mlir
    M mlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir
    M mlir/test/Dialect/Linalg/flatten-elementwise.mlir
    M mlir/test/Dialect/Linalg/fuse-with-reshape-by-collapsing.mlir
    M mlir/test/Dialect/Linalg/fusion-push-reshape.mlir
    M mlir/test/Dialect/Linalg/generalize-named-ops.mlir
    M mlir/test/Dialect/Linalg/match-ops-interpreter.mlir
    M mlir/test/Dialect/Linalg/named-ops-fail.mlir
    M mlir/test/Dialect/Linalg/named-ops.mlir
    M mlir/test/Dialect/Linalg/reshape_control_fusion.mlir
    M mlir/test/Dialect/Linalg/reshape_fusion.mlir
    M mlir/test/Dialect/Linalg/resolve-shaped-type-result-dims.mlir
    A mlir/test/Dialect/Linalg/runtime-verification.mlir
    A mlir/test/Dialect/Linalg/transform-op-peel-and-vectorize-conv.mlir
    M mlir/test/Dialect/Linalg/transform-op-split-reduction.mlir
    M mlir/test/Dialect/Linalg/vectorization-with-patterns.mlir
    M mlir/test/Dialect/Linalg/vectorization.mlir
    M mlir/test/Dialect/MemRef/canonicalize.mlir
    M mlir/test/Dialect/MemRef/emulate-narrow-type.mlir
    M mlir/test/Dialect/MemRef/expand-strided-metadata.mlir
    M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
    M mlir/test/Dialect/MemRef/invalid.mlir
    M mlir/test/Dialect/MemRef/normalize-memrefs-ops.mlir
    M mlir/test/Dialect/MemRef/ops.mlir
    M mlir/test/Dialect/MemRef/resolve-dim-ops.mlir
    M mlir/test/Dialect/MemRef/runtime-verification.mlir
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir
    A mlir/test/Dialect/Polynomial/ops.mlir
    A mlir/test/Dialect/Polynomial/ops_errors.mlir
    M mlir/test/Dialect/Polynomial/types.mlir
    M mlir/test/Dialect/Shape/arg_with_shape.mlir
    A mlir/test/Dialect/SparseTensor/binary_valued.mlir
    A mlir/test/Dialect/SparseTensor/fuse_sparse_convert_into_producer.mlir
    A mlir/test/Dialect/SparseTensor/fuse_sparse_pad_with_consumer.mlir
    R mlir/test/Dialect/SparseTensor/no_fold_into_consumer.mlir
    M mlir/test/Dialect/SparseTensor/roundtrip_encoding.mlir
    M mlir/test/Dialect/SparseTensor/sparse_fusion.mlir
    A mlir/test/Dialect/SparseTensor/sparse_matmul_one.mlir
    M mlir/test/Dialect/SparseTensor/sparse_reshape.mlir
    M mlir/test/Dialect/Tensor/bufferize.mlir
    M mlir/test/Dialect/Tensor/canonicalize.mlir
    M mlir/test/Dialect/Tensor/fold-empty-op.mlir
    M mlir/test/Dialect/Tensor/fold-into-pack-and-unpack.mlir
    M mlir/test/Dialect/Tensor/fold-reassociative-reshapes.mlir
    M mlir/test/Dialect/Tensor/invalid.mlir
    M mlir/test/Dialect/Tensor/ops.mlir
    M mlir/test/Dialect/Tensor/simplify-pack-unpack.mlir
    M mlir/test/Dialect/Tosa/constant-op-fold.mlir
    M mlir/test/Dialect/Tosa/ops.mlir
    M mlir/test/Dialect/Transform/foreach-match.mlir
    A mlir/test/Dialect/Transform/irdl.mlir
    M mlir/test/Dialect/Transform/ops-invalid.mlir
    R mlir/test/Dialect/Transform/test-interpreter-external-symbol-decl-and-schedule.mlir
    R mlir/test/Dialect/Transform/test-interpreter-external-symbol-decl-dir.mlir
    R mlir/test/Dialect/Transform/test-interpreter-external-symbol-decl-invalid.mlir
    R mlir/test/Dialect/Transform/test-interpreter-external-symbol-decl.mlir
    R mlir/test/Dialect/Transform/test-interpreter-module-generation.mlir
    R mlir/test/Dialect/Transform/test-interpreter-multiple-top-level-ops.mlir
    R mlir/test/Dialect/Transform/test-repro-dump.mlir
    M mlir/test/Dialect/Vector/vector-multi-reduction-lowering.mlir
    M mlir/test/Dialect/Vector/vector-rewrite-narrow-types.mlir
    A mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/test-expand-tensor.mlir
    A mlir/test/Integration/Dialect/SparseTensor/CPU/padded_sparse_conv_2d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/reshape_dot.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_expand_shape.mlir

  Log Message:
  -----------
  [𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.4

[skip ci]


Compare: https://github.com/llvm/llvm-project/compare/357aad70e07a...9e6c96c1592e

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