[all-commits] [llvm/llvm-project] bef668: [SLP][NFC]Add a test with the incorrect comparison...

Paul Kirth via All-commits all-commits at lists.llvm.org
Mon Apr 29 11:28:05 PDT 2024


  Branch: refs/heads/users/ilovepi/spr/main.llvmnfc-document-clopt-variable-and-fix-typo-1
  Home:   https://github.com/llvm/llvm-project
  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: f53ab85214a1facd092ce97b03f83c43a959f979
      https://github.com/llvm/llvm-project/commit/f53ab85214a1facd092ce97b03f83c43a959f979
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M .ci/generate-buildkite-pipeline-premerge
    M .ci/monolithic-linux.sh
    M .github/CODEOWNERS
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/include/bolt/Utils/NameResolver.h
    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/fragment-lite.s
    M clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.h
    M clang-tools-extra/clang-tidy/readability/AvoidReturnWithVoidValueCheck.cpp
    M clang-tools-extra/clangd/CodeCompletionStrings.cpp
    M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
    M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/env33-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-nullptr.rst
    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
    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/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/cmake/caches/Release.cmake
    M clang/docs/LanguageExtensions.rst
    M clang/docs/LibTooling.rst
    M clang/docs/OpenMPSupport.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/UsersManual.rst
    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/DeclContextInternals.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/LangOptions.h
    A clang/include/clang/Basic/PointerAuthOptions.h
    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/Driver/Options.td
    M clang/include/clang/Sema/DeclSpec.h
    M clang/include/clang/Sema/Lookup.h
    M clang/include/clang/Sema/ParsedAttr.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.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/DeclBase.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprConstant.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/Interp.h
    M clang/lib/AST/Interp/Opcodes.td
    M clang/lib/AST/Interp/Program.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/Analysis/FlowSensitive/ASTOps.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.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/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/Basic/Targets/WebAssembly.cpp
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    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/CGExprScalar.cpp
    M clang/lib/CodeGen/CGLoopInfo.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Headers/cpuid.h
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Sema/DeclSpec.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/SemaAPINotes.cpp
    M clang/lib/Sema/SemaAttr.cpp
    M clang/lib/Sema/SemaChecking.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/SemaInit.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaStmtAttr.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.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/Interp/c.c
    M clang/test/AST/Interp/cxx23.cpp
    M clang/test/AST/Interp/functions.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-template-json-win32-mangler-crash.cpp
    M clang/test/AST/ast-dump-templates.cpp
    A clang/test/Analysis/Checkers/WebKit/call-args-regression-traverse-decl-crash.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args.cpp
    M clang/test/Analysis/Checkers/WebKit/mock-types.h
    M clang/test/Analysis/html_diagnostics/relevant_lines/multifile.c
    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/expr/expr.const/p5-26.cpp
    A clang/test/CXX/stmt.stmt/stmt.return/p6.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/CodeGen/X86/ms-x86-intrinsics.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_fp_reduce.c
    M clang/test/CodeGen/arm-bf16-convert-intrinsics.c
    M clang/test/CodeGen/attr-counted-by.c
    M clang/test/CodeGen/builtins-reduction-math.c
    M clang/test/CodeGen/ms-mixed-ptr-sizes.c
    M clang/test/CodeGenCXX/blocks.cpp
    A clang/test/CodeGenCXX/control-flow-in-stmt-expr.cpp
    M clang/test/CodeGenCXX/mangle.cpp
    M clang/test/CodeGenCXX/pragma-gcc-unroll.cpp
    M clang/test/CodeGenCXX/pragma-unroll.cpp
    A clang/test/CodeGenCoroutines/coro-elide-thinlto.cpp
    A clang/test/CodeGenCoroutines/coro-suspend-cleanups.cpp
    M clang/test/CodeGenObjC/arc-blocks-exceptions.m
    M clang/test/CodeGenObjC/arc-blocks.m
    M clang/test/Driver/aarch64-mcpu.c
    M clang/test/Driver/amdgpu-toolchain.c
    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/hlsl-lang-targets-spirv.hlsl
    M clang/test/Driver/linux-ld.c
    M clang/test/Driver/riscv-arch.c
    M clang/test/Driver/wasm-features.c
    M clang/test/Index/annotate-nested-name-specifier.cpp
    M clang/test/Lexer/cxx-features.cpp
    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/pr88400.cppm
    M clang/test/Parser/cxx1z-decomposition.cpp
    M clang/test/Parser/pragma-unroll.cpp
    M clang/test/ParserOpenACC/parse-cache-construct.cpp
    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
    A clang/test/Sema/constant_builtins_vector.cpp
    M clang/test/Sema/convertvector.c
    M clang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp
    M clang/test/SemaCXX/member-expr.cpp
    M clang/test/SemaCXX/type-traits.cpp
    M clang/test/SemaCXX/unused.cpp
    M clang/test/SemaObjC/format-strings-oslog.m
    M clang/test/SemaOpenCL/vec_step.cl
    M clang/test/SemaTemplate/instantiate-function-1.cpp
    M clang/test/Unit/lit.cfg.py
    M clang/tools/driver/cc1as_main.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/SortIncludesTest.cpp
    M clang/www/cxx_dr_status.html
    M clang/www/cxx_status.html
    M clang/www/make_cxx_dr_status
    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
    M compiler-rt/lib/scudo/standalone/wrappers_c.inc
    M compiler-rt/test/asan/TestCases/Darwin/odr-lto.cpp
    M flang/cmake/modules/AddFlangOffloadRuntime.cmake
    M flang/docs/FlangDriver.md
    M flang/include/flang/Common/visit.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/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/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/Tools/CLOptions.inc
    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/DataSharingProcessor.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/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/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/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/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
    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/Fir/basic-program.fir
    M flang/test/Lower/CUDA/cuda-data-transfer.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/cfg-conversion-omp.private.f90
    A flang/test/Lower/OpenMP/default-clause-implied-do-fix.f90
    M flang/test/Lower/OpenMP/threadprivate-real-logical-complex-derivedtype.f90
    M flang/tools/flang-driver/CMakeLists.txt
    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 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/Cxx2cIssues.csv
    M libcxx/include/__algorithm/find.h
    M libcxx/include/__algorithm/ranges_find.h
    M libcxx/include/__format/escaped_output_table.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/modules/std/ranges.inc
    M libcxx/test/libcxx/transitive_includes/cxx20.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/language.support/support.dynamic/hardware_inference_size.compile.pass.cpp
    M libcxx/test/std/ranges/range.utility/range.utility.conv/to.pass.cpp
    M libcxx/utils/generate_escaped_output_table.py
    M lld/COFF/MinGW.cpp
    M lld/ELF/Arch/RISCV.cpp
    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/wasm/init-fini.ll
    M lldb/bindings/interface/SBValueDocstrings.i
    M lldb/docs/resources/lldbgdbremote.md
    M lldb/docs/resources/lldbplatformpackets.md
    M lldb/include/lldb/API/SBDebugger.h
    M lldb/include/lldb/API/SBValue.h
    M lldb/include/lldb/Utility/ProcessInfo.h
    M lldb/source/API/SBValue.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    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
    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/functionalities/diagnostic_reporting/TestDiagnosticReporting.py
    M lldb/test/API/functionalities/fork/concurrent_vfork/TestConcurrentVFork.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/test/Shell/Unwind/eh-frame-dwarf-unwind-abort.test
    M lldb/tools/lldb-dap/lldb-dap.cpp
    M lldb/unittests/Host/HostTest.cpp
    M llvm/cmake/modules/llvm-driver-template.cpp.in
    M llvm/docs/CommandGuide/llvm-objcopy.rst
    M llvm/docs/ConvergenceAndUniformity.rst
    M llvm/docs/ConvergentOperations.rst
    M llvm/docs/GlobalISel/MIRPatterns.rst
    M llvm/docs/LangRef.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm-c/DebugInfo.h
    M llvm/include/llvm/ADT/StringRef.h
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/include/llvm/BinaryFormat/Dwarf.def
    M llvm/include/llvm/BinaryFormat/Dwarf.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
    M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
    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/PatternMatch.h
    M llvm/include/llvm/Object/ELFObjectFile.h
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/include/llvm/ProfileData/MemProfReader.h
    M llvm/include/llvm/Support/RISCVISAUtils.h
    M llvm/include/llvm/Support/YAMLTraits.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/include/llvm/TargetParser/RISCVISAInfo.h
    M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
    M llvm/include/llvm/Transforms/Scalar/GVN.h
    M llvm/include/llvm/Transforms/Scalar/JumpThreading.h
    M llvm/include/llvm/Transforms/Utils/GlobalStatus.h
    M llvm/include/llvm/Transforms/Utils/Local.h
    M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
    M llvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/BinaryFormat/Dwarf.cpp
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/ComplexDeinterleavingPass.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/Utils.cpp
    M llvm/lib/CodeGen/InterleavedAccessPass.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/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/IR/AutoUpgrade.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/Verifier.cpp
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/MCA/InstrBuilder.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/ProfileData/InstrProfReader.cpp
    M llvm/lib/ProfileData/InstrProfWriter.cpp
    M llvm/lib/Support/SuffixTree.cpp
    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/GISel/AArch64LegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
    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/MCTargetDesc/AMDGPUInstPrinter.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
    M llvm/lib/Target/BPF/BTFDebug.cpp
    M llvm/lib/Target/BPF/BTFDebug.h
    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/HexagonTargetMachine.cpp
    M llvm/lib/Target/LoongArch/LoongArchSubtarget.h
    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/Mips/Mips32r6InstrInfo.td
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/RISCV.td
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    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/RISCVInstrInfoC.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    A llvm/lib/Target/RISCV/RISCVProfiles.td
    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/SystemZISelLowering.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/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86LowerTileCopy.cpp
    M llvm/lib/Target/X86/X86RegisterInfo.cpp
    M llvm/lib/Target/X86/X86Subtarget.h
    M llvm/lib/TargetParser/Host.cpp
    M llvm/lib/TargetParser/RISCVISAInfo.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/InstCombine/InstCombineAddSub.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.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/InstructionCombining.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.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/MemCpyOptimizer.cpp
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    M llvm/lib/Transforms/Utils/CloneFunction.cpp
    M llvm/lib/Transforms/Utils/GlobalStatus.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
    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/VPlanTransforms.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/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
    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/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/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/fixed-vector-deinterleave.ll
    M llvm/test/CodeGen/AArch64/fixed-vector-interleave.ll
    M llvm/test/CodeGen/AArch64/fpmode.ll
    M llvm/test/CodeGen/AArch64/machine-combiner-subadd2.mir
    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-bsl.ll
    M llvm/test/CodeGen/AArch64/sve2-intrinsics-while-reversed.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/div_i128.ll
    M llvm/test/CodeGen/AMDGPU/extra-lds-size.ll
    A llvm/test/CodeGen/AMDGPU/fp_trunc_store_bf16.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/llvm.amdgcn.cvt.fp8.dpp.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.ll
    M llvm/test/CodeGen/AMDGPU/pal-userdata-regs.ll
    M llvm/test/CodeGen/AMDGPU/rem_i128.ll
    M llvm/test/CodeGen/AMDGPU/wave_dispatch_regs.ll
    M llvm/test/CodeGen/ARM/minnum-maxnum-intrinsics.ll
    M llvm/test/CodeGen/BPF/CORE/offset-reloc-basic.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/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
    A llvm/test/CodeGen/Mips/mipsr6-minmaxnum.ll
    M llvm/test/CodeGen/Mips/msa/f16-llvm-ir.ll
    A llvm/test/CodeGen/PowerPC/fminimum-fmaximum-f128.ll
    A llvm/test/CodeGen/PowerPC/fminimum-fmaximum.ll
    A llvm/test/CodeGen/PowerPC/peephole-counter-XToI.mir
    A llvm/test/CodeGen/PowerPC/peephole-counter-perOp.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
    M llvm/test/CodeGen/RISCV/rvv/commutable.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/fpclamptosat_vec.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-reassociations.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-splice.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/select.ll
    A llvm/test/CodeGen/SPIRV/printf.ll
    A llvm/test/CodeGen/SPIRV/transcoding/spirv-event-null.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
    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
    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/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/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/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/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/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-shift-shl-128.ll
    A llvm/test/Instrumentation/MemorySanitizer/vscale.ll
    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/pal-msgpack.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/M68k/data.txt
    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/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
    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/WebAssembly/global-ctor-dtor.ll
    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
    A llvm/test/TableGen/GlobalISelEmitter-frameindex.td
    M llvm/test/TableGen/riscv-target-def.td
    M llvm/test/Transforms/AtomicExpand/AMDGPU/no-expand-atomic-load.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
    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/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/IRCE/pr89959.ll
    M llvm/test/Transforms/InstCombine/array.ll
    M llvm/test/Transforms/InstCombine/icmp-of-trunc-ext.ll
    M llvm/test/Transforms/InstCombine/mul.ll
    M llvm/test/Transforms/InstCombine/sub.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
    A llvm/test/Transforms/LoopUnroll/unroll-remove-redundant-dbg.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-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/riscv-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
    M llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll
    M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.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/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
    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/minbw-with-and-and-scalar-trunc.ll
    A llvm/test/Transforms/SLPVectorizer/RISCV/strided-stores-vectorized.ll
    A llvm/test/Transforms/SLPVectorizer/RISCV/unsigned-icmp-signed-op.ll
    M llvm/test/Transforms/SLPVectorizer/SystemZ/minbitwidth-root-trunc.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/minbitwidth-node-with-multi-users.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr46983.ll
    M llvm/test/Transforms/SampleProfile/pseudo-probe-profile.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/endless-unswitch.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/partial-unswitch.ll
    M llvm/test/Transforms/SimplifyCFG/hoist-dbgvalue-inlined.ll
    M llvm/test/Transforms/SimplifyCFG/hoist-dbgvalue.ll
    M llvm/test/Verifier/invalid-splice.ll
    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
    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-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/SubprocessMemory.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-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/unittests/ADT/StringRefTest.cpp
    M llvm/unittests/BinaryFormat/DwarfTest.cpp
    M llvm/unittests/CodeGen/GlobalISel/KnownBitsTest.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/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/gn/secondary/llvm/lib/Target/Hexagon/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/WebAssembly/BUILD.gn
    M llvm/utils/release/test-release.sh
    M mlir/include/mlir/Dialect/GPU/Transforms/Passes.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.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
    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/Vector/Utils/VectorUtils.h
    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/include/mlir/Tools/lsp-server-support/Transport.h
    M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
    M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
    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/Linalg/IR/LinalgOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp
    M mlir/lib/Dialect/MemRef/Transforms/ExpandStridedMetadata.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/Transforms/SparseTensorRewriting.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.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/Tensor/IR/TensorOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
    M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
    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
    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/Conversion/VectorToLLVM/vector-to-llvm.mlir
    M mlir/test/Dialect/Arith/canonicalize.mlir
    M mlir/test/Dialect/ArmSME/outer-product-fusion.mlir
    M mlir/test/Dialect/GPU/outlining.mlir
    M mlir/test/Dialect/LLVMIR/invalid.mlir
    M mlir/test/Dialect/LLVMIR/roundtrip.mlir
    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
    M mlir/test/Dialect/MemRef/emulate-narrow-type.mlir
    M mlir/test/Dialect/MemRef/expand-strided-metadata.mlir
    A mlir/test/Dialect/Polynomial/ops.mlir
    A mlir/test/Dialect/Polynomial/ops_errors.mlir
    M mlir/test/Dialect/Polynomial/types.mlir
    A mlir/test/Dialect/SparseTensor/fuse_sparse_convert_into_producer.mlir
    R mlir/test/Dialect/SparseTensor/no_fold_into_consumer.mlir
    M mlir/test/Dialect/Tensor/canonicalize.mlir
    M mlir/unittests/Tools/lsp-server-support/Transport.cpp
    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/plugins-nextgen/host/CMakeLists.txt
    M offload/src/CMakeLists.txt
    M offload/src/PluginManager.cpp
    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
    M openmp/runtime/src/kmp_affinity.cpp
    M openmp/runtime/src/kmp_affinity.h
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
    M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.4

[skip ci]


Compare: https://github.com/llvm/llvm-project/compare/4bdaf60f8fb0...f53ab85214a1

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