[all-commits] [llvm/llvm-project] c33922: [lldb] Use operator==(StringRef, StringRef) instea...

Amir Ayupov via All-commits all-commits at lists.llvm.org
Thu May 23 19:12:47 PDT 2024


  Branch: refs/heads/users/aaupov/spr/boltbat-add-entries-for-deleted-basic-blocks
  Home:   https://github.com/llvm/llvm-project
  Commit: c33922666ce219fd6cb3341c3394f72050599552
      https://github.com/llvm/llvm-project/commit/c33922666ce219fd6cb3341c3394f72050599552
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M lldb/source/Commands/CommandObjectThread.cpp
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Expression/IRExecutionUnit.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
    M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
    M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
    M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Target/PathMappingList.cpp

  Log Message:
  -----------
  [lldb] Use operator==(StringRef, StringRef) instead of StringRef::equals (NFC) (#92476)

Note that StringRef::equals has been deprecated in favor of
operator==(StringRef, StringRef).


  Commit: 5d8354c009d5625fa140be47de1f91275f4698d3
      https://github.com/llvm/llvm-project/commit/5d8354c009d5625fa140be47de1f91275f4698d3
  Author: harishch4 <harishcse44 at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M flang/lib/Lower/DirectivesCommon.h
    M flang/test/Lower/OpenMP/atomic-write.f90

  Log Message:
  -----------
  [Flang][OpenMP]Missing convert to lhsType in atomic write (#92346)

Fixes test.f90 in #83144.

This issue is observed only when a boolean constant is assigned to a
logical variable. In non-openmp flow, a conversion op is inserted before
assigning it to a logical variable. This patch will insert a fir.convert
operation when the types are not the same, before generating the atomic
write operation.

I've proposed another patch(#85059 ) which removes checks at MLIR level
and looks like it's too permissive. I'm planning to abandon this patch
and address it here.


  Commit: d395b56a52e9809ec3ea1139f5b30698c9f4e247
      https://github.com/llvm/llvm-project/commit/d395b56a52e9809ec3ea1139f5b30698c9f4e247
  Author: Pavel Samolysov <samolisov at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/aarch64.h
    M llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp
    M llvm/test/ExecutionEngine/JITLink/AArch64/ELF_relocations.s

  Log Message:
  -----------
  [JITLink][AArch64] Implement R_AARCH64_LDR_PREL_LO19 (#82172)

This relocation is used for the 32-bit aligned 21-bit immediate in LDR
Literal instructions.


  Commit: aaa8a8000009890b79effb0d0f3c6f989a3d5563
      https://github.com/llvm/llvm-project/commit/aaa8a8000009890b79effb0d0f3c6f989a3d5563
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

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

  Log Message:
  -----------
  [CodeGen] Use operator==(StringRef, StringRef) (NFC)

The LHS and RHS are of SmallString and StringRef, respectively.  We
can safely use operator==(StringRef, SringRef) with one implicit
conversion from SmallString to StringRef.


  Commit: a26fbf36a78a703be2da0744131a8d6ecbdb7c67
      https://github.com/llvm/llvm-project/commit/a26fbf36a78a703be2da0744131a8d6ecbdb7c67
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

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

  Log Message:
  -----------
  [Sema] Use SmallString::empty (NFC)


  Commit: f4066fa2dd21c65bf0e24a479634c9a2d276cf8e
      https://github.com/llvm/llvm-project/commit/f4066fa2dd21c65bf0e24a479634c9a2d276cf8e
  Author: Serge Pavlov <sepavloff at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/include/clang/Lex/LiteralSupport.h
    M clang/lib/Lex/LiteralSupport.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/AST/const-fpfeatures.c
    M clang/test/AST/const-fpfeatures.cpp

  Log Message:
  -----------
  [clang] Use constant rounding mode for floating literals (#90877)

Conversion of floating-point literal to binary representation must be
made using constant rounding mode, which can be changed using pragma
FENV_ROUND. For example, the literal "0.1F" should be representes by
either 0.099999994 or 0.100000001 depending on the rounding direction.


  Commit: 14030d71693b046784ff19cc157074e4db23e74f
      https://github.com/llvm/llvm-project/commit/14030d71693b046784ff19cc157074e4db23e74f
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPContext.cpp
    M llvm/lib/Object/MachOObjectFile.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.cpp

  Log Message:
  -----------
  [llvm] Drop explicit conversions of string literals to StringRef (NFC)

We routinely rely on implicit conversions of string literals to
StringRef so that we can use operator==(StringRef, StringRef).


  Commit: f71749c5ef8667e3fc23820e8e94864653ea9ac9
      https://github.com/llvm/llvm-project/commit/f71749c5ef8667e3fc23820e8e94864653ea9ac9
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/lib/Analysis/ThreadSafetyCommon.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Serialization/ASTWriter.cpp

  Log Message:
  -----------
  [clang] Drop explicit conversions of string literals to StringRef (NFC)

We routinely rely on implicit conversions of string literals to
StringRef so that we can use operator==(StringRef, StringRef).

The LHS here are all known to be of StringRef.


  Commit: 9bffe790499e99a4110a33988100ba45835e905e
      https://github.com/llvm/llvm-project/commit/9bffe790499e99a4110a33988100ba45835e905e
  Author: Thorsten Schütt <schuett at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir

  Log Message:
  -----------
  [GlobalIsel] Speedup select to integer min/max (#92378)

https://github.com/llvm/llvm-project/issues/92309


  Commit: bc9823cf60bf91cc8b45248c4205cd2c67b2a3d5
      https://github.com/llvm/llvm-project/commit/bc9823cf60bf91cc8b45248c4205cd2c67b2a3d5
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/bfloat.ll

  Log Message:
  -----------
  [X86][BF16] Change MVT to EVT in combineFP_EXTEND

Fixes: #92471


  Commit: f43deca2538b717f5669ce8116cc4c040bde87c8
      https://github.com/llvm/llvm-project/commit/f43deca2538b717f5669ce8116cc4c040bde87c8
  Author: Johannes Reifferscheid <jreiffers at google.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
    M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir

  Log Message:
  -----------
  Fix Tan inaccuracies on extreme complex inputs. (#92443)

Specifically, those with small/large absolute values. This ports
https://github.com/openxla/xla/pull/10525 and was verified with XLA's
test suite.


  Commit: 5b7088c3619e95eaa8e154765470ddb4d3859fa4
      https://github.com/llvm/llvm-project/commit/5b7088c3619e95eaa8e154765470ddb4d3859fa4
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Analysis/TargetLibraryInfo.cpp

  Log Message:
  -----------
  TargetLibraryInfo: Assume no libcalls in the default constructor (#92400)

The only tricky point here is PlaceSafepoints has an awful hack where
it's creating a legacy PassManager inside it's runImpl, which was not
propagating the incoming TLI. This means there's an implicit bug fix,
where PlaceSafepoints would have been treating too many calls as
builtins.

I'm trying to delete the default constructor altogether, but this seems
to be more difficult.


  Commit: 37d00635c4ff1b656a49635e826aeff8063dc1e8
      https://github.com/llvm/llvm-project/commit/37d00635c4ff1b656a49635e826aeff8063dc1e8
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    A llvm/test/CodeGen/SPIRV/phi-insert-point.ll

  Log Message:
  -----------
  [SPIR-V] Ensure that internal intrinsic functions for PHI's operand are inserted at the correct positions (#92316)

This PR is to ensure that internal intrinsic functions for PHI's operand
are inserted at the correct positions and don't break rules of
instruction domination and PHI nodes grouping at top of basic block.


  Commit: e0a293d12f3fe1c2a284e2e116cfa77d894da49f
      https://github.com/llvm/llvm-project/commit/e0a293d12f3fe1c2a284e2e116cfa77d894da49f
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp

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

This patch fixes:

  mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp:964:26:
  error: missing 'typename' prior to dependent type name Op::Adaptor;
  implicit 'typename' is a C++20 extension
  [-Werror,-Wc++20-extensions]


  Commit: b27eb0ae8280675fc8fb249d39f1ccafa3ee2187
      https://github.com/llvm/llvm-project/commit/b27eb0ae8280675fc8fb249d39f1ccafa3ee2187
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M lldb/test/API/functionalities/completion/TestCompletion.py

  Log Message:
  -----------
  [lldb] Avoid modifying the source tree in TestCompletion.py

This was a side-effect of the "optimization" in #92281. Deoptimize the
code slightly.


  Commit: c4bac7f7dcd931a5e561604e95656a24c3d1c9d9
      https://github.com/llvm/llvm-project/commit/c4bac7f7dcd931a5e561604e95656a24c3d1c9d9
  Author: CarolineConcatto <caroline.concatto at arm.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-ld1.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-ldnt1.ll
    A llvm/test/CodeGen/AArch64/sve-callee-save-restore-pairs.ll

  Log Message:
  -----------
  [LLVM][AArch64]Use load/store with consecutive registers in SME2 or S… (#77665)

…VE2.1 for spill/fill

When possible the spill/fill register in Frame Lowering uses the ld/st
consecutive pairs available in sme or sve2.1.


  Commit: 5a20a07fce88d54cf01cafde489bfc2fc447acc0
      https://github.com/llvm/llvm-project/commit/5a20a07fce88d54cf01cafde489bfc2fc447acc0
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

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

  Log Message:
  -----------
  [AArch64] Fix -Wunused-variable in AArch64FrameLowering.cpp (NFC)

llvm-project/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:3084:31:
error: unused variable 'Subtarget' [-Werror,-Wunused-variable]
      const AArch64Subtarget &Subtarget = MF.getSubtarget<AArch64Subtarget>();
                              ^
llvm-project/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:3253:31:
error: unused variable 'Subtarget' [-Werror,-Wunused-variable]
      const AArch64Subtarget &Subtarget = MF.getSubtarget<AArch64Subtarget>();
                              ^
2 errors generated.


  Commit: ee54c86ef70d7809e7d67cd44de2d3153b31c46e
      https://github.com/llvm/llvm-project/commit/ee54c86ef70d7809e7d67cd44de2d3153b31c46e
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/include/clang/Basic/SourceManager.h
    M clang/lib/Basic/SourceManager.cpp

  Log Message:
  -----------
  [clang][NFC] Improve const-correctness in `SourceManager` (#92436)

This patch adds several const-qualified variants of existing member
functions to `SourceManager`.
I started with removing const qualification from
`setNumCreatedFIDsForFileID`, and removing `const_cast` in the body of
this function, as I think it doesn't make sense to const-qualify
setters.


  Commit: 33bf08ec36efc2fc2df8217eddd751cef9bc6be6
      https://github.com/llvm/llvm-project/commit/33bf08ec36efc2fc2df8217eddd751cef9bc6be6
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    A lldb/test/API/tools/lldb-dap/repl-mode/Makefile
    A lldb/test/API/tools/lldb-dap/repl-mode/TestDAP_repl_mode_detection.py
    A lldb/test/API/tools/lldb-dap/repl-mode/main.cpp
    M lldb/tools/lldb-dap/DAP.cpp

  Log Message:
  -----------
  [lldb-dap] Correctly detect alias commands with arguments in repl (#92137)

ResolveCommand will not succeed for an alias command with arguments, and
the code wasn't providing any. Replace that with explicit query(ies) for
the existence of a command with the given name.


  Commit: 7a6747939218efbe3b1d2cc0f896dfa97c0ff40f
      https://github.com/llvm/llvm-project/commit/7a6747939218efbe3b1d2cc0f896dfa97c0ff40f
  Author: Daniel Grumberg <dgrumberg at apple.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    M clang/test/ExtractAPI/class_template.cpp
    M clang/test/ExtractAPI/class_template_param_inheritance.cpp
    M clang/test/ExtractAPI/class_template_partial_spec.cpp
    M clang/test/ExtractAPI/class_template_spec.cpp
    M clang/test/ExtractAPI/concept.cpp
    M clang/test/ExtractAPI/field_template.cpp
    M clang/test/ExtractAPI/global_func_template.cpp
    M clang/test/ExtractAPI/global_func_template_spec.cpp
    M clang/test/ExtractAPI/global_var_template.cpp
    M clang/test/ExtractAPI/global_var_template_partial_spec.cpp
    M clang/test/ExtractAPI/global_var_template_spec.cpp
    M clang/test/ExtractAPI/method_template.cpp
    M clang/test/ExtractAPI/method_template_spec.cpp
    A clang/test/ExtractAPI/non_type_template.cpp

  Log Message:
  -----------
  [clang][ExtractAPI] Correctly generate declaration fragments for non-type template parameters (#91958)

Previously we only generated declaration fragments for template type
parameters/arguments, this adds supports for most other possible
template parameters/arguments.

rdar://127732598


  Commit: b6fa78d54cf761b232b00222a39fbfe974cb8a16
      https://github.com/llvm/llvm-project/commit/b6fa78d54cf761b232b00222a39fbfe974cb8a16
  Author: Ramkumar Ramachandra <r at artagnon.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

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

  Log Message:
  -----------
  [LAA] refactor sortPtrAccesses (NFC) (#92256)

Use the destructuring syntax in C++ and llvm::enumerate to make
sortPtrAccesses a little more readable.


  Commit: 2ed8ff3bf84e682b7c6ae9ad6370db629166653c
      https://github.com/llvm/llvm-project/commit/2ed8ff3bf84e682b7c6ae9ad6370db629166653c
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/docs/SPIRVUsage.rst
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_variable_length_array/builtin_alloca.ll

  Log Message:
  -----------
  [SPIR-V] Fix types of internal intrinsic functions and add a test case for __builtin_alloca() (#92265)

This PR generation of argument types of internal intrinsic functions
`spv_const_composite` and `spv_track_constant`, so that composite
constants of ConstantVector type preserve their correct type in
transformation passes and can be successfully used further by LLVM
intrinsic functions.

The added test case serves two purposes: it is to check the above
mentioned fix and to demonstrate that a call to __builtin_alloca() maps
to instructions from SPV_INTEL_variable_length_array when this extension
is available.


  Commit: e3e06135eb16a1b9d84796a6cbb14cac1c1cf543
      https://github.com/llvm/llvm-project/commit/e3e06135eb16a1b9d84796a6cbb14cac1c1cf543
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    M llvm/test/CodeGen/SPIRV/branching/switch-range-check.ll

  Log Message:
  -----------
  [SPIR-V] Ensure that we don't have a dangling BlockAddress constants after internal intrinsic 'spv_switch' is processed (#92390)

After internal intrinsic 'spv_switch' is processed we need to delete
G_BLOCK_ADDR instructions that were generated to keep track of the
corresponding basic blocks. If we just delete G_BLOCK_ADDR instructions
with BlockAddress operands, this leaves their BasicBlock counterparts in
a "address taken" status. This would make AsmPrinter to generate a
series of unneeded labels of a `"Address of block that was removed by
CodeGen"` kind. This PR is to ensure that we don't have a dangling
BlockAddress constants by zapping the BlockAddress nodes, and only after
that proceed with erasing G_BLOCK_ADDR instructions.

See also https://github.com/llvm/llvm-project/pull/87823 for more
details.


  Commit: 7c16e7d9cd37d7d1162866c5ac29fe4ab2e24a5a
      https://github.com/llvm/llvm-project/commit/7c16e7d9cd37d7d1162866c5ac29fe4ab2e24a5a
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-05-17 (Fri, 17 May 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/AddAliasTags.cpp

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

I will make this pass run properly on more top-level operations in a
follow up patch.


  Commit: d0e2808f806ece6d2aa8d359a700afab87ded16b
      https://github.com/llvm/llvm-project/commit/d0e2808f806ece6d2aa8d359a700afab87ded16b
  Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
    A llvm/test/Transforms/LoopLoadElim/update-debugloc-store-forwarded.ll

  Log Message:
  -----------
  [DebugInfo][LoopLoadElim] Fix missing debug location updates (#91839)


  Commit: 698cf0176b3146993134354b02c9a67352d9d27e
      https://github.com/llvm/llvm-project/commit/698cf0176b3146993134354b02c9a67352d9d27e
  Author: Johannes Reifferscheid <jreiffers at google.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    A llvm/test/CodeGen/NVPTX/i1-array-global.ll

  Log Message:
  -----------
  Fix i1 array global crash in NVPTXAsmPrinter. (#92506)

See the test file. At head, this crashes with

```
assertion failed at llvm/lib/Support/APInt.cpp:492 in
uint64_t llvm::APInt::extractBitsAsZExtValue(unsigned int, unsigned int) const:
  bitPosition < BitWidth && (numBits + bitPosition) <= BitWidth &&
  "Illegal bit extraction"
```


  Commit: c93b45aaee62700f61ddc366d971bde594459324
      https://github.com/llvm/llvm-project/commit/c93b45aaee62700f61ddc366d971bde594459324
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
    M mlir/test/Conversion/ArmSMEToLLVM/tile-spills-and-fills.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/use-too-many-tiles.mlir

  Log Message:
  -----------
  [mlir][ArmSME] Reword in-memory tile warning (NFC) (#92415)

It did not make sense that this said "all tile operations will go
through memory". Only the operations where the warning is emitted will
go through memory. The message has been updated to reflect that.


  Commit: bbe40b9e0a24605e0526475e643312839772294f
      https://github.com/llvm/llvm-project/commit/bbe40b9e0a24605e0526475e643312839772294f
  Author: Ivan Kosarev <ivan.kosarev at amd.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/MC/MCSectionELF.cpp
    M llvm/test/MC/ELF/section-numeric-invalid-type.s

  Log Message:
  -----------
  [MCAsmStreamer] Do not crash on switching to sections of unknown types (#92380)

MCObjectStreamer already accepts unknown types.


  Commit: 4349ffb3fa268dba180b7c65fdce20a0be60272b
      https://github.com/llvm/llvm-project/commit/4349ffb3fa268dba180b7c65fdce20a0be60272b
  Author: David Green <david.green at arm.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    A llvm/test/CodeGen/AArch64/selectopt-not.ll

  Log Message:
  -----------
  [SelectOpt] Add tests for not select conditions. NFC


  Commit: 37c6b9ff7245a76056ca3363bdef4e593e7e6c9d
      https://github.com/llvm/llvm-project/commit/37c6b9ff7245a76056ca3363bdef4e593e7e6c9d
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/AliasSetTracker.h
    M llvm/include/llvm/Analysis/VectorUtils.h
    M llvm/lib/IR/ConstantFold.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp

  Log Message:
  -----------
  [NFC][LLVM] Mainly whitespace changes.

Also marks AliasSetTracker::size() as const.


  Commit: 58bad2862cf136f9483eb005bbfa6915d459b46d
      https://github.com/llvm/llvm-project/commit/58bad2862cf136f9483eb005bbfa6915d459b46d
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h
    M clang/lib/StaticAnalyzer/Core/CallDescription.cpp
    M clang/unittests/StaticAnalyzer/BugReportInterestingnessTest.cpp
    M clang/unittests/StaticAnalyzer/CallDescriptionTest.cpp
    M clang/unittests/StaticAnalyzer/ConflictingEvalCallsTest.cpp
    M clang/unittests/StaticAnalyzer/FalsePositiveRefutationBRVisitorTest.cpp
    M clang/unittests/StaticAnalyzer/MemRegionDescriptiveNameTest.cpp
    M clang/unittests/StaticAnalyzer/NoStateChangeFuncVisitorTest.cpp

  Log Message:
  -----------
  [analyzer][NFC] Require explicit matching mode for CallDescriptions (#92454)

This commit deletes the "simple" constructor of `CallDescription` which
did not require a `CallDescription::Mode` argument and always used the
"wildcard" mode `CDM::Unspecified`.

A few months ago, this vague matching mode was used by many checkers,
which caused bugs like https://github.com/llvm/llvm-project/issues/81597
and https://github.com/llvm/llvm-project/issues/88181. Since then, my
commits improved the available matching modes and ensured that all
checkers explicitly specify the right matching mode.

After those commits, the only remaining references to the "simple"
constructor were some unit tests; this commit updates them to use an
explicitly specified matching mode (often `CDM::SimpleFunc`).

The mode `CDM::Unspecified` was not deleted in this commit because it's
still a reasonable choice in `GenericTaintChecker` and a few unit tests.


  Commit: ddb87e0f96c7d23b9b824fa9e2710c0fe11bb86b
      https://github.com/llvm/llvm-project/commit/ddb87e0f96c7d23b9b824fa9e2710c0fe11bb86b
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/test/CodeGen/SystemZ/atomicrmw-ops-i128.ll

  Log Message:
  -----------
  SystemZ: Use REG_SEQUENCE for PAIR128 (#90640)

PAIR128 should probably just be removed entirely

Depends #90638


  Commit: 1e7d047c71ce0a8076f774b9106cd7a499a1c542
      https://github.com/llvm/llvm-project/commit/1e7d047c71ce0a8076f774b9106cd7a499a1c542
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/outer_loop_test1.ll

  Log Message:
  -----------
  [VPlan] Mark LoopInfo preserved in native-path as well (NFC).

LoopInfo is updated during VPlan execution now, so it will also be
updated correctly in the native path.


  Commit: ac092925c3fa61144e606c7a9d0d375b96e1abda
      https://github.com/llvm/llvm-project/commit/ac092925c3fa61144e606c7a9d0d375b96e1abda
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/test/CodeGen/AMDGPU/cttz.ll
    M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
    M llvm/test/CodeGen/RISCV/rvv/cttz-vp.ll

  Log Message:
  -----------
  [SelectionDAG] Widen cttz to cttz_zero_undef (#92514)

Instead of widening e.g. i8 cttz(x) to i16 cttz(x | 0x100), use the more
optimizable form cttz_zero_undef(x | 0x100) since the widened operand is
definitely not zero.


  Commit: d1cff36e5e37cd552ec049335feb1dd8f94517ea
      https://github.com/llvm/llvm-project/commit/d1cff36e5e37cd552ec049335feb1dd8f94517ea
  Author: Andi Drebes <47449897+andidr at users.noreply.github.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/include/mlir/Analysis/DataFlow/SparseAnalysis.h
    M mlir/test/lib/Analysis/DataFlow/TestSparseBackwardDataFlowAnalysis.cpp

  Log Message:
  -----------
  [MLIR][analysis] Lattice: Fix automatic delegation of meet to lattice value classes (#82620)

The class `Lattice` should automatically delegate invocations of the
meet operator to the meet operation of the associated lattice value
class if that class provides a static function called `meet`. This
process fails for two reasons:

1. `Lattice::has_meet` checks for a member function `meet` without
arguments of the lattice value class, although it should check for a
static member function.

2. The function template `Lattice::meet<VT>()` implementing the default
meet operation directly in the lattice is always present and takes
precedence over the delegating function template `Lattice::meet<VT,
std::integral_constant<bool, true>>()`.

This change fixes the automatic delegation of the meet operation of a
lattice to the lattice value class in the presence of a static `meet`
function by conditionally enabling either the delegating function
template or the non-delegating function template and by changing
`Lattice::has_meet` so that it checks for a static `meet` member
function in the lattice value type.

The test from `TestSparseBackwardDataFlowAnalysis.cpp` is changed, such
that the `meet` function is not provided directly in the `WrittenTo`
lattice, but by the `Lattice` base class in order to trigger delegation
to a lattice value class.


  Commit: a2590e0c145c56928a8870d9a6ea76ccbf4fcfeb
      https://github.com/llvm/llvm-project/commit/a2590e0c145c56928a8870d9a6ea76ccbf4fcfeb
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/include/mlir/Transforms/OneToNTypeConversion.h
    M mlir/lib/Dialect/Func/Transforms/OneToNFuncConversions.cpp
    M mlir/lib/Transforms/Utils/OneToNTypeConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms] Make 1:N function conversion pattern interface-based (#92395)

This commit turns the 1:N dialect conversion pattern for function
signatures into a pattern for `FunctionOpInterface`. This is similar to
the interface-based pattern that is provided with the 1:1 dialect
conversion (`populateFunctionOpInterfaceTypeConversionPattern`). No
change in functionality apart from supporting all `FunctionOpInterface`
ops and not just `func::FuncOp`.


  Commit: 98deedae929fce01f0c40d5a55d00e93fb121981
      https://github.com/llvm/llvm-project/commit/98deedae929fce01f0c40d5a55d00e93fb121981
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

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

  Log Message:
  -----------
  [X86][CodeGen] Use switch-case for transform in X86DAGToDAGISel::PostprocessISelDAG, NFCI

This is to simplify code for #91747


  Commit: 0ad275c1588065c9f4ef45a6a88f062182ad446b
      https://github.com/llvm/llvm-project/commit/0ad275c1588065c9f4ef45a6a88f062182ad446b
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/vector-logical-reductions.ll
    M llvm/test/Transforms/InstCombine/vector-reductions.ll

  Log Message:
  -----------
  [InstCombine] Fold vector.reduce.op(vector.reverse(X)) -> vector.reduce.op(X) (#91743)

For all of the following reductions:

vector.reduce.or
vector.reduce.and
vector.reduce.xor
vector.reduce.add
vector.reduce.mul
vector.reduce.umin
vector.reduce.umax
vector.reduce.smin
vector.reduce.smax
vector.reduce.fmin
vector.reduce.fmax

if the input operand is the result of a vector.reverse then we can
perform a reduction on the vector.reverse input instead since the answer
is the same. If the reassociation is permitted we can also do the same
folds for these:

vector.reduce.fadd
vector.reduce.fmul


  Commit: a68d20e986053ec571223a9f3ead3e146a27dc82
      https://github.com/llvm/llvm-project/commit/a68d20e986053ec571223a9f3ead3e146a27dc82
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Parse/ParseTemplate.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/test/CXX/drs/cwg24xx.cpp
    M clang/test/SemaCXX/cxx-deprecated.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang] Implement CWG2428 "Deprecating a concept" (#92295)

This patch allows attributes to be attached to C++20 concepts,
implementing
[CWG2428](https://cplusplus.github.io/CWG/issues/2428.html).


  Commit: 371eccd5dfed88c8e76449233d8388c12be3464b
      https://github.com/llvm/llvm-project/commit/371eccd5dfed88c8e76449233d8388c12be3464b
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang-tools-extra/clang-query/CMakeLists.txt
    M clang-tools-extra/clang-query/Query.cpp
    M clang-tools-extra/clang-query/Query.h
    M clang-tools-extra/clang-query/QueryParser.cpp
    M clang-tools-extra/clang-query/QuerySession.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/unittests/clang-query/QueryParserTest.cpp
    M clang/docs/tools/clang-formatted-files.txt
    R clang/include/clang/Tooling/NodeIntrospection.h
    M clang/lib/Tooling/CMakeLists.txt
    R clang/lib/Tooling/DumpTool/APIData.h
    R clang/lib/Tooling/DumpTool/ASTSrcLocProcessor.cpp
    R clang/lib/Tooling/DumpTool/ASTSrcLocProcessor.h
    R clang/lib/Tooling/DumpTool/CMakeLists.txt
    R clang/lib/Tooling/DumpTool/ClangSrcLocDump.cpp
    R clang/lib/Tooling/DumpTool/generate_cxx_src_locs.py
    R clang/lib/Tooling/EmptyNodeIntrospection.inc.in
    R clang/lib/Tooling/NodeIntrospection.cpp
    M clang/unittests/CMakeLists.txt
    R clang/unittests/Introspection/CMakeLists.txt
    R clang/unittests/Introspection/IntrospectionTest.cpp
    M llvm/utils/gn/secondary/clang/lib/Tooling/BUILD.gn
    R llvm/utils/gn/secondary/clang/lib/Tooling/DumpTool/BUILD.gn
    M llvm/utils/gn/secondary/clang/unittests/BUILD.gn
    R llvm/utils/gn/secondary/clang/unittests/Introspection/BUILD.gn

  Log Message:
  -----------
  [clang-query] Remove support for srcloc output (#92442)

This functionality was added about three years ago, but has been in a
significantly broken state since it was added. It has begun to cause a
maintenance burden for work in Clang (largely due to the complexity of
having two levels of code generation involved), and the original author
is unable to help maintain it. Because it only worked under limited
circumstances and because of the maintenance burden, it is being
removed. If someone wishes to resurrect the functionality, they should
hopefully be able to do so from this one commit.

Fixes #82591


  Commit: f5c8242042c959cbf476778e1d8a874fc8747801
      https://github.com/llvm/llvm-project/commit/f5c8242042c959cbf476778e1d8a874fc8747801
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    A llvm/test/Transforms/InstCombine/pow-to-ldexp.ll
    M llvm/test/Transforms/InstCombine/pow_fp_int.ll
    M llvm/test/Transforms/InstCombine/pow_fp_int16.ll

  Log Message:
  -----------
  SimplifyLibCalls: Prefer to emit intrinsic in pow(2, x) -> ldexp(1, x) (#92363)


  Commit: 3a32590f25482e283a79dea1f313a226a6dd392f
      https://github.com/llvm/llvm-project/commit/3a32590f25482e283a79dea1f313a226a6dd392f
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

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

  Log Message:
  -----------
  [AArch64] Avoid using NEON FCVTXN in Streaming-SVE mode. (#91981)


  Commit: 932ca85680db5e4579306f37e55746097fb8ec7f
      https://github.com/llvm/llvm-project/commit/932ca85680db5e4579306f37e55746097fb8ec7f
  Author: Romaric Jodin <89833130+rjodinchr at users.noreply.github.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/lib/CodeGen/CodeGenFunction.cpp
    A clang/test/CodeGen/clspv_libclc_builtin.c
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    M libclc/generic/include/clc/clcfunc.h

  Log Message:
  -----------
  libclc: remove __attribute__((assume)) for clspv targets (#92126)

Instead add a proper attribute in clang, and add convert it to function
metadata to keep the information in the IR. The goal is to remove the
dependency on __attribute__((assume)) that should have not be there in
the first place.

Ref https://github.com/llvm/llvm-project/pull/84934


  Commit: 9917f3ce641490ff95a11d22e37754a972c05420
      https://github.com/llvm/llvm-project/commit/9917f3ce641490ff95a11d22e37754a972c05420
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_reinterpret_svcount_svbool.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_revd.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfadd.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmax.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmaxnm.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmin.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfminnm.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfsub.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_create2_bool.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_get4_bool.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_undef_bool.c
    M clang/test/Sema/aarch64-sme2-sve2p1-diagnostics.c
    M clang/test/Sema/aarch64-sme2p1-diagnostics.c

  Log Message:
  -----------
  [Clang][AArch64] Require SVE or SSVE for scalable types. (#91356)

Scalable types are only available when:
* The function is compiled with +sve
* The function is compiled with +sme and the function is executed in
Streaming-SVE mode.


  Commit: f39af73f3edcc949bf9dc3535effc59afbcdda22
      https://github.com/llvm/llvm-project/commit/f39af73f3edcc949bf9dc3535effc59afbcdda22
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/Sema/bool-compare.c
    M clang/test/Sema/parentheses.cpp
    M clang/test/SemaCXX/bool-compare.cpp
    M clang/test/SemaCXX/cxx2a-adl-only-template-id.cpp
    M clang/test/SemaTemplate/typo-dependent-name.cpp
    M clang/test/SemaTemplate/typo-template-name.cpp

  Log Message:
  -----------
  [clang][Sema] Warn consecutive builtin comparisons in an expression (#92200)

Add warning under `-Wparentheses` for consistency with `gcc 14.1`.

Closes #20456

---------

Co-authored-by: Aaron Ballman <aaron at aaronballman.com>


  Commit: b1161b2a40d89d4146f6b81fda073a37479edf0f
      https://github.com/llvm/llvm-project/commit/b1161b2a40d89d4146f6b81fda073a37479edf0f
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/test/Semantics/OpenMP/nested-distribute.f90

  Log Message:
  -----------
  [Flang][OpenMP] Fix semantics check for nested DISTRIBUTE (#91592)

Composite OpenMP constructs where DISTRIBUTE is the first leaf
construct, as well as standalone DISTRIBUTE constructs, are allowed
inside of TEAMS regions.

Before this patch, nesting a DISTRIBUTE construct inside of a combined
TARGET TEAMS construct was disallowed, which it shouldn't be. Now both
TEAMS and TARGET TEAMS constructs can be immediate parents of DISTRIBUTE
constructs.


  Commit: a43d2f686a46fd9d971aa65fde4563375e16f3de
      https://github.com/llvm/llvm-project/commit/a43d2f686a46fd9d971aa65fde4563375e16f3de
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.h

  Log Message:
  -----------
  [Flang][OpenMP] NFC: Fix typo in include guard (#91593)


  Commit: 502ccd81c6bcf913d2eddf9ed24496a9a634e808
      https://github.com/llvm/llvm-project/commit/502ccd81c6bcf913d2eddf9ed24496a9a634e808
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp

  Log Message:
  -----------
  [MLIR][OpenMP] NFC: Remove redundant check (#91594)

The check removed by this patch in the OpenMP to LLVM IR translation
pass already exists as part of the op verifier for `omp.loop_nest`.


  Commit: d3d5a30021b8df26ac4b2b01e659ab8487fb4080
      https://github.com/llvm/llvm-project/commit/d3d5a30021b8df26ac4b2b01e659ab8487fb4080
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/include/clang/Parse/Parser.h
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseObjc.cpp
    M clang/lib/Parse/ParseTemplate.cpp
    M clang/lib/Parse/Parser.cpp

  Log Message:
  -----------
  [clang][NFC] Remove `const_cast` from `ParseClassSpecifier`


  Commit: 89b83d2d3f2ae7b806987143167e8ccb79c6d674
      https://github.com/llvm/llvm-project/commit/89b83d2d3f2ae7b806987143167e8ccb79c6d674
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M .github/workflows/issue-release-workflow.yml
    M .github/workflows/issue-subscriber.yml
    M .github/workflows/merged-prs.yml
    M .github/workflows/new-prs.yml
    M .github/workflows/pr-request-release-note.yml
    M .github/workflows/pr-subscriber.yml
    M .github/workflows/release-binaries.yml
    M .github/workflows/version-check.yml
    M llvm/utils/git/requirements.txt

  Log Message:
  -----------
  [git] Add hashes to requirements.txt for extra security (#92305)

https://pip.pypa.io/en/stable/topics/secure-installs/


  Commit: 6677aef28583526c65073bd2406ca1246a41c2a8
      https://github.com/llvm/llvm-project/commit/6677aef28583526c65073bd2406ca1246a41c2a8
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/Sema/SemaTemplate.cpp

  Log Message:
  -----------
  [clang][NFC] Remove const-qualification from `FunctionTemplateSpecializationInfo::TemplateArguments` (#92500)

This patch remove const-qualification from pointee type of
`FunctionTemplateSpecializationInfo::TemplateArguments`, because it's
(eventually) used to initialize `MultiLevelTemplateArgumentList`, which
can actually mutate the arguments via

https://github.com/llvm/llvm-project/blob/f42f57b52dd279e6ae19270d063aeb8d59e3f11c/clang/include/clang/Sema/Template.h#L197-L204
Mutation seems to be required to correctly handle packs:

https://github.com/llvm/llvm-project/blob/9144553207052a868efc5a8ce61a0afbb0eaf236/clang/lib/Sema/SemaTemplateInstantiate.cpp#L1440-L1469


  Commit: a0cc1ab97888ea15647d9dfb82d51aed7f9e446e
      https://github.com/llvm/llvm-project/commit/a0cc1ab97888ea15647d9dfb82d51aed7f9e446e
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
    A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-add-sub-za16.ll

  Log Message:
  -----------
  [AArch64] Add intrinsics for multi-vector to ZA array vector accumulators (#91606)

[Recommit of e88ba6d975d887ca001cae30bfa0c53d91165148]

According to the specification in
https://github.com/ARM-software/acle/pull/309 this adds the intrinsics

void_svadd_za16_vg1x2_f16(uint32_t slice, svfloat16x2_t zn)
__arm_streaming __arm_inout("za");
void_svadd_za16_vg1x4_f16(uint32_t slice, svfloat16x4_t zn)
__arm_streaming __arm_inout("za");
void_svsub_za16_vg1x2_f16(uint32_t slice, svfloat16x2_t zn)
__arm_streaming __arm_inout("za");
void_svsub_za16_vg1x4_f16(uint32_t slice, svfloat16x4_t zn)
__arm_streaming __arm_inout("za");

as well as the corresponding `bf16` variants.


  Commit: fa9881d6a9d0bf3c72754a310c800d424c2db932
      https://github.com/llvm/llvm-project/commit/fa9881d6a9d0bf3c72754a310c800d424c2db932
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/vector-bitreverse.ll

  Log Message:
  -----------
  [X86] vector-bitreverse.ll - add AVX512BW+AVX512VL test coverage


  Commit: c4017cda006c437c8400e280f8473aa65c302b40
      https://github.com/llvm/llvm-project/commit/c4017cda006c437c8400e280f8473aa65c302b40
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M offload/CMakeLists.txt
    M offload/DeviceRTL/CMakeLists.txt
    M offload/cmake/Modules/LibomptargetGetDependencies.cmake
    M offload/cmake/Modules/LibomptargetUtils.cmake
    M offload/plugins-nextgen/CMakeLists.txt
    M offload/plugins-nextgen/amdgpu/CMakeLists.txt
    M offload/plugins-nextgen/common/CMakeLists.txt
    M offload/plugins-nextgen/cuda/CMakeLists.txt
    M offload/src/CMakeLists.txt
    M offload/tools/CMakeLists.txt
    M offload/tools/deviceinfo/CMakeLists.txt
    M offload/tools/kernelreplay/CMakeLists.txt

  Log Message:
  -----------
  [Offload][NFC] Remove header license in CMake files (#92544)

Summary:
No other project has these in the CMake itself, and they're wildly
inconsistent even within the project. These don't really add anything so
I think they should be removed.


  Commit: 8c5e487ee3160cf4d40c0680ed40e4b0a494e956
      https://github.com/llvm/llvm-project/commit/8c5e487ee3160cf4d40c0680ed40e4b0a494e956
  Author: Chris B <chris.bieneman at me.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

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

  Log Message:
  -----------
  [HLSL][CMake] Add clangd and distribution settings (#92011)

This just adds some simple distribution settings and includes clangd in
the build for distribution.


  Commit: 30d0850e0f780b17a37522e6503c98ebe197c5fa
      https://github.com/llvm/llvm-project/commit/30d0850e0f780b17a37522e6503c98ebe197c5fa
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/lib/Parse/ParseCXXInlineMethods.cpp

  Log Message:
  -----------
  [clang][NFC] Improve const-correctness in `ParseLexedMethodDeclaration`


  Commit: 9ba0a7725680fec5e071634f814a9d32ba33e852
      https://github.com/llvm/llvm-project/commit/9ba0a7725680fec5e071634f814a9d32ba33e852
  Author: maxbartel <bartel at roofline.ai>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
    A mlir/test/Conversion/ArithToSPIRV/arith-to-spirv-le-specific.mlir
    M mlir/test/Conversion/ArithToSPIRV/arith-to-spirv-unsupported.mlir

  Log Message:
  -----------
  [mlir][spirv] Add support for dense_resource in arith to spirv (#91318)

This adds support for `dense_resource` in arith to spirv. 

Note that this inlines the blob into the IR. Another possibility would
be to add proper dense_resource support to spirv, but there is a lot of
special handling going on to convert a `DenseElementsAttr` to the
correct SPIRV type. Some of that even iterates over all the values in
the Attribute. For proper support of a `DenseResourceElementsAttr` this
probably needs a redesign. I would like to hear some opinions on that!

The test is disabled on non little Endian machines. See
https://github.com/llvm/llvm-project/issues/63469 for more information.


  Commit: 9b6f0735fbff4e9a51f0c76f5630be649490f6ef
      https://github.com/llvm/llvm-project/commit/9b6f0735fbff4e9a51f0c76f5630be649490f6ef
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

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

  Log Message:
  -----------
  [Support] Drop nop conversions of StringRef to StringRef (NFC)

Both sides here are known to be of StringRef.


  Commit: c0cdc1d9569fdb8e3b672befda80cf90db24e814
      https://github.com/llvm/llvm-project/commit/c0cdc1d9569fdb8e3b672befda80cf90db24e814
  Author: Kelvin Li <kkwli at users.noreply.github.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M flang/test/Transforms/debug-line-table-inc-file.fir
    M flang/test/Transforms/debug-line-table.fir

  Log Message:
  -----------
  [flang] Allow flexible producer name in #di_compile_unit (NFC) (#92462)


  Commit: 84aee95124549c5d13e22053af254e3fcc02bc84
      https://github.com/llvm/llvm-project/commit/84aee95124549c5d13e22053af254e3fcc02bc84
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/include/clang/Lex/Preprocessor.h
    M clang/lib/Lex/PPLexerChange.cpp
    M clang/lib/Lex/PPMacroExpansion.cpp

  Log Message:
  -----------
  [clang][NFC] Remove `const_cast` from `Preprocessor::addModuleMacro()`


  Commit: e919df57770d43217cbd4d05f92de8dc7aac5035
      https://github.com/llvm/llvm-project/commit/e919df57770d43217cbd4d05f92de8dc7aac5035
  Author: Christian Ulmann <christianulmann at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/include/mlir/Transforms/RegionUtils.h
    M mlir/lib/Target/LLVMIR/Dialect/OpenACC/OpenACCToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/lib/Transforms/Mem2Reg.cpp
    M mlir/lib/Transforms/Utils/RegionUtils.cpp

  Log Message:
  -----------
  [MLIR][Transforms] Correct block sorting utils name (NFC) (#92558)

This commit renames the name of the block sorting utility function to
`getBlocksSortedByDominance`. A topological order is not defined on a
general directed graph, so the previous name did not make sense.


  Commit: 9e39a0c723ced1aefdb30cece554356644aac148
      https://github.com/llvm/llvm-project/commit/9e39a0c723ced1aefdb30cece554356644aac148
  Author: Christian Ulmann <christian.ulmann at nextsilicon.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp

  Log Message:
  -----------
  [MLIR][ArmSME] Fix for block sorting refactor

This commit fixes a breakage introduced by changing the name of the
block sorting function.

Related PR: https://github.com/llvm/llvm-project/pull/92558


  Commit: 621d0f3e86ecc46c2df302041777e42dfc10171e
      https://github.com/llvm/llvm-project/commit/621d0f3e86ecc46c2df302041777e42dfc10171e
  Author: Mital Ashok <mital at mitalashok.co.uk>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/test/SemaCXX/cxx2b-deducing-this.cpp

  Log Message:
  -----------
  [Clang][Sema] Fix last argument not being used when comparing function template specializations when one has an explicit object argument (#92263)

Fixes #92188


  Commit: 8aa6511f4209bba33a74c4ef6e208fda5c0f3d27
      https://github.com/llvm/llvm-project/commit/8aa6511f4209bba33a74c4ef6e208fda5c0f3d27
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

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

  Log Message:
  -----------
  [clang][NFC] Remove an unnecessary `const_cast`


  Commit: e01ff8238cf62c7149de7b8046bccec9adefbe67
      https://github.com/llvm/llvm-project/commit/e01ff8238cf62c7149de7b8046bccec9adefbe67
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
    M mlir/test/Dialect/Vector/vector-transfer-collapse-inner-most-dims.mlir

  Log Message:
  -----------
  [mlir][vector] Fix scalability issues in drop innermost unit dims transfer patterns (#92402)

Previously, these rewrites would drop scalable dimensions and treated
`[1]` (scalable one dim) as a unit dimension. This patch propagates
scalable dimensions and ensures `[1]` is not treated as a unit
dimension.


  Commit: d38ea8c4c84be9496249098053599c24b87f1376
      https://github.com/llvm/llvm-project/commit/d38ea8c4c84be9496249098053599c24b87f1376
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M lldb/test/API/tools/lldb-server/attach-wait/TestGdbRemoteAttachWait.py

  Log Message:
  -----------
  [lldb] Fixed the test TestGdbRemoteAttachWait running on a remote target (#92413)

Install `_exe_to_attach` to a remote target if necessary.


  Commit: d90159add4140d6f4994f5767fa6ef31cc28897b
      https://github.com/llvm/llvm-project/commit/d90159add4140d6f4994f5767fa6ef31cc28897b
  Author: Walter Erquinigo <a20012251 at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

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

  Log Message:
  -----------
  [LSP] Use std::string for storing the Reply method (#92464)

This was using a StringRef, which is very unsafe because the method name
might just get disposed due to the async nature of the response.
This was causing weird characters being printed in the output logs.


  Commit: 45daa4fdc68f5faa5bd5c33da052d2415cd88540
      https://github.com/llvm/llvm-project/commit/45daa4fdc68f5faa5bd5c33da052d2415cd88540
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M flang/include/flang/Lower/ConvertVariable.h
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
    A flang/include/flang/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
    A flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.h
    A flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.td
    A flang/include/flang/Optimizer/Dialect/CUF/CMakeLists.txt
    A flang/include/flang/Optimizer/Dialect/CUF/CUFDialect.h
    A flang/include/flang/Optimizer/Dialect/CUF/CUFDialect.td
    A flang/include/flang/Optimizer/Dialect/CUF/CUFOps.h
    A flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    M flang/include/flang/Optimizer/Dialect/FIROps.h
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
    M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
    M flang/include/flang/Optimizer/Support/InitFIR.h
    M flang/include/flang/Optimizer/Support/Utils.h
    M flang/lib/Frontend/CMakeLists.txt
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/CMakeLists.txt
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/Dialect/CMakeLists.txt
    A flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
    A flang/lib/Optimizer/Dialect/CUF/Attributes/CUFAttr.cpp
    A flang/lib/Optimizer/Dialect/CUF/CMakeLists.txt
    A flang/lib/Optimizer/Dialect/CUF/CUFDialect.cpp
    A flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
    M flang/lib/Optimizer/Dialect/FIRAttr.cpp
    M flang/lib/Optimizer/Dialect/FIRDialect.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/HLFIR/IR/CMakeLists.txt
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
    M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
    M flang/test/Fir/cuf-invalid.fir
    M flang/test/Fir/cuf.mlir
    M flang/test/Lower/CUDA/cuda-allocatable.cuf
    M flang/test/Lower/CUDA/cuda-data-attribute.cuf
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf
    M flang/test/Lower/CUDA/cuda-kernel-calls.cuf
    M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
    M flang/test/Lower/CUDA/cuda-mod.cuf
    M flang/test/Lower/CUDA/cuda-module-use.cuf
    M flang/test/Lower/CUDA/cuda-proc-attribute.cuf
    M flang/tools/bbc/CMakeLists.txt
    M flang/tools/fir-opt/CMakeLists.txt
    M flang/tools/tco/CMakeLists.txt
    M flang/unittests/Optimizer/CMakeLists.txt
    M flang/unittests/Optimizer/FortranVariableTest.cpp

  Log Message:
  -----------
  [flang][cuda] Move CUDA Fortran operations to a CUF dialect (#92317)

The number of operations dedicated to CUF grew and where all still in
FIR. In order to have a better organization, the CUF operations,
attributes and code is moved into their specific dialect and files. CUF
dialect is tightly coupled with HLFIR/FIR and their types.

The CUF attributes are bundled into their own library since some
HLFIR/FIR operations depend on them and the CUF dialect depends on the
FIR types. Without having the attributes into a separate library there
would be a dependency cycle.


  Commit: e3686755eab66604335e246ed7b30033ab71dbbc
      https://github.com/llvm/llvm-project/commit/e3686755eab66604335e246ed7b30033ab71dbbc
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.h
    M mlir/unittests/Dialect/CMakeLists.txt
    A mlir/unittests/Dialect/Polynomial/CMakeLists.txt
    A mlir/unittests/Dialect/Polynomial/PolynomialMathTest.cpp

  Log Message:
  -----------
  [mlir][polynomial] implement add for polynomial data structure (#92169)

A change extracted from https://github.com/llvm/llvm-project/pull/91655,
where I'm still trying to get the attributes working for elementwise
constant folding of polynomial ops. This piece is self-contained.

- use CRTP for base classes
- Add unit test

---------

Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>


  Commit: 874f511ae779a38bd9ad9d80db63c0a10252e526
      https://github.com/llvm/llvm-project/commit/874f511ae779a38bd9ad9d80db63c0a10252e526
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Sema.h
    A clang/include/clang/Sema/SemaCodeCompletion.h
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Parse/ParseInit.cpp
    M clang/lib/Parse/ParseObjc.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Parse/ParsePragma.cpp
    M clang/lib/Parse/ParseStmt.cpp
    M clang/lib/Parse/ParseTemplate.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaCodeComplete.cpp

  Log Message:
  -----------
  [clang] Introduce `SemaCodeCompletion` (#92311)

This patch continues previous efforts to split `Sema` up, this time
covering code completion.
Context can be found in #84184.
Dropping `Code` prefix from function names in `SemaCodeCompletion` would
make sense, but I think this PR has enough changes already.
As usual, formatting changes are done as a separate commit. Hopefully
this helps with the review.


  Commit: d74bc823beabbb7067a4b4ae2d69a36d874f5132
      https://github.com/llvm/llvm-project/commit/d74bc823beabbb7067a4b4ae2d69a36d874f5132
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M lldb/bindings/CMakeLists.txt
    M lldb/bindings/headers.swig
    M lldb/bindings/interfaces.swig
    M lldb/bindings/lua/CMakeLists.txt
    M lldb/bindings/python/CMakeLists.txt

  Log Message:
  -----------
  [lldb] Include SBLanguages in the SWIG bindings (#92470)


  Commit: dc8d70acf7afd6d8c9eef7d240fb8c917eddab50
      https://github.com/llvm/llvm-project/commit/dc8d70acf7afd6d8c9eef7d240fb8c917eddab50
  Author: jiajie zhang <56027356+JumpMasterJJ at users.noreply.github.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    A etime-function.mlir
    M flang/docs/Intrinsics.md
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
    M flang/include/flang/Runtime/time-intrinsic.h
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
    M flang/runtime/time-intrinsic.cpp
    M flang/runtime/tools.h
    A flang/test/Lower/Intrinsics/etime-function.f90
    A flang/test/Lower/Intrinsics/etime.f90
    A flang/test/Semantics/etime.f90

  Log Message:
  -----------
  [reland][flang] Add ETIME runtime and lowering intrinsics implementation (#92571)

This is same as https://github.com/llvm/llvm-project/pull/90578 with an
added fix. This PR updated tests of etime intrinsic due to Lowering
changes for assigning dummy_scope to hlfir.declare. Referring to
https://github.com/llvm/llvm-project/pull/92472 and
https://github.com/llvm/llvm-project/pull/90989


  Commit: a4ad05284e97dd188c44252846486cbfb74a884c
      https://github.com/llvm/llvm-project/commit/a4ad05284e97dd188c44252846486cbfb74a884c
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py
    M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py

  Log Message:
  -----------
  [lldb-dap] Replace `assertEquals` with `assertEqual` (NFC)

Fixes new test that were added or modified after #82073. Also fixes a
formatting issue.


  Commit: 932bef23276da05c5eed2ffe7c62b7fc5f39caf1
      https://github.com/llvm/llvm-project/commit/932bef23276da05c5eed2ffe7c62b7fc5f39caf1
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
    M mlir/lib/Dialect/Polynomial/IR/CMakeLists.txt
    A mlir/lib/Dialect/Polynomial/IR/PolynomialCanonicalization.td
    M mlir/lib/Dialect/Polynomial/IR/PolynomialOps.cpp
    A mlir/test/Dialect/Polynomial/canonicalization.mlir
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  Poly canonicalization (#91410)

Adds simple canonicalization rules to the polynomial dialect. Mainly to
get the boilerplate incorporated before more substantial
canonicalization patterns are added.

---------

Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>


  Commit: e18c4838811f2a6f9592ddeaed585a3830ebc8aa
      https://github.com/llvm/llvm-project/commit/e18c4838811f2a6f9592ddeaed585a3830ebc8aa
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/lib/Dialect/Polynomial/IR/CMakeLists.txt

  Log Message:
  -----------
  [mlir] add arith dialect dep to fix buildbot failure (#92585)

https://lab.llvm.org/buildbot/#/builders/268/builds/14288

```undefined reference to `mlir::detail::TypeIDResolver<mlir::arith::ConstantOp, void>::id'```


  Commit: f7516c7f3f00fca7271056cc9abeda2da4687c17
      https://github.com/llvm/llvm-project/commit/f7516c7f3f00fca7271056cc9abeda2da4687c17
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/test/CodeGen/array-init.c

  Log Message:
  -----------
  [CodeGen] Support arrays with initializers of 64-bit size

Based on @OfekShochat's https://reviews.llvm.org/D133648

init.c is the primary test for array initialization, but it uses a
32-bit triple, which would lead to an "array is too large" error. Add
the new test to array-init.c instead.

Fix #57353

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


  Commit: 487d5af6482ea5f074c12d29d7e376d3fc697706
      https://github.com/llvm/llvm-project/commit/487d5af6482ea5f074c12d29d7e376d3fc697706
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M compiler-rt/lib/ctx_profile/CMakeLists.txt
    A compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
    M compiler-rt/test/ctx_profile/lit.cfg.py

  Log Message:
  -----------
  [ctx_profile] Integration test (#92456)

Compile with clang a program that's instrumented for contextual profiling and verify a profile can be collected.


  Commit: 16bb7e89a995dfe8b14a8ddbce3da79c217e884a
      https://github.com/llvm/llvm-project/commit/16bb7e89a995dfe8b14a8ddbce3da79c217e884a
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M offload/CMakeLists.txt
    M offload/DeviceRTL/CMakeLists.txt
    M offload/plugins-nextgen/CMakeLists.txt
    M offload/plugins-nextgen/amdgpu/CMakeLists.txt
    M offload/plugins-nextgen/common/CMakeLists.txt
    M offload/plugins-nextgen/cuda/CMakeLists.txt
    M offload/plugins-nextgen/host/CMakeLists.txt
    M offload/src/CMakeLists.txt
    M offload/test/mapping/array_section_implicit_capture.c
    M offload/test/offloading/default_thread_limit.c
    M offload/test/offloading/fortran/basic-target-region-1D-array-section.f90
    M offload/test/offloading/fortran/basic-target-region-3D-array-section.f90
    M offload/test/offloading/fortran/double-target-call-with-declare-target.f90
    M offload/test/offloading/fortran/target-map-allocatable-map-scopes.f90
    M offload/test/offloading/fortran/target-map-derived-type-full-1.f90
    M offload/test/offloading/fortran/target-map-derived-type-full-2.f90
    M offload/test/offloading/fortran/target-map-derived-type-full-implicit-1.f90
    M offload/test/offloading/fortran/target-map-derived-type-full-implicit-2.f90
    M offload/test/offloading/fortran/target-map-double-large-nested-dtype-multi-member.f90
    M offload/test/offloading/fortran/target-map-double-nested-dtype-array-bounds.f90
    M offload/test/offloading/fortran/target-map-double-nested-dtype-double-array-bounds.f90
    M offload/test/offloading/fortran/target-map-double-nested-dtype-single-member.f90
    M offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit-update.f90
    M offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit.f90
    M offload/test/offloading/fortran/target-map-dtype-explicit-individual-array-member.f90
    M offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-3D-member-bounds.f90
    M offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member-bounds.f90
    M offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member.f90
    M offload/test/offloading/fortran/target-map-dtype-multi-explicit-member.f90
    M offload/test/offloading/fortran/target-map-enter-exit-allocatables.f90
    M offload/test/offloading/fortran/target-map-enter-exit-array-2.f90
    M offload/test/offloading/fortran/target-map-enter-exit-array-bounds.f90
    M offload/test/offloading/fortran/target-map-enter-exit-array.f90
    M offload/test/offloading/fortran/target-map-enter-exit-scalar.f90
    M offload/test/offloading/fortran/target-map-individual-dtype-member-map.f90
    M offload/test/offloading/fortran/target-map-large-nested-dtype-multi-member.f90
    M offload/test/offloading/fortran/target-map-nested-dtype-complex-member.f90
    M offload/test/offloading/fortran/target-map-nested-dtype-derived-member.f90
    M offload/test/offloading/fortran/target-map-nested-dtype-multi-member.f90
    M offload/test/offloading/fortran/target-map-nested-dtype-single-member.f90
    M offload/test/offloading/fortran/target-map-pointer-scopes-enter-exit.f90
    M offload/test/offloading/fortran/target-map-pointer-target-array-section-3d-bounds.f90
    M offload/test/offloading/fortran/target-map-pointer-target-scopes.f90
    M offload/test/offloading/fortran/target-map-two-dtype-explicit-member.f90
    M offload/test/offloading/fortran/target-map-two-dtype-individual-member-array-1D-bounds.f90
    M offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-1.f90
    M offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-2.f90
    M offload/test/offloading/fortran/target-map-two-dtype-multi-member-array-1D-bounds.f90
    M offload/test/offloading/fortran/target-map-two-nested-dtype-member-array-map.f90
    M offload/test/offloading/spmdization.c
    M offload/test/offloading/thread_limit.c

  Log Message:
  -----------
  [Offload][NFC] Remove all trailing whitespace from offload/ (#92578)

Summary:
This patch cleans up the training whitespace in a bunch of tests and
CMake files. Most just in preparation for other cleanups.


  Commit: 770d92830311b21c82ff12ba85bd131950db23d0
      https://github.com/llvm/llvm-project/commit/770d92830311b21c82ff12ba85bd131950db23d0
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M offload/CMakeLists.txt
    M offload/DeviceRTL/CMakeLists.txt
    R offload/cmake/Modules/LibomptargetUtils.cmake
    M offload/plugins-nextgen/amdgpu/CMakeLists.txt
    M offload/plugins-nextgen/cuda/CMakeLists.txt
    M offload/plugins-nextgen/host/CMakeLists.txt
    M offload/src/CMakeLists.txt
    M offload/test/CMakeLists.txt
    M offload/tools/deviceinfo/CMakeLists.txt
    M offload/tools/kernelreplay/CMakeLists.txt
    M offload/unittests/Plugins/CMakeLists.txt

  Log Message:
  -----------
  [Offload][NFC] Remove 'libomptarget' message helpers (#92581)

Summary:
This isn't `libomptarget` anymore, and these messages were always
unnecessary because no other project uses these prefixed messages. The
effect of this is that no longer will the logs have `LIBOMPTARGET --` in
front of everything. We have a message stating when we start building
the offload project so it'll still be trivial to find.


  Commit: 48b23c09c0dd70c4d5645d781caa1e0a7d51e0fc
      https://github.com/llvm/llvm-project/commit/48b23c09c0dd70c4d5645d781caa1e0a7d51e0fc
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll

  Log Message:
  -----------
  AMDGPU: Handle undef correctly in isKnownIntegral (#92566)


  Commit: 1e5f29af81a5f6fda308074f6345b9fba4faa71c
      https://github.com/llvm/llvm-project/commit/1e5f29af81a5f6fda308074f6345b9fba4faa71c
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/test/MC/AsmParser/macro-rept.s

  Log Message:
  -----------
  Revert "[MCAsmParser] .rept/.irp/.irpc: remove excess tail EOL in expansion"

This reverts commit c6e787f771d1f9d6a846b2d9b8db6adcd87e8dba.

parseEOL() would remove \n # after .endr, not recognizing the line marker.

```
// reduced from Linux kernel arch/x86/crypto/sha1_avx2_x86_64_asm.S
.rept 1
nop
.endr
# 512 "a.s"
```


  Commit: 0ec3b972e58bcbcdc1bebe1696ea37f2931287c3
      https://github.com/llvm/llvm-project/commit/0ec3b972e58bcbcdc1bebe1696ea37f2931287c3
  Author: Dan Liew <delcypher at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/Type.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/Type.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseObjc.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/TreeTransform.h
    A clang/test/AST/attr-counted-by-late-parsed-struct-ptrs.c
    A clang/test/AST/attr-counted-by-struct-ptrs.c
    A clang/test/Sema/attr-counted-by-late-parsed-off.c
    A clang/test/Sema/attr-counted-by-late-parsed-struct-ptrs.c
    A clang/test/Sema/attr-counted-by-struct-ptrs-sizeless-types.c
    A clang/test/Sema/attr-counted-by-struct-ptrs.c
    A clang/test/Sema/attr-counted-by-vla-sizeless-types.c
    A clang/test/Sema/attr-counted-by-vla.c
    R clang/test/Sema/attr-counted-by.c

  Log Message:
  -----------
  [BoundsSafety] Allow 'counted_by' attribute on pointers in structs in C (#90786)

Previously the attribute was only allowed on flexible array members.
This patch patch changes this to also allow the attribute on pointer
fields in structs and also allows late parsing of the attribute in some
contexts.

For example this previously wasn't allowed:

```
struct BufferTypeDeclAttributePosition {
  size_t count;
  char* buffer __counted_by(count); // Now allowed
}
```

Note the attribute is prevented on pointee types where the size isn't
known at compile time. In particular pointee types that are:

* Incomplete (e.g. `void`) and sizeless types
* Function types (e.g. the pointee of a function pointer)
* Struct types with a flexible array member

This patch also introduces late parsing of the attribute when used in
the declaration attribute position. For example

```
struct BufferTypeDeclAttributePosition {
  char* buffer __counted_by(count); // Now allowed
  size_t count;
}
```

is now allowed but **only** when passing
`-fexperimental-late-parse-attributes`. The motivation for using late
parsing here is to avoid breaking the data layout of structs in existing
code that want to use the `counted_by` attribute. This patch is the
first use of `LateAttrParseExperimentalExt` in `Attr.td` that was
introduced in a previous patch.

Note by allowing the attribute on struct member pointers this now allows
the possiblity of writing the attribute in the type attribute position.
For example:

```
struct BufferTypeAttributePosition {
  size_t count;
  char *__counted_by(count) buffer; // Now allowed
}
```

However, the attribute in this position is still currently parsed
immediately rather than late parsed. So this will not parse currently:

```
struct BufferTypeAttributePosition {
  char *__counted_by(count) buffer; // Fails to parse
  size_t count;
}
```

The intention is to lift this restriction in future patches. It has not
been done in this patch to keep this size of this commit small.

There are also several other follow up changes that will need to be
addressed in future patches:

* Make late parsing working with anonymous structs (see
`on_pointer_anon_buf` in `attr-counted-by-late-parsed-struct-ptrs.c`).
* Allow `counted_by` on more subjects (e.g. parameters, returns types)
when `-fbounds-safety` is enabled.
* Make use of the attribute on pointer types in code gen (e.g. for
`_builtin_dynamic_object_size` and UBSan's array-bounds checks).

This work is heavily based on a patch originally written by Yeoul Na.

rdar://125400257

Co-authored-by: Dan Liew <dan at su-root.co.uk>


  Commit: 1b58940c88edaad9320bd21eaa7da65f7e791552
      https://github.com/llvm/llvm-project/commit/1b58940c88edaad9320bd21eaa7da65f7e791552
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/test/MC/AsmParser/macro-rept.s

  Log Message:
  -----------
  [MCAsmParser,test] Test line marker after .endr \n

Regression test for 1e5f29af81a5f6fda308074f6345b9fba4faa71c

Reduced from Linux kernel arch/x86/crypto/sha1_avx2_x86_64_asm.S


  Commit: 76fdc2e52719c7164e3f2cb05158a74df2b3d22e
      https://github.com/llvm/llvm-project/commit/76fdc2e52719c7164e3f2cb05158a74df2b3d22e
  Author: Nathan Sidwell <nathan at acm.org>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Passes/Instrumentation.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp

  Log Message:
  -----------
  [BOLT][NFC] Rename isUnsupportedBranch to isReversibleBranch (#92447)

`isUnsupportedBranch` is not a very informative name, and doesn't match
its corresponding `reverseBranchCondition`, as I noted in PR #92018.
Here's a renaming to a more mnemonic name.


  Commit: 112eadd55f06bee15caadff688ea0b45acbfa804
      https://github.com/llvm/llvm-project/commit/112eadd55f06bee15caadff688ea0b45acbfa804
  Author: Dan Liew <dan at su-root.co.uk>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test

  Log Message:
  -----------
  [Bounds-Safety] Fix `pragma-attribute-supported-attributes-list.test`

0ec3b972e58bcbcdc1bebe1696ea37f2931287c3 changed the `counted_by`
attribute to be `LateAttrParseExperimentalExt`. This means the attribute
is no longer supported by `#pragma clang attribute`. However, the
`pragma-attribute-supported-attributes-list.test` wasn't updated
to account for that.

rdar://125400257


  Commit: df575be9d864886684e536cd76c5a96bb0d443a6
      https://github.com/llvm/llvm-project/commit/df575be9d864886684e536cd76c5a96bb0d443a6
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaDecl.cpp

  Log Message:
  -----------
  [clang][NFC] Add `const` qualifier in `Sema::isIncompatibleTypedef`


  Commit: af7467ce9f447d6fe977b73db1f03a18d6bbd511
      https://github.com/llvm/llvm-project/commit/af7467ce9f447d6fe977b73db1f03a18d6bbd511
  Author: John Ericson <John.Ericson at Obsidian.Systems>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M libcxx/src/atomic.cpp
    M libcxx/src/chrono.cpp
    M libcxxabi/src/cxa_guard_impl.h

  Log Message:
  -----------
  [libcxx][libcxxabi] Fix build for OpenBSD (#92186)

- No indirect syscalls on OpenBSD. Instead there is a `futex` function
which issues a direct syscall.

- Monotonic clock is available despite the full POSIX suite of timers
not being available in its entirety.

  See https://lists.boost.org/boost-bugs/2015/07/41690.php and
  https://github.com/boostorg/log/commit/c98b1f459add14d5ce3e9e63e2469064601d7f71
  for a description of an analogous problem and fix for Boost.


  Commit: 1a5bc7c895ddeafa0e1d269da67bbeafcd8bc1a4
      https://github.com/llvm/llvm-project/commit/1a5bc7c895ddeafa0e1d269da67bbeafcd8bc1a4
  Author: Julian Lettner <yln at users.noreply.github.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M compiler-rt/test/tsan/signal_in_mutex_lock.cpp

  Log Message:
  -----------
  Fix flaky test: signal_in_mutex_lock.cpp (#92587)

Fix flaky test: the spawned thread keeps spinning
on `sampler_mutex` which may be released before
the thread is terminated based on termination
ordering.

My understanding of C++ semantics are that the
program here is invalid: the destructors of global
variables are invoked at the time of program
termination, and it is the responsibility of the
program to ensure that invoking those destructors
is safe.

rdar://126768628


  Commit: 6d50a79b721760fa5e10b81ebe6d1e37f141f61b
      https://github.com/llvm/llvm-project/commit/6d50a79b721760fa5e10b81ebe6d1e37f141f61b
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M flang/include/flang/Semantics/semantics.h
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/semantics.cpp
    A flang/module/cudadevice.f90
    A flang/test/Semantics/cuf-device-procedures01.cuf
    A flang/test/Semantics/cuf-device-procedures02.cuf
    M flang/tools/f18/CMakeLists.txt

  Log Message:
  -----------
  [flang][cuda] Implicitly load cudadevice module in device/global subprogram (#92038)

This is a re-worked version of #91668. It adds the `cudadevice` module
and set the `device` attributes on its functions/subroutines so there is
no need for special case in semantic check.
`cudadevice` module is implicitly USE'd in `global`/`device` subprogram.


  Commit: bdfb04a63d73c31ee75395064762d0d6ccb45819
      https://github.com/llvm/llvm-project/commit/bdfb04a63d73c31ee75395064762d0d6ccb45819
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M lldb/tools/lldb-dap/package.json

  Log Message:
  -----------
  [lldb-dap] Bump the version to 0.2.1

Bump the version to 0.2.1 to test the publishing workflow and update the
extension README and URL.


  Commit: e2db08f8f1a7dd37cd18705164f0c1188707e5b6
      https://github.com/llvm/llvm-project/commit/e2db08f8f1a7dd37cd18705164f0c1188707e5b6
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c

  Log Message:
  -----------
  [test] Use conventional -emit-llvm-only

Similar to a6d7828f4c50c1ec7b0b5f61fe59d7a768175dcc


  Commit: 8da3a8f550d0b266411b2dc177dff8591ee86cb2
      https://github.com/llvm/llvm-project/commit/8da3a8f550d0b266411b2dc177dff8591ee86cb2
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
    M llvm/lib/Target/NVPTX/NVPTXUtilities.cpp
    M llvm/lib/Target/NVPTX/NVPTXUtilities.h
    A llvm/test/CodeGen/NVPTX/param-overalign.ll

  Log Message:
  -----------
  [NVPTX] fixup support for over-aligned parameters (#92457)

This extends the NVPTX support for over-aligned parameters and return
values in a few related ways:

- Support for `alignstack` attribute, as an alternative to legacy nvvm
`!"align"` metadata entries. While we still maintain the legacy support,
long term it might be nice to auto-upgrade to `alignstack`.
- Check the alignment info when emitting the parameter list to prevent a
mismatch between alignment of caller and callee, which would previously
cause a fatal error for `ptxas`.
- Check the alignment info when emitting loads for parameters,
potentially enabling better vectorization.


  Commit: fe2ff54590c313551e7968179b48988ff0916290
      https://github.com/llvm/llvm-project/commit/fe2ff54590c313551e7968179b48988ff0916290
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M flang/runtime/CMakeLists.txt
    M flang/runtime/descriptor-io.h
    A flang/runtime/io-api-common.h
    A flang/runtime/io-api-minimal.cpp
    M flang/runtime/io-api.cpp

  Log Message:
  -----------
  [flang][runtime] Decouple scalar output APIs from descriptors (#92444)

For testing purposes the implementations of the output APIs like
OutputInteger32 have been simply constructing descriptors and executing
the operation through the general DescriptorIO template. This patch
decouples those APIs from that mechanism so that programs using simple
"PRINT *" statements for output can link to a smaller portion of the I/O
runtime support library. (This is the only form of I/O accepted in GPU
device code by previous CUDA Fortran and Fortran OpenACC compilers.)


  Commit: ab7930bd9f088c4fcdfd438b5207a4052c9669b8
      https://github.com/llvm/llvm-project/commit/ab7930bd9f088c4fcdfd438b5207a4052c9669b8
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M flang/include/flang/Semantics/tools.h
    M flang/lib/Semantics/check-declarations.cpp
    M flang/test/Semantics/bind-c03.f90
    M flang/test/Semantics/bind-c09.f90
    M flang/test/Semantics/bind-c12.f90
    M flang/test/Semantics/resolve81.f90
    M flang/test/Semantics/resolve82.f90

  Log Message:
  -----------
  [flang] Relax checking of dummy procedures under BIND(C) (#92474)

As was done recently to allow derived types that are not explicitly
BIND(C), but meet the requirements of BIND(C), to be acceptable for use
in contexts nominally requiring BIND(C), this patch allows procedures
that are not explicitly BIND(C) to be used in contexts that nominally
require BIND(C) so long as (1) they meet the requirements of BIND(C),
and (2) don't use dummy arguments whose implementations may vary under
BIND(C), such as VALUE.


  Commit: b80e0fbcfb71b24d762d8b48069153b9e16679be
      https://github.com/llvm/llvm-project/commit/b80e0fbcfb71b24d762d8b48069153b9e16679be
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Polynomial/IR/CMakeLists.txt
    M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
    A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialAttributes.td
    A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialDialect.td
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][polynomial] split attributes into its own tablegen (#92613)

Out of tree we have other dialects that use the ring attribute, but we
get compilation errors when generating ops while pulling in all the
Polynomial tablegen ops (there's no `-dialect` flag in `mlir-tblgen` for
op generation like there is for attributes and types).

This PR simply moves the attributes into its own file, so it can be
included separately, and this also requires moving the dialect
declaration into its own file.


  Commit: cef6387e52578366c2332275dad88b9953b55336
      https://github.com/llvm/llvm-project/commit/cef6387e52578366c2332275dad88b9953b55336
  Author: Dan Liew <dan at su-root.co.uk>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/test/Sema/attr-counted-by-vla.c

  Log Message:
  -----------
  [Bounds-Safety] Temporarily relax a `counted_by` attribute restriction on flexible array members

In 0ec3b972e58bcbcdc1bebe1696ea37f2931287c3 an additional restriction
was added when applying the `counted_by` attribute to flexible array
members in structs. The restriction prevented the element type being
a struct that itself had a flexible array member. E.g.:

```
struct has_unannotated_VLA {
  int count;
  char buffer[];
};

struct buffer_of_structs_with_unnannotated_vla {
  int count;
  struct has_unannotated_VLA Arr[] __counted_by(count);
};
```

In this example assuming the size of `Arr` is `sizeof(struct
has_unannotated_VLA)*count` (which is what the attribute says) is wrong
because it doesn't account for the size of
`has_unannotated_VLA::buffer`. This is why this kind of code construct
was treated as an error.

However, it turns out existing Linux kernel code used the attribute
on a flexible array member in this way
(https://github.com/llvm/llvm-project/pull/90786#issuecomment-2118416515).

To unbreak the build this restriction is downgraded to a warning with
the plan to make it an error again once the errornous use of the
attribute in the Linux kernel is resolved.


  Commit: 86e511bc145ffe6e08f2f440b329c5ed9cb38532
      https://github.com/llvm/llvm-project/commit/86e511bc145ffe6e08f2f440b329c5ed9cb38532
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M flang/runtime/io-api.cpp

  Log Message:
  -----------
  [flang] Fixed https://lab.llvm.org/buildbot/#/builders/270/builds/14406


  Commit: 881f20e958e80bd30463fc57d2d3e891bcb8a571
      https://github.com/llvm/llvm-project/commit/881f20e958e80bd30463fc57d2d3e891bcb8a571
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M compiler-rt/lib/ctx_profile/CMakeLists.txt
    R compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
    M compiler-rt/test/ctx_profile/lit.cfg.py

  Log Message:
  -----------
  Revert "[ctx_profile] Integration test (#92456)"

This reverts commit 487d5af6482ea5f074c12d29d7e376d3fc697706.

This was causing failures on some buildbots.
https://lab.llvm.org/buildbot/#/builders/247/builds/18559


  Commit: b672d9e3d3aa6f9796c09d691ca5c40dc816ab67
      https://github.com/llvm/llvm-project/commit/b672d9e3d3aa6f9796c09d691ca5c40dc816ab67
  Author: David Blaikie <dblaikie at gmail.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    A llvm/test/DebugInfo/X86/debug-names-split-dwarf-inlining.ll

  Log Message:
  -----------
  DebugInfo: Don't emit .debug_names entries for split-dwarf-inlining info


  Commit: 1e9324a8c734aaa933d2672522cc22d5022c6200
      https://github.com/llvm/llvm-project/commit/1e9324a8c734aaa933d2672522cc22d5022c6200
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

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

  Log Message:
  -----------
  [lldb] Namespace SBSourceLanguageName (NFC)


  Commit: faf39f45e3107d6bcb5f9cef8b5681c116b261d7
      https://github.com/llvm/llvm-project/commit/faf39f45e3107d6bcb5f9cef8b5681c116b261d7
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M lld/ELF/InputSection.cpp
    R lld/test/ELF/loongarch-relax-align-ldr.s
    M lld/test/ELF/loongarch-relax-emit-relocs.s
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
    M llvm/test/MC/LoongArch/Relocations/relax-addsub.s
    M llvm/test/MC/LoongArch/Relocations/relax-align.s

  Log Message:
  -----------
  Revert "[LoongArch] Use R_LARCH_ALIGN with section symbol (#84741)"

This reverts commit 01f79899ba349a0200586c8d05f5e22cca2ced31.

This unusual special case has been discussed on the binutils mailing
list. The approach will be revisited:
https://sourceware.org/pipermail/binutils/2024-May/134092.html

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


  Commit: 702198fc9ac5dba392f9d9ba7c56467996343c0a
      https://github.com/llvm/llvm-project/commit/702198fc9ac5dba392f9d9ba7c56467996343c0a
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M flang/lib/Lower/ConvertVariable.cpp
    A flang/test/Lower/CUDA/cuda-program-global.cuf

  Log Message:
  -----------
  [flang][cuda] Add data attribute to program globals (#92610)


  Commit: cfe9deb1353021a1c1fe4731ec3e90f702dbd43d
      https://github.com/llvm/llvm-project/commit/cfe9deb1353021a1c1fe4731ec3e90f702dbd43d
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M .github/dependabot.yml
    M compiler-rt/lib/ctx_profile/CMakeLists.txt
    A compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
    M compiler-rt/test/ctx_profile/lit.cfg.py

  Log Message:
  -----------
  Reapply "[ctx_profile] Integration test (#92456)"

This reverts commit 881f20e958e80bd30463fc57d2d3e891bcb8a571.

Passing -ldl -lpthread explicitly


  Commit: 9e98815ef04f055e84d0b1a5cfb877bb1c9cb22a
      https://github.com/llvm/llvm-project/commit/9e98815ef04f055e84d0b1a5cfb877bb1c9cb22a
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M .github/dependabot.yml

  Log Message:
  -----------
  [Github] Revert accidental changes to dependabot config

f3524e9aebbfabed0c60d0087b39ce14d8f778da accidentally touched the
dependabot config. This patch reverts that change.


  Commit: 219476d20fcdb21644944b0c204b4ac6d6ef3760
      https://github.com/llvm/llvm-project/commit/219476d20fcdb21644944b0c204b4ac6d6ef3760
  Author: jiajie zhang <56027356+JumpMasterJJ at users.noreply.github.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    R etime-function.mlir

  Log Message:
  -----------
  Fix: remove wrongly pushed etime-function.mlir at toplevel (#92634)

The purpose of this PR is to remove the 'etime-function.mlir' file that
I mistakenly committed in
https://github.com/llvm/llvm-project/pull/92571. This file is not
necessary in source code control, and its presence may cause confusion
or misunderstanding.


  Commit: 195ba4572129befa25ca56439515d7cb91587c56
      https://github.com/llvm/llvm-project/commit/195ba4572129befa25ca56439515d7cb91587c56
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/test/MC/AsmParser/macro-arg.s
    M llvm/test/MC/AsmParser/macro-irp.s
    M llvm/test/MC/AsmParser/macro-rept.s

  Log Message:
  -----------
  [MCAsmParser] .macro/.rept/.irp/.irpc: remove excess \n after expansion

```
.irp foo,1
nop
.endr
nop
```

expands to an excess EOL between two nop lines. Other loop directives
and .macro have the same issue.

`Lex()` at "Jump to the macro instantiation and prime the lexer"
requires that there is one single \n token in CurTok. Therefore, we
cannot consume the trailing \n when parsing the macro(-like) body.
(commit c6e787f771d1f9d6a846b2d9b8db6adcd87e8dba (reverted by
1e5f29af81a5f6fda308074f6345b9fba4faa71c))

Instead, skip the potential \n after jumpToLoc at handleMacroExit.


  Commit: bfeebda3b1cc1a05e435e94f54bf2d2a2570b4e2
      https://github.com/llvm/llvm-project/commit/bfeebda3b1cc1a05e435e94f54bf2d2a2570b4e2
  Author: Michael Klemm <michael.klemm at amd.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M flang/test/Driver/include-omp-header.f90
    M flang/test/Lower/OpenMP/atomic-capture.f90
    M flang/test/Lower/OpenMP/atomic-read.f90
    M flang/test/Lower/OpenMP/atomic-update.f90
    M flang/test/Lower/OpenMP/atomic-write.f90
    M flang/test/Lower/OpenMP/critical.f90
    M flang/test/Lower/OpenMP/omp-lib-num-threads.f90
    M flang/test/Lower/OpenMP/parallel-sections.f90
    M flang/test/Lower/OpenMP/parallel.f90
    M flang/test/Lower/OpenMP/sections.f90
    M flang/test/Lower/OpenMP/single.f90
    M flang/test/Lower/OpenMP/task.f90
    M flang/test/Lower/OpenMP/taskgroup.f90
    M flang/test/Lower/OpenMP/teams.f90
    M flang/test/Lower/OpenMP/threadprivate-default-clause.f90
    M flang/test/Parser/OpenMP/allocate-tree-spec-part.f90
    M flang/test/Parser/OpenMP/allocate-tree.f90
    M flang/test/Parser/OpenMP/target_device_parse.f90
    M flang/test/Semantics/OpenMP/allocate-clause01.f90
    M flang/test/Semantics/OpenMP/allocate-directive.f90
    M flang/test/Semantics/OpenMP/allocate01.f90
    M flang/test/Semantics/OpenMP/allocate02.f90
    M flang/test/Semantics/OpenMP/allocate03.f90
    M flang/test/Semantics/OpenMP/allocate04.f90
    M flang/test/Semantics/OpenMP/allocate05.f90
    M flang/test/Semantics/OpenMP/allocate06.f90
    M flang/test/Semantics/OpenMP/allocate07.f90
    M flang/test/Semantics/OpenMP/allocate08.f90
    M flang/test/Semantics/OpenMP/allocate09.f90
    M flang/test/Semantics/OpenMP/allocators01.f90
    M flang/test/Semantics/OpenMP/allocators02.f90
    M flang/test/Semantics/OpenMP/allocators03.f90
    M flang/test/Semantics/OpenMP/allocators04.f90
    M flang/test/Semantics/OpenMP/allocators05.f90
    M flang/test/Semantics/OpenMP/allocators06.f90
    M flang/test/Semantics/OpenMP/atomic-hint-clause.f90
    M flang/test/Semantics/OpenMP/atomic01.f90
    M flang/test/Semantics/OpenMP/atomic02.f90
    M flang/test/Semantics/OpenMP/atomic03.f90
    M flang/test/Semantics/OpenMP/atomic04.f90
    M flang/test/Semantics/OpenMP/atomic05.f90
    M flang/test/Semantics/OpenMP/clause-validity01.f90
    M flang/test/Semantics/OpenMP/critical-hint-clause.f90
    M flang/test/Semantics/OpenMP/declare-target01.f90
    M flang/test/Semantics/OpenMP/flush02.f90
    M flang/test/Semantics/OpenMP/omp-atomic-assignment-stmt.f90
    M flang/test/Semantics/OpenMP/parallel-sections01.f90
    M flang/test/Semantics/OpenMP/resolve06.f90
    M flang/test/Semantics/OpenMP/sections02.f90
    M flang/test/Semantics/OpenMP/sync-critical02.f90
    M flang/test/Semantics/OpenMP/taskgroup01.f90
    M flang/test/Semantics/OpenMP/threadprivate01.f90
    M flang/test/lit.cfg.py
    M flang/test/lit.site.cfg.py.in

  Log Message:
  -----------
  [flang][OpenMP] Re-enable tests when building OpenMP as a runtime (#89046)


  Commit: 2a97b507dc643b7ee3bc651b3f21b754cfba433c
      https://github.com/llvm/llvm-project/commit/2a97b507dc643b7ee3bc651b3f21b754cfba433c
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M flang/include/flang/Lower/AbstractConverter.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.h
    M flang/lib/Lower/OpenMP/Decomposer.cpp
    M flang/lib/Lower/OpenMP/Decomposer.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
    M flang/test/Lower/OpenMP/copyin.f90
    M flang/test/Lower/OpenMP/critical.f90
    M flang/test/Lower/OpenMP/default-clause.f90
    M flang/test/Lower/OpenMP/hlfir-seqloop-parallel.f90
    M flang/test/Lower/OpenMP/hlfir-wsloop.f90
    M flang/test/Lower/OpenMP/lastprivate-iv.f90
    M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
    M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
    M flang/test/Lower/OpenMP/parallel-private-clause.f90
    M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction3.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
    M flang/test/Lower/OpenMP/parallel-wsloop.f90
    M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
    M flang/test/Lower/OpenMP/target.f90
    M flang/test/Lower/OpenMP/unstructured.f90
    M flang/test/Lower/OpenMP/wsloop-collapse.f90
    M flang/test/Lower/OpenMP/wsloop-monotonic.f90
    M flang/test/Lower/OpenMP/wsloop-nonmonotonic.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
    M flang/test/Lower/OpenMP/wsloop-variable.f90
    M flang/test/Lower/OpenMP/wsloop.f90

  Log Message:
  -----------
  [flang][OpenMP] Try to unify induction var privatization for OMP regions. (#91116)


  Commit: 7b4dfec8936f54145297fd2f14bf95a2b8c95f5f
      https://github.com/llvm/llvm-project/commit/7b4dfec8936f54145297fd2f14bf95a2b8c95f5f
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/test/MC/AsmParser/macro-irp.s
    R llvm/test/MC/AsmParser/macro-rept-err1.s
    R llvm/test/MC/AsmParser/macro-rept-err2.s
    M llvm/test/MC/AsmParser/macro-rept.s

  Log Message:
  -----------
  [MCAsmParser] Improve .rept/.irp tests


  Commit: 2c2e0507e92bdb77a01828f899ff59e44492b537
      https://github.com/llvm/llvm-project/commit/2c2e0507e92bdb77a01828f899ff59e44492b537
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M clang/lib/Analysis/ThreadSafetyCommon.cpp
    M clang/test/SemaCXX/warn-thread-safety-analysis.cpp

  Log Message:
  -----------
  [clang][ThreadSafety] Skip past implicit cast in `translateAttrExpr`

Ignore `ImplicitCastExpr` when building `AttrExp` for capability
attribute diagnostics.

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


  Commit: f7b0b99c52ee36ed6ca8abcce74a752e483768d6
      https://github.com/llvm/llvm-project/commit/f7b0b99c52ee36ed6ca8abcce74a752e483768d6
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/lib/Basic/SourceManager.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp

  Log Message:
  -----------
  [clang][NFC] Further improvements to const-correctness


  Commit: 778826f0b8fb9f1a595ce8ab23faad6daa9466f5
      https://github.com/llvm/llvm-project/commit/778826f0b8fb9f1a595ce8ab23faad6daa9466f5
  Author: Thorsten Schütt <schuett at gmail.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir

  Log Message:
  -----------
  [GlobalIsel] Combine select to integer min max more (#92570)


  Commit: 4b62afca64a3f18cd57a3b3247330effd4b38098
      https://github.com/llvm/llvm-project/commit/4b62afca64a3f18cd57a3b3247330effd4b38098
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.h
    A llvm/test/CodeGen/X86/apx/ccmp-flags-copy-lowering.mir

  Log Message:
  -----------
  [X86][CodeGen] Support flags copy lowering for CCMP/CTEST (#91849)

```
%1:gr64 = COPY $eflags
OP1 may update eflags
$eflags = COPY %1
OP2 may use eflags
```

To use eflags as input at 4th instruction, we need to use SETcc to
preserve the eflags before 2, and update the source condition of OP2
according to value in GPR %1.

In this patch, we support CCMP/CTEST as OP2.


  Commit: 33550b43f49a4e5b20e748936278e55f67e4b929
      https://github.com/llvm/llvm-project/commit/33550b43f49a4e5b20e748936278e55f67e4b929
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M mlir/include/mlir/Analysis/CFGLoopInfo.h
    M mlir/include/mlir/IR/Block.h
    M mlir/lib/Analysis/CFGLoopInfo.cpp
    M mlir/lib/IR/AsmPrinter.cpp

  Log Message:
  -----------
  [mlir] Add operator<< for printing `Block` (#92550)

Turns out it was already in Analysis/CFGLoopInfo, so just move it
to IR/AsmPrinter.


  Commit: e90126e0dd6f058e1602bb6c769dfa4c52d7ad47
      https://github.com/llvm/llvm-project/commit/e90126e0dd6f058e1602bb6c769dfa4c52d7ad47
  Author: Valentin Clement <clementval at gmail.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M flang/lib/Optimizer/Dialect/CUF/CMakeLists.txt

  Log Message:
  -----------
  [flang][cuf] Add attr gen dependency to fix #92635


  Commit: 58c778565cd64a69ea86e7e67e6a87fff3b0b224
      https://github.com/llvm/llvm-project/commit/58c778565cd64a69ea86e7e67e6a87fff3b0b224
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp

  Log Message:
  -----------
  [nfc][ctx_profile] Fix printf - related `-Wformat-pedantic`


  Commit: c5b11a710e01304908e3f320e40bc9da9f6a8de4
      https://github.com/llvm/llvm-project/commit/c5b11a710e01304908e3f320e40bc9da9f6a8de4
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    A llvm/test/CodeGen/NVPTX/st-param-imm.ll

  Log Message:
  -----------
  [NVPTX] support immediate values in st.param instructions (#91523)

Add support for generating `st.param` instructions with direct use of
immediates. This eliminates the need for a `mov` instruction prior to
the `st.param` resulting in more concise emitted PTX.


  Commit: 577785c5ca78a9714584b5c99ec085f8aea0a5c0
      https://github.com/llvm/llvm-project/commit/577785c5ca78a9714584b5c99ec085f8aea0a5c0
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

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

  Log Message:
  -----------
  [VPlan] Remove unused removeLastOperand (NFC).

The last use of the function has been removed a while ago. Remove the
unused function.


  Commit: 003cebdaccc4ad3a3b6f9e177ee5049c8b6a9cbb
      https://github.com/llvm/llvm-project/commit/003cebdaccc4ad3a3b6f9e177ee5049c8b6a9cbb
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/tools/dsymutil/MachODebugMapParser.cpp

  Log Message:
  -----------
  [dsymutil] Use operator==(StringRef, StringRef) (NFC)


  Commit: 8d3e1022c8883f2bfe9faccb82ce807c1cf4272c
      https://github.com/llvm/llvm-project/commit/8d3e1022c8883f2bfe9faccb82ce807c1cf4272c
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/lib/DWARFLinker/Parallel/OutputSections.h

  Log Message:
  -----------
  [DWARFLinker] Use an implicit conversion of SmallString to StringRef (NFC)


  Commit: ba8a2ade84f4c1bfc531fe3673470377c038f31d
      https://github.com/llvm/llvm-project/commit/ba8a2ade84f4c1bfc531fe3673470377c038f31d
  Author: Jessica Clarke <jrtc27 at jrtc27.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp

  Log Message:
  -----------
  [DXIL] Use consistent SmallVector parameters

Fixes: 060df78cdbbf70d5a6dfff3af1d435a5a811b886


  Commit: 4c98f5b439ddd204d8ff1e423104215ebd0e1720
      https://github.com/llvm/llvm-project/commit/4c98f5b439ddd204d8ff1e423104215ebd0e1720
  Author: David Green <david.green at arm.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AArch64/frem-power2.ll
    M llvm/test/CodeGen/ARM/frem-power2.ll

  Log Message:
  -----------
  [DAG] Use copysign in frem power-2 fold. (#91751)

As a small addition to #91148, this uses copysign to produce the correct
sign for zero when converting frem to div/trunc/mul when we do not know
that the input is positive (and we care about sign bits). The copysign
lets us get the sign of zero correct.

In testing, the only case this produced different results than fmod was:
frem -inf, 4.0 -> nan vs -nan


  Commit: c3677e45222a9461eed0224b99bd8ea19bc52bf6
      https://github.com/llvm/llvm-project/commit/c3677e45222a9461eed0224b99bd8ea19bc52bf6
  Author: David Green <david.green at arm.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/X86/select-shuffle.ll

  Log Message:
  -----------
  [VectorCombine] Don't transform single shuffles in shuffleToIdentity

This will help in later patches where the checks for operands being
instructions is removed, and might help not remove unnecessary poison lanes.


  Commit: 597ac471cc7da97ccf957362a7e9f7a52d6910ee
      https://github.com/llvm/llvm-project/commit/597ac471cc7da97ccf957362a7e9f7a52d6910ee
  Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/phi-labels.ll.expected
    M llvm/test/tools/UpdateTestChecks/update_test_checks/phi-labels.test
    M llvm/utils/UpdateTestChecks/asm.py
    M llvm/utils/UpdateTestChecks/common.py
    M llvm/utils/UpdateTestChecks/isel.py
    M llvm/utils/update_analyze_test_checks.py
    M llvm/utils/update_cc_test_checks.py
    M llvm/utils/update_llc_test_checks.py
    M llvm/utils/update_test_checks.py

  Log Message:
  -----------
  update_test_checks: match IR basic block labels (#88979)

Labels are matched using a regexp of the form '^(pattern):', which
requires the addition of a "suffix" concept to NamelessValue.

Aside from that, the key challenge is that block labels are values, and
we typically capture values including the prefix '%'. However, when
labels appear at the start of a basic block, the prefix '%' is not
included, so we must capture block label values *without* the prefix
'%'.

We don't know ahead of time whether an IR value is a label or not. In
most cases, they are prefixed by the word "label" (their type), but this
isn't the case in phi nodes. We solve this issue by leveraging the
two-phase nature of variable generalization: the first pass finds all
occurences of a variable and determines whether the '%' prefix can be
included or not. The second pass does the actual substitution.

This change also unifies the generalization path for assembly with that
for IR and analysis, in the hope that any future changes avoid diverging
those cases future.

I also considered the alternative of trying to detect the phi node case
using more regular expression special cases but ultimately decided
against that because it seemed more fragile, and perhaps the approach of
keeping a tentative prefix that may later be discarded could also be
eventually applied to some metadata and attribute cases.

Note that an early version of this change was reviewed as
https://reviews.llvm.org/D142452, before version numbers were
introduced. This is a substantially updated version of that change.


  Commit: d34be649af1aa849c21a5a0570617c3a89d5f0b8
      https://github.com/llvm/llvm-project/commit/d34be649af1aa849c21a5a0570617c3a89d5f0b8
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/lib/LTO/LTO.cpp

  Log Message:
  -----------
  [ThinLTO]Sort imported GUIDs before cache key update (#92622)

Add 'sort' here since it's helpful when container type
changes (for example, https://github.com/llvm/llvm-project/pull/88024
wants to change container type from `unordered_set` to `DenseMap)

@MaskRay points out `std::` doesn't randomize the iteration order of
`unordered_{set,map}`, and the iteration order for single build is
deterministic.


  Commit: 7b977e0f644c43232732e149b03d41de321d804e
      https://github.com/llvm/llvm-project/commit/7b977e0f644c43232732e149b03d41de321d804e
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

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

  Log Message:
  -----------
  [nfc][InstrFDO]Encapsulate header writes in a class member function (#90142)

The smaller class member are more focused and easier to maintain. This
also paves the way for partial header forward compatibility in
https://github.com/llvm/llvm-project/pull/88212

---------

Co-authored-by: Kazu Hirata <kazu at google.com>


  Commit: f87ed54e495eba7b9897654de4c17fbf101cb620
      https://github.com/llvm/llvm-project/commit/f87ed54e495eba7b9897654de4c17fbf101cb620
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M compiler-rt/lib/ctx_profile/CMakeLists.txt

  Log Message:
  -----------
  Reformat


  Commit: 9d15fc0060b584141674dddfedb06b0b58ad7aae
      https://github.com/llvm/llvm-project/commit/9d15fc0060b584141674dddfedb06b0b58ad7aae
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/lib/ctx_profile/CMakeLists.txt

  Log Message:
  -----------
  Quick fix for a waning in clang_rt.ctx_profile [-Wgnu-anonymous-struct]

`__sanitizer_siginfo` has been introduced in D142117.
(llvmorg-16-init-17950-ged9ef9b4f248)
It is incompatible to -pedantic.

`clang_rt.ctx_profile` has been introduced in #92456.


  Commit: b4ba3fe0068b2391e24ebf9a0ec6f56a8ac224b4
      https://github.com/llvm/llvm-project/commit/b4ba3fe0068b2391e24ebf9a0ec6f56a8ac224b4
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    A llvm/lib/Target/AMDGPU/AMDGPUCodeGenPassBuilder.cpp
    A llvm/lib/Target/AMDGPU/AMDGPUCodeGenPassBuilder.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    A llvm/lib/Target/AMDGPU/R600CodeGenPassBuilder.cpp
    A llvm/lib/Target/AMDGPU/R600CodeGenPassBuilder.h
    M llvm/lib/Target/AMDGPU/R600TargetMachine.cpp
    M llvm/lib/Target/AMDGPU/R600TargetMachine.h

  Log Message:
  -----------
  [NewPM][AMDGPU] Add CodeGenPassBuilder (#91040)

In order to test SelectionDAG for target AMDGPU, we need
CodeGenPassBuilder.


  Commit: ef890572f379273da09db964b9ea1b67aa324762
      https://github.com/llvm/llvm-project/commit/ef890572f379273da09db964b9ea1b67aa324762
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn

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


  Commit: 9940620f6eab50deeaed0d976b2ea0afd007ba24
      https://github.com/llvm/llvm-project/commit/9940620f6eab50deeaed0d976b2ea0afd007ba24
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-constbarrier-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-constbarrier-rv64.mir

  Log Message:
  -----------
  [GISel][RISCV] Legalize G_CONSTANT_FOLD_BARRIER (#89960)

This patch supports `G_CONSTANT_FOLD_BARRIER` on RISCV to generate the
following inst seq without crash:
```
define i64 @xor_and_i64(i64 %x) {
entry:
  %y = and i64 %x, 16383
  %z = xor i64 %y, 16368
  ret i64 %z
}
```


  Commit: 8b8a38a7b426fc724804602d7635134a0c63f08c
      https://github.com/llvm/llvm-project/commit/8b8a38a7b426fc724804602d7635134a0c63f08c
  Author: David Green <david.green at arm.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll

  Log Message:
  -----------
  [VectorCombine] Additional extend tests for shuffleToIdentity. NFC


  Commit: 689bba1eec31fa236e2febaa4bcf46bc89ba432b
      https://github.com/llvm/llvm-project/commit/689bba1eec31fa236e2febaa4bcf46bc89ba432b
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-19 (Sun, 19 May 2024)

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

  Log Message:
  -----------
  [DAG] canCreateUndefOrPoison - merge INSERT_VECTOR_ELT/EXTRACT_VECTOR_ELT cases. NFC.

The only difference is the operand index for the element index variable.


  Commit: 7fc524fe080a69e79bd1ce8925e680350b7e9d44
      https://github.com/llvm/llvm-project/commit/7fc524fe080a69e79bd1ce8925e680350b7e9d44
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
    M compiler-rt/test/ctx_profile/lit.cfg.py

  Log Message:
  -----------
  [ctx_profile] Pass lib path into test

Fixes build after cfe9deb1353021a1c1fe4731ec3e90f702dbd43d on
https://lab.llvm.org/buildbot/#/builders/37/builds/34828


  Commit: e0217ee7829cf49bc0caa8b814f6acc4c4b0836d
      https://github.com/llvm/llvm-project/commit/e0217ee7829cf49bc0caa8b814f6acc4c4b0836d
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    A llvm/test/CodeGen/X86/pr92569.ll

  Log Message:
  -----------
  [DAG] canCreateUndefOrPoison - only compute extract/index vector elt index knownbits when not poison

We were calling computeKnownBits to determine the bounds of the element index without ensuring that it wasn't poison, meaning if we did freeze the index, isGuaranteedNotToBeUndefOrPoison would then fail as we can't call computeKnownBits through FREEZE for potentially poison values.

Fixes #92569


  Commit: 9f5c8de3864b0be27a8b36cd891c5a28a3acfd27
      https://github.com/llvm/llvm-project/commit/9f5c8de3864b0be27a8b36cd891c5a28a3acfd27
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-19 (Sun, 19 May 2024)

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

  Log Message:
  -----------
  [DAG] visitAVG - rewrite "fold (avgfloor x, 0) -> x >> 1" to use SDPatternMatch

No need for this to be vector specific, and its more likely that scalar cases will appear after #92096


  Commit: 7273ad123850a7b44c0625d098ebb49153bf855a
      https://github.com/llvm/llvm-project/commit/7273ad123850a7b44c0625d098ebb49153bf855a
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-19 (Sun, 19 May 2024)

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

  Log Message:
  -----------
  [DAG] visitABD - rewrite "(abs x, 0)" folds to use SDPatternMatch

No need for this to be vector specific, and its more likely that scalar cases will appear after #92576


  Commit: ed9007d0d219726db01f211e9c9ab72fbfe4ecb1
      https://github.com/llvm/llvm-project/commit/ed9007d0d219726db01f211e9c9ab72fbfe4ecb1
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/test/Sema/attr-counted-by-vla.c

  Log Message:
  -----------
  Revert "[Bounds-Safety] Temporarily relax a `counted_by` attribute restriction on flexible array members"

Together with 0ec3b972e58bcbcdc1bebe1696ea37f2931287c3
breaks https://lab.llvm.org/buildbot/#/builders/5/builds/43403

Issue #92687

This reverts commit cef6387e52578366c2332275dad88b9953b55336.


  Commit: 6447abe067c8088a5cc093fe872719374e174068
      https://github.com/llvm/llvm-project/commit/6447abe067c8088a5cc093fe872719374e174068
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/Type.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/Type.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseObjc.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/TreeTransform.h
    R clang/test/AST/attr-counted-by-late-parsed-struct-ptrs.c
    R clang/test/AST/attr-counted-by-struct-ptrs.c
    R clang/test/Sema/attr-counted-by-late-parsed-off.c
    R clang/test/Sema/attr-counted-by-late-parsed-struct-ptrs.c
    R clang/test/Sema/attr-counted-by-struct-ptrs-sizeless-types.c
    R clang/test/Sema/attr-counted-by-struct-ptrs.c
    R clang/test/Sema/attr-counted-by-vla-sizeless-types.c
    R clang/test/Sema/attr-counted-by-vla.c
    A clang/test/Sema/attr-counted-by.c

  Log Message:
  -----------
  Revert "[BoundsSafety] Allow 'counted_by' attribute on pointers in structs in C (#90786)"

Memory leak: https://lab.llvm.org/buildbot/#/builders/5/builds/43403

Issue #92687

This reverts commit 0ec3b972e58bcbcdc1bebe1696ea37f2931287c3.


  Commit: c587483da0b50efa04146fde205da1d16731e12e
      https://github.com/llvm/llvm-project/commit/c587483da0b50efa04146fde205da1d16731e12e
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test

  Log Message:
  -----------
  Revert "[Bounds-Safety] Fix `pragma-attribute-supported-attributes-list.test`"

Issue #92687

This reverts commit 112eadd55f06bee15caadff688ea0b45acbfa804.


  Commit: 10edb4991c12738e60843d55cd9edbf6d702d9eb
      https://github.com/llvm/llvm-project/commit/10edb4991c12738e60843d55cd9edbf6d702d9eb
  Author: Alex Voicu <alexandru.voicu at amd.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenTypeCache.h
    M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
    M clang/test/CodeGenCXX/eh.cpp
    M clang/test/CodeGenCXX/nrvo.cpp
    M clang/test/CodeGenCXX/template-param-objects-address-space.cpp
    M clang/test/CodeGenCXX/throw-expression-typeinfo-in-address-space.cpp
    M clang/test/CodeGenCXX/try-catch-with-address-space.cpp
    M clang/test/CodeGenCXX/typeid-cxx11-with-address-space.cpp
    M clang/test/CodeGenCXX/typeid-with-address-space.cpp
    M clang/test/CodeGenCXX/typeinfo-with-address-space.cpp
    M clang/test/CodeGenCXX/vtable-assume-load-address-space.cpp
    M clang/test/CodeGenCXX/vtable-pointer-initialization-address-space.cpp
    M clang/test/CodeGenCXX/vtt-address-space.cpp
    M clang/test/CodeGenCXX/wasm-eh.cpp
    M llvm/examples/ExceptionDemo/ExceptionDemo.cpp
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/test/CodeGen/WebAssembly/lower-em-exceptions.ll
    M llvm/test/Transforms/GVNHoist/infinite-loop-indirect.ll
    M llvm/test/Transforms/Inline/inline_invoke.ll
    M llvm/test/Transforms/LICM/scalar-promote-unwind.ll
    M llvm/test/Transforms/LowerTypeTests/cfi-unwind-direct-call.ll
    M llvm/test/Transforms/NewGVN/2011-09-07-TypeIdFor.ll
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/test/Target/LLVMIR/Import/intrinsic.ll
    M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir

  Log Message:
  -----------
  [Clang][CodeGen] Start migrating away from assuming the Default AS is 0 (#88182)

At the moment, Clang is rather liberal in assuming that 0 (and by extension unqualified) is always a safe default. This does not work for targets that actually use a different value for the default / generic AS (for example, the SPIRV that obtains from HIPSPV or SYCL). This patch is a first, fairly safe step towards trying to clear things up by querying a modules' default AS from the target, rather than assuming it's 0, alongside fixing a few places where things break / we encode the 0 == DefaultAS assumption. A bunch of existing tests are extended to check for non-zero default AS usage.


  Commit: 0c7d268ba72767b70c7bf0bc8ae6422c509f94d8
      https://github.com/llvm/llvm-project/commit/0c7d268ba72767b70c7bf0bc8ae6422c509f94d8
  Author: aengelke <engelke at in.tum.de>
  Date:   2024-05-19 (Sun, 19 May 2024)

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

  Log Message:
  -----------
  [CodeGen][SDAG] Skip preferred extend at O0 (#92643)

This is a pure optimization to avoid redundant extensions, but iterating
over all users is expensive, so don't do this at -O0.


  Commit: 9e4ef0dee18c0c99325e8d56f16c149020e89d37
      https://github.com/llvm/llvm-project/commit/9e4ef0dee18c0c99325e8d56f16c149020e89d37
  Author: aengelke <engelke at in.tum.de>
  Date:   2024-05-19 (Sun, 19 May 2024)

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

  Log Message:
  -----------
  [CodeGen][SDAG] Track returntwice in lowering info (#92640)

This saves an extra iteration over the all instructions of the function.


  Commit: eab92cb7f33be16a6a17549182e9237112b7a183
      https://github.com/llvm/llvm-project/commit/eab92cb7f33be16a6a17549182e9237112b7a183
  Author: Nhat Nguyen <nhat7203 at gmail.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/include/llvm/Support/KnownBits.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/Support/KnownBits.cpp
    M llvm/unittests/Support/KnownBitsTest.cpp

  Log Message:
  -----------
  [llvm] Add KnownBits implementations for avgFloor and avgCeil (#86445)

This PR is to address the issue #84640


  Commit: c1c1567d60983298a0db0efefd78899985464f19
      https://github.com/llvm/llvm-project/commit/c1c1567d60983298a0db0efefd78899985464f19
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/test/Transforms/InstCombine/pow-to-ldexp.ll

  Log Message:
  -----------
  SimplifyLibCalls: Permit pow(2, x) -> ldexp(1, x) fold for vectors (#92532)


  Commit: b050048d35f6580fb427e6de9063444aa85625c6
      https://github.com/llvm/llvm-project/commit/b050048d35f6580fb427e6de9063444aa85625c6
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
    M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
    M llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll
    M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll

  Log Message:
  -----------
  [VPlan] Simplify (X && Y) || (X && !Y) -> X. (#89386)

Simplify a common pattern generated for masks when folding the tail.

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


  Commit: 643f36184bd3d9a95cbfd608af6f1cccc69e0187
      https://github.com/llvm/llvm-project/commit/643f36184bd3d9a95cbfd608af6f1cccc69e0187
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    A clang/docs/HLSL/AvailabilityDiagnostics.rst
    M clang/docs/HLSL/HLSLDocs.rst

  Log Message:
  -----------
  HLSL availability diagnostics design doc (#92207)

Design document for the HLSL availability diagnostic modes

Fixes microsoft/hlsl-specs#190

---------

Co-authored-by: Xiang Li <python3kgae at outlook.com>


  Commit: c34079c9455515fd1eb4feaa7613a57e88b7209d
      https://github.com/llvm/llvm-project/commit/c34079c9455515fd1eb4feaa7613a57e88b7209d
  Author: Isaac David <61389980+orion160 at users.noreply.github.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/docs/ORCv2.rst

  Log Message:
  -----------
  [DOCS] ORCv2.rst Typo (#89482)


  Commit: 3f33c4c14e79e68007cf1460e4a0e606eb199da5
      https://github.com/llvm/llvm-project/commit/3f33c4c14e79e68007cf1460e4a0e606eb199da5
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/ParsedAttr.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Index/CommentToXML.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Sema/SemaAPINotes.cpp
    M clang/lib/Sema/SemaAvailability.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/test/Parser/attr-availability.c
    M clang/test/Sema/attr-availability-ios.c
    A clang/test/SemaHLSL/Availability/attr-availability-compute.hlsl
    A clang/test/SemaHLSL/Availability/attr-availability-errors.hlsl
    A clang/test/SemaHLSL/Availability/attr-availability-mesh.hlsl
    A clang/test/SemaHLSL/Availability/attr-availability-pixel.hlsl
    R clang/test/SemaHLSL/AvailabilityMarkup.hlsl
    M clang/test/SemaHLSL/WaveBuiltinAvailability.hlsl

  Log Message:
  -----------
  [Clang][HLSL] Add environment parameter to availability attribute (#89809)

Add `environment` parameter to Clang availability attribute. The allowed
values for this parameter are a subset of values allowed in the
`llvm::Triple` environment component. If the `environment` parameters is
present, the declared availability attribute applies only to targets
with the same platform and environment.

This new parameter will be initially used for annotating HLSL functions
for the `shadermodel` platform because in HLSL built-in function
availability can depend not just on the shader model version (mapped to
`llvm::Triple::OSType`) but also on the target shader stage (mapped to
`llvm::Triple::EnvironmentType`). See example in #89802 and
microsoft/hlsl-specs#204 for more details.

The environment parameter is currently supported only for HLSL.

Fixes #89802


  Commit: 0cd2bf3521a52f255c2b0d466f2f48f15d4a89a9
      https://github.com/llvm/llvm-project/commit/0cd2bf3521a52f255c2b0d466f2f48f15d4a89a9
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fdiv.ll
    M llvm/test/Transforms/Attributor/nofpclass.ll
    M llvm/test/Transforms/InstCombine/and-fcmp.ll
    M llvm/test/Transforms/InstCombine/or-fcmp.ll

  Log Message:
  -----------
  ValueTracking: Correct undef handling for constant FP vectors (#92557)

Treat undef as unknown, and poison as ignorable.


  Commit: 878642954f5178c55b337afe2bff4e6a92a67a5b
      https://github.com/llvm/llvm-project/commit/878642954f5178c55b337afe2bff4e6a92a67a5b
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/test/X86/bb-with-two-tail-calls.s

  Log Message:
  -----------
  [BOLT] Fix preserved offset in fixDoubleJumps (#92485)


  Commit: fb2c6597e39e9e1a775525ea0236b2f89e46acff
      https://github.com/llvm/llvm-project/commit/fb2c6597e39e9e1a775525ea0236b2f89e46acff
  Author: Leon Clark <PeddleSpam at users.noreply.github.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ctlz-zero-undef.mir
    M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll

  Log Message:
  -----------
  [AMDGPU] Use LSH for lowering ctlz_zero_undef.i8/i16 (#88512)

Use LSH to lower ctlz_zero_undef instead of subtracting leading zeros
for i8 and i16.

Related to [77615](https://github.com/llvm/llvm-project/pull/77615).

---------

Co-authored-by: Leon Clark <leoclark at amd.com>


  Commit: ad625a407622ba5817ef58e30357139a40cf929e
      https://github.com/llvm/llvm-project/commit/ad625a407622ba5817ef58e30357139a40cf929e
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-19 (Sun, 19 May 2024)

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

  Log Message:
  -----------
  [TableGen] Avoid std::string copy. NFC

Fix #92702


  Commit: 7892d434741ba0ac755e00ae96ca7cdcfaf82d35
      https://github.com/llvm/llvm-project/commit/7892d434741ba0ac755e00ae96ca7cdcfaf82d35
  Author: Ryuichi Watanabe <ryucrosskey at gmail.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M .github/workflows/llvm-bugs.yml

  Log Message:
  -----------
  Update llvm-bugs.yml (#77243)


  Commit: b603237b6c067e82a7c6b73adb7e18c8edfb40dd
      https://github.com/llvm/llvm-project/commit/b603237b6c067e82a7c6b73adb7e18c8edfb40dd
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/Option/OptTable.cpp
    M llvm/lib/ProfileData/InstrProfCorrelator.cpp
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp

  Log Message:
  -----------
  [llvm] Use operator==(StringRef, StringRef) (NFC) (#92705)


  Commit: 2d5e488c98225108aebfe4aa4acfe6ec1f234a37
      https://github.com/llvm/llvm-project/commit/2d5e488c98225108aebfe4aa4acfe6ec1f234a37
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

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

  Log Message:
  -----------
  [clang-format][NFC] Clean up SortIncludesTest.cpp

Wherever applicable, replace EXPECT_EQ with verifyFormat and std::string
with StringRef. Also, change a raw string literal to a regular one.


  Commit: 2f52bbeb6f6f3b7abef19cb5297773d95aa0b434
      https://github.com/llvm/llvm-project/commit/2f52bbeb6f6f3b7abef19cb5297773d95aa0b434
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp

  Log Message:
  -----------
  [mlir] Use operator==(StringRef, StringRef) (NFC) (#92706)


  Commit: 5d3f296733b66281a53dd451a983e69ae0bb482f
      https://github.com/llvm/llvm-project/commit/5d3f296733b66281a53dd451a983e69ae0bb482f
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/CallPromotionUtils.h
    M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
    M llvm/unittests/Transforms/Utils/CallPromotionUtilsTest.cpp

  Log Message:
  -----------
  [CallPromotionUtils]Implement conditional indirect call promotion with vtable-based comparison (#81378)

* Given the code sequence
   ```
   bb:
     %vtable = load ptr, ptr %d, !prof !8
     %vfn = getelementptr inbounds ptr, ptr %vtable, i64 1
     %1 = load ptr, ptr %vfn
     %call = tail call i32 %1(ptr %d), !prof !9
  ```
   The transformation looks like

   ```
   bb:
    %vtable = load ptr, ptr %d, align 8
    %vfn = getelementptr inbounds i8, ptr %vtable, i64 8  <-- Inst 1
    %func-addr = load ptr, ptr %vfn, align 8  <-- Inst 2
    # compare loaded pointers with address point of vtables
%1 = icmp eq ptr %vtable, getelementptr inbounds (i8, ptr @_ZTV<VTable>,
i32 16)
br i1 %1, label %if.true.direct_targ, label %if.false.orig_indirect,
!prof !18

  if.true.direct_targ:                              ; preds = %bb
    %2 = tail call i32 @<direct-call>(ptr nonnull %d)
    br label %if.end.icp

  if.false.orig_indirect:                           ; preds = %bb
    %call = tail call i32 %func-addr(ptr nonnull %d)
    br label %if.end.icp

if.end.icp: ; preds = %if.false.orig_indirect, %if.true.direct_targ
%4 = phi i32 [ %call, %if.false.orig_indirect ], [ %2,
%if.true.direct_targ ]

   ```
It's intentional that `Inst 1` and `Inst2` remains in `bb` (not in
`if.false.orig_indirect`). A follow up patch will implement code to sink
them (something like how `instcombine` would
[sink](https://github.com/llvm/llvm-project/blob/2fcfc9754a16805b81e541dc8222a8b5cf17a121/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp#L4293)
instructions along with [debug
intrinsics](https://github.com/llvm/llvm-project/blob/2fcfc9754a16805b81e541dc8222a8b5cf17a121/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp#L4356-L4368)
if possible)

* The parent patch is https://github.com/llvm/llvm-project/pull/81181


  Commit: d102ee63e849cdaa586fd1aaae900c1399bf2b76
      https://github.com/llvm/llvm-project/commit/d102ee63e849cdaa586fd1aaae900c1399bf2b76
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M clang-tools-extra/modularize/ModularizeUtilities.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp

  Log Message:
  -----------
  [clang] Use operator==(StringRef, StringRef) (NFC) (#92708)


  Commit: 0bced10f290bb96d675874a89f1b6789a2384e30
      https://github.com/llvm/llvm-project/commit/0bced10f290bb96d675874a89f1b6789a2384e30
  Author: Freddy Ye <freddy.ye at intel.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    A llvm/test/CodeGen/X86/vec-strict-cmp-512-skx.ll

  Log Message:
  -----------
  [SDAG][X86] Extend SplitVecOp_VSETCC for STRICT_FSETCC. (#92509)


  Commit: 89d0937348ebd4b55f17d503910be9300aa44a13
      https://github.com/llvm/llvm-project/commit/89d0937348ebd4b55f17d503910be9300aa44a13
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/IR/Mangler.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/TextAPI/Utils.cpp

  Log Message:
  -----------
  [llvm] Use StringRef::contains (NFC) (#92710)


  Commit: fc0144a30cf20d6405411da141d11bfde143d3d2
      https://github.com/llvm/llvm-project/commit/fc0144a30cf20d6405411da141d11bfde143d3d2
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/Serialization/ASTReaderDecl.cpp
    A clang/test/Modules/pr91418.cppm
    M clang/test/OpenMP/nvptx_lambda_capturing.cpp

  Log Message:
  -----------
  [Serialization] Read the initializer for interesting static variables before consuming it (#92353)

Close https://github.com/llvm/llvm-project/issues/91418

Since we load the variable's initializers lazily, it'd be problematic if
the initializers dependent on each other. So here we try to load the
initializers of static variables to make sure they are passed to code
generator by order. If we read any thing interesting, we would consume
that before emitting the current declaration.


  Commit: 91423d71938d7a1dba27188e6d854148a750a3dd
      https://github.com/llvm/llvm-project/commit/91423d71938d7a1dba27188e6d854148a750a3dd
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M bolt/lib/Profile/YAMLProfileReader.cpp
    A bolt/test/X86/yaml-non-simple.test

  Log Message:
  -----------
  [BOLT][NFC] Don't assign YAML profile to functions with no CFG (#92487)

YAML profile for non-simple functions without CFG is
  1) useless for optimizations,
  2) can't be attached, similar to fdata profile,
  3) would be reported as invalid/stale even if the profile is valid.

Don't attempt to attach the profile in this case, aligning the behavior
to DataReader.

Test Plan: added yaml-non-simple.test


  Commit: 6bf1601a0d9a01fe663442096466d46800483e0c
      https://github.com/llvm/llvm-project/commit/6bf1601a0d9a01fe663442096466d46800483e0c
  Author: Monad <yanwqmonad at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/test/Transforms/InstCombine/cast_ptr.ll

  Log Message:
  -----------
  [InstCombine] Fold pointer adding in integer to arithmetic add (#91596)

Fold
``` llvm
define i32 @src(i32 %x, i32 %y) {
  %base = inttoptr i32 %x to ptr
  %ptr = getelementptr inbounds i8, ptr %base, i32 %y
  %r = ptrtoint ptr %ptr to i32
  ret i32 %r
}
```
where both `%base` and `%ptr` have only one use, to
``` llvm
define i32 @tgt(i32 %x, i32 %y) {
  %r = add i32 %x, %y
  ret i32 %r
}
```

The `add` can be `nuw` if the GEP is `inbounds` and the offset is
non-negative. The relevant Alive2 proof is
https://alive2.llvm.org/ce/z/nP3RWy.

### Motivation

It seems unnecessary to convert `int` to `ptr` just to get its offset.
In most cases, they generates the same assembly, but sometimes it may
miss some optimizations since the analysis of `GEP` is not as perfect as
that of arithmetic operation. One example is


https://github.com/dtcxzyw/llvm-opt-benchmark/blob/e3c822bf41df3a88ca38eba884a52b0cc7e70bf2/bench/protobuf/optimized/generated_message_reflection.cc.ll#L39860-L39873

``` llvm
  %conv.i188 = zext i32 %145 to i64
  %add.i189 = add i64 %conv.i188, %125
  %146 = load i16, ptr %num_aux_entries10.i, align 2
  %conv2.i191 = zext i16 %146 to i64
  %mul.i192 = shl nuw nsw i64 %conv2.i191, 3
  %add3.i193 = add i64 %add.i189, %mul.i192
  %147 = inttoptr i64 %add3.i193 to ptr
  %sub.ptr.lhs.cast.i195 = ptrtoint ptr %144 to i64
  %sub.ptr.rhs.cast.i196 = ptrtoint ptr %143 to i64
  %sub.ptr.sub.i197 = sub i64 %sub.ptr.lhs.cast.i195, %sub.ptr.rhs.cast.i196
  %add.ptr = getelementptr inbounds i8, ptr %147, i64 %sub.ptr.sub.i197
  %sub.ptr.lhs.cast = ptrtoint ptr %add.ptr to i64
  %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %125
```

where `%conv.i188` first adds `%125` and then subtracts `%125` (the
result is `%sub.ptr.sub`), which can be optimized.


  Commit: ebbbc73667a68dcfbe09392a1d34050592b234fd
      https://github.com/llvm/llvm-project/commit/ebbbc73667a68dcfbe09392a1d34050592b234fd
  Author: Chaitanya <Krishna.Sankisa at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

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

  Log Message:
  -----------
  [AMDGPU] Use removeFnAttrFromReachable in lower-module-lds pass. (#92686)


  Commit: f6527774569790b5a5236f6e84f3f839ce6c2fff
      https://github.com/llvm/llvm-project/commit/f6527774569790b5a5236f6e84f3f839ce6c2fff
  Author: Austin Kerbow <Austin.Kerbow at amd.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll

  Log Message:
  -----------
  [AMDGPU] Fix kernarg preloading crash with some types and alignments (#91625)

Lowering of preloded arguments would fail with half/bfloat if they were
dword aligned in the kernarg segment and not part of a vector. Added
more tests with different alignments and types.


  Commit: 8de7890572296830b27b6e6db39b36810bc98c31
      https://github.com/llvm/llvm-project/commit/8de7890572296830b27b6e6db39b36810bc98c31
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/include/llvm/Transforms/IPO/FunctionImport.h
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/LTO/LTOBackend.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/test/ThinLTO/X86/funcimport-stats.ll
    A llvm/test/ThinLTO/X86/import_callee_declaration.ll
    M llvm/test/Transforms/FunctionImport/funcimport.ll
    M llvm/tools/llvm-link/llvm-link.cpp

  Log Message:
  -----------
  [ThinLTO] Populate declaration import status except for distributed ThinLTO under a default-off new option (#88024)

The goal is to populate `declaration` import status if a new flag`-import-declaration` is on.

* For in-process ThinLTO, the `declaration` status is visible to backend
`function-import` pass, so `FunctionImporter::importFunctions` should
read the import status and be no-op for declaration summaries.
Basically, the postlink pipeline is updated to keep its current behavior
(import definitions), but not updated to handle `declaration` summaries.
Two use cases (better call-graph sort and cross-module auto-init)
would use this bit differently.

* For distributed ThinLTO, the `declaration` status is not serialized to
bitcode. As discussed, https://github.com/llvm/llvm-project/pull/87600
will do this.

[1] https://discourse.llvm.org/t/rfc-for-better-call-graph-sort-build-a-more-complete-call-graph-by-adding-more-indirect-call-edges/74029#support-cross-module-function-declaration-import-5
[2] https://github.com/llvm/llvm-project/pull/87597#discussion_r1556067195


  Commit: d316a0bd48ceb4a0ee851d729291a2cdcc8818eb
      https://github.com/llvm/llvm-project/commit/d316a0bd48ceb4a0ee851d729291a2cdcc8818eb
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/lib/Serialization/ASTCommon.h
    M clang/lib/Serialization/ASTWriter.cpp

  Log Message:
  -----------
  [NFC] Remove unused ASTWriter::getTypeID

As the title suggests, the `ASTWriter:getTypeID` method is not used.
This patch removes it.


  Commit: b6e102e08cd35543175459494211a3a15f793302
      https://github.com/llvm/llvm-project/commit/b6e102e08cd35543175459494211a3a15f793302
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/ConstantFolding.h
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Analysis/ScalarEvolution/exhaustive-trip-counts.ll

  Log Message:
  -----------
  [SCEV] Don't use non-deterministic constant folding for trip counts (#90942)

When calculating the exit count exhaustively, if any of the involved
operations is non-deterministic, the exit count we compute at
compile-time and the exit count at run-time may differ. Using these
non-deterministic constant folding results is only correct if we
actually replace all uses of the instruction with the value. SCEV (or
its consumers) generally don't do this.

Handle this by adding a new AllowNonDeterministic flag to the constant
folding API, and disabling it in SCEV. If non-deterministic results are
not allowed, do not fold FP lib calls in general, and FP operations
returning NaNs in particular. This could be made more precise (some FP
libcalls like fabs are fully deterministic), but I don't think this that
precise handling here is worthwhile.

Fixes the interesting part of
https://github.com/llvm/llvm-project/issues/89885.


  Commit: 6b0733e3a35350679ea9c6056ecd28652d99017f
      https://github.com/llvm/llvm-project/commit/6b0733e3a35350679ea9c6056ecd28652d99017f
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/include/llvm/Transforms/IPO/FunctionImport.h
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/LTO/LTOBackend.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/test/ThinLTO/X86/funcimport-stats.ll
    R llvm/test/ThinLTO/X86/import_callee_declaration.ll
    M llvm/test/Transforms/FunctionImport/funcimport.ll
    M llvm/tools/llvm-link/llvm-link.cpp

  Log Message:
  -----------
  Revert "[ThinLTO] Populate declaration import status except for distributed ThinLTO under a default-off new option" (#92715)

Reverts llvm/llvm-project#88024

Build bot failures
(https://lab.llvm.org/buildbot/#/builders/259/builds/4727 and
https://lab.llvm.org/buildbot/#/builders/9/builds/43876)


  Commit: 32ae9a28a54f59f2b4e2f32323f53fb107ea1f85
      https://github.com/llvm/llvm-project/commit/32ae9a28a54f59f2b4e2f32323f53fb107ea1f85
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/CodeGen/ParallelCG.cpp
    M llvm/lib/LTO/LTOBackend.cpp

  Log Message:
  -----------
  [llvm] Use SmallString::str (NFC) (#92712)


  Commit: 7529fe2e92e79eef22a528a7168e4dd777d6e9bd
      https://github.com/llvm/llvm-project/commit/7529fe2e92e79eef22a528a7168e4dd777d6e9bd
  Author: Jessica Clarke <jrtc27 at jrtc27.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

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

  Log Message:
  -----------
  [AMDGPU] Only set Info.memVT when not later overridden (#92670)

For the amdgcn_*_buffer_load_lds intrinsics this field is later
overriden, so avoid pointlessly calling MVT::getVT in that case.
Importantly, this is also the only case I can find in tree where a
PointerType is passed to MVT::getVT, so this will allow us to forbid
doing so in future, keeping MVT::iPTR as originating solely from
TableGen as was claimed next to its definition in MachineValueType.h
(but lost in the autogeneration conversion).


  Commit: 9500a5d02e23f9b43294e5f662ac099f8989c0e4
      https://github.com/llvm/llvm-project/commit/9500a5d02e23f9b43294e5f662ac099f8989c0e4
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M clang/tools/driver/cc1as_main.cpp
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
    M llvm/lib/MC/MCDwarf.cpp
    M llvm/lib/MC/MCObjectStreamer.cpp
    M llvm/lib/MC/MCStreamer.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
    M llvm/test/MC/AsmParser/assembler-expressions-inlineasm.ll
    M llvm/tools/llvm-mc/llvm-mc.cpp
    M llvm/tools/llvm-ml/llvm-ml.cpp

  Log Message:
  -----------
  [MC] Make UseAssemblerInfoForParsing mostly true

Commit 6c0665e22174d474050e85ca367424f6e02476be
(https://reviews.llvm.org/D45164) enabled certain constant expression
evaluation for `MCObjectStreamer` at parse time (e.g. `.if` directives,
see llvm/test/MC/AsmParser/assembler-expressions.s).

`getUseAssemblerInfoForParsing` was added to make `clang -c` handling
inline assembly similar to `MCAsmStreamer` (e.g. `llvm-mc -filetype=asm`),
where such expression folding (related to
`AttemptToFoldSymbolOffsetDifference`) is unavailable.

I believe this is overly conservative. We can make some parse-time
expression folding work for `clang -c` even if `clang -S` would still
report an error, a MCAsmStreamer issue (we cannot print `.if`
directives) that should not restrict the functionality of
MCObjectStreamer.

```
% cat b.cc
asm(R"(
.pushsection .text,"ax"
.globl _start; _start: ret
.if . -_start == 1
  ret
.endif
.popsection
)");
% gcc -S b.cc && gcc -c b.cc
% clang -S -fno-integrated-as b.cc     # succeeded

% clang -c b.cc     # succeeded with this patch
% clang -S b.cc     # still failed
<inline asm>:4:5: error: expected absolute expression
    4 | .if . -_start == 1
      |     ^
1 error generated.
```

However, removing `getUseAssemblerInfoForParsing` would make
MCDwarfFrameEmitter::Emit (for .eh_frame FDE) slow (~4% compile time
regression for sqlite3.c amalgamation) due to expensive
`AttemptToFoldSymbolOffsetDifference`. For now, make
`UseAssemblerInfoForParsing` false in MCDwarfFrameEmitter::Emit.

Close #62520
Link: https://discourse.llvm.org/t/rfc-clang-assembly-object-equivalence-for-files-with-inline-assembly/78841

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


  Commit: eac743d1b01fd44bc742e1ccc2be8360908bdbf8
      https://github.com/llvm/llvm-project/commit/eac743d1b01fd44bc742e1ccc2be8360908bdbf8
  Author: YunQiang Su <syq at debian.org>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h
    M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
    M llvm/test/CodeGen/Mips/msa/inline-asm.ll

  Log Message:
  -----------
  MIPS: Support '%w' token in inline asm template for MSA (#91920)

MSA registers share the FPRs as its bottom half. So that we can use MSA
instructions to work with normal float/double:
   double a, b, c;
   asm volatile ("fmadd.d %w0, %w1, %w2" : "+f"(a) : "f"(b), "f"(c));

GCC has support it for quite long time.


  Commit: d59bc6b5c75384aa0b1e78cc85e17e8acaccebaf
      https://github.com/llvm/llvm-project/commit/d59bc6b5c75384aa0b1e78cc85e17e8acaccebaf
  Author: YunQiang Su <syq at debian.org>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Arch/Mips.cpp
    M clang/test/Driver/mips-as.c
    M clang/test/Driver/mips-features.c

  Log Message:
  -----------
  Clang/MIPS: Add +fp64 if MSA and no explicit -mfp option (#91949)

MSA requires -mfp64. If FP64 is supported by CPU (mips32r2+), and no
-mfp32/-mfpxx is explicitly given, let's add +fp64. Otherwise some cmd
like
   clang --target=mips -mips32r5 -mmsa
will issue LLVM backend ICE.


  Commit: 073488cb1f2ca131253efa3171bd56be34ba9fb3
      https://github.com/llvm/llvm-project/commit/073488cb1f2ca131253efa3171bd56be34ba9fb3
  Author: YunQiang Su <syq at debian.org>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/Basic/Targets/Mips.h

  Log Message:
  -----------
  MIPS/Clang: Use FP32 by default if CPU is mips1 (#92122)

FP32 is the only supported FPMode of mips1.
FPXX requires MIPS2+ and FP64 requires MIPS32r2+.


  Commit: dd8cb3d4f120edcf5fc3939594ee086c44010274
      https://github.com/llvm/llvm-project/commit/dd8cb3d4f120edcf5fc3939594ee086c44010274
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M lld/ELF/SyntheticSections.cpp
    M lld/test/ELF/mips-eh_frame-pic.s

  Log Message:
  -----------
  [ELF] Support high address DW_EH_sdata4 for ELFCLASS32

When the address pointer encoding in FDEs uses
DW_EH_PE_absptr|DW_EH_PE_sdata4, the address is sign-extended to 64-bit
by `readFdeAddr`. We should truncate the address to 32-bit for
ELFCLASS32. Otherwise, `isInt<32>(pc - va)` could be false, leading to a
spurious error in `getFdeData`.

In LLVM, this appears a MIPS-specific issue.
Fix #88852

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


  Commit: 2143b7cd7d184b3f3bc4a997ea925ab7574c93f9
      https://github.com/llvm/llvm-project/commit/2143b7cd7d184b3f3bc4a997ea925ab7574c93f9
  Author: Chen Zheng <czhengsz at cn.ibm.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    A llvm/test/CodeGen/PowerPC/pr92233.ll

  Log Message:
  -----------
  [PowerPC]perform bitcast lowering only at 64 bit

Perform bitcast lowering requires 64-bit to be native supported,
However this is not true on 32-bit targets. Explicitly require
64-bit target.

Fixes #92233


  Commit: a027bea438e285380450f5b380be072f44ee0312
      https://github.com/llvm/llvm-project/commit/a027bea438e285380450f5b380be072f44ee0312
  Author: hev <wangrui at loongson.cn>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/test/CodeGen/LoongArch/ir-instruction/sdiv-udiv-srem-urem.ll

  Log Message:
  -----------
  [LoongArch] Select {DIV,MOD}.{W,WU} instruction to eliminate explicit sign extension (#92205)


  Commit: 6582efc263c0df921b88b03bbdcd28a89daaa641
      https://github.com/llvm/llvm-project/commit/6582efc263c0df921b88b03bbdcd28a89daaa641
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/test/SemaCXX/type-traits.cpp

  Log Message:
  -----------
  [Clang] Fix __is_array returning true for zero-sized arrays (#86652)

Fixes #54705


  Commit: da6a0b7af29a222b2e16a10155b49d4fafe967f3
      https://github.com/llvm/llvm-project/commit/da6a0b7af29a222b2e16a10155b49d4fafe967f3
  Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/Headers/opencl-c-base.h
    M clang/lib/Headers/opencl-c.h
    M clang/lib/Sema/OpenCLBuiltins.td

  Log Message:
  -----------
  [OpenCL] Add cl_khr_kernel_clock builtins (#91950)


  Commit: 50b2bd4a25bb3a7a0790cb59e1240099efd7092e
      https://github.com/llvm/llvm-project/commit/50b2bd4a25bb3a7a0790cb59e1240099efd7092e
  Author: Daniel Grumberg <dgrumberg at apple.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/include/clang/ExtractAPI/Serialization/SymbolGraphSerializer.h
    M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
    M clang/test/ExtractAPI/objc_external_category.m

  Log Message:
  -----------
  [clang][ExtractAPI] Remove symbols defined in categories to external types unless requested (#92522)

rdar://128259890


  Commit: b60e62896e2665e1a0ac51fc9942c1c4d31c0f53
      https://github.com/llvm/llvm-project/commit/b60e62896e2665e1a0ac51fc9942c1c4d31c0f53
  Author: Elvis Wang <110374989+ElvisWang123 at users.noreply.github.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    A llvm/test/Analysis/CostModel/RISCV/cmp-select.ll

  Log Message:
  -----------
  [RISCV][CostModel] Remove cost of icmp inst in icmp+select with SFB. (#91158)

With ShortFowrardBranchOpt(SFB) or ConditionalMoveFusion, scalar
ICmp and scalar Select instructions will lower to SELECT_CC
and lower to PseudoCCMOVGPR which will generate a conditional
branch instruction and a move instruction.
The cost of scalar (ICmp + Select) = (0 + Select instruction cost)


  Commit: f5211d79b9edf56c08143491ccde38d480b40ab8
      https://github.com/llvm/llvm-project/commit/f5211d79b9edf56c08143491ccde38d480b40ab8
  Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/GVNSink.cpp
    A llvm/test/Transforms/GVNSink/sink-ignore-dbg-intrinsics.ll

  Log Message:
  -----------
  [DebugInfo][GVNSink] Fix #77415: GVNSink fails to optimize LLVM IR with debug info (#77602)

This PR fixes issue #77415 and is revised from PR #77419 .

PR #77419 breaks the newly added test in the same PR on windows, because
GVNSink is non-deterministic when sorting `BasicBlock*` pointers. This
is reflected in the failure report.

```
# | C:\src\llvm-project\llvm\test\Transforms\GVNSink\sink-ignore-dbg-intrinsics.ll:28:10: error: CHECK: expected string not found in input
# | ; CHECK: %a.sink = phi i32 [ %a, %if.then ], [ %b, %if.else ]
# |          ^
# | <stdin>:24:8: note: scanning from here
# | if.end: ; preds = %if.else, %if.then
# |        ^
# | <stdin>:25:2: note: possible intended match here
# |  %b.sink = phi i32 [ %b, %if.else ], [ %a, %if.then ]
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\src\llvm-project\llvm\test\Transforms\GVNSink\sink-ignore-dbg-intrinsics.ll
```

According to the report, what the CheckFile wants to match is the
`%a.sink`, however there is `%b.sink`. But this mismatch does not mean
that this commit is wrong, since the occurrence of either `%a.sink` or
`%b.sink` is correct. The root cause of this test failure is the strict
check rule in the regression test committed.

So I refined the regression test with a more general check rule to only
detect whether there is an instruction with suffix `.sink` in the
`if.end` block. Hope this won't fail the test. If this PR still fails to
build, I will close this PR and try to find another right way to fix
this.


  Commit: d3d6565c2453be2f580ff12b32cc5d0cb5c6c9d8
      https://github.com/llvm/llvm-project/commit/d3d6565c2453be2f580ff12b32cc5d0cb5c6c9d8
  Author: hanbeom <kese111 at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    A llvm/test/CodeGen/AArch64/movimm-expand-ldst.ll
    A llvm/test/CodeGen/AArch64/movimm-expand-ldst.mir

  Log Message:
  -----------
  [AArch64] Add PreTest for optimizing `MOV` to `ORR`


  Commit: 384bf545a1a7d8dfd16afd20ef07eb845495bac4
      https://github.com/llvm/llvm-project/commit/384bf545a1a7d8dfd16afd20ef07eb845495bac4
  Author: bd1976bris <bd1976llvm at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/PS4CPU.cpp
    M clang/test/Driver/ps4-ps5-visibility-dllstorageclass.c
    A clang/test/Driver/ps4-visibility.cl
    A clang/test/Driver/ps5-visibility.cl

  Log Message:
  -----------
  [Driver][PS5] Set visibility option defaults (#92091)

Adjust the PS5 driver defaults for the -fvisibility-from-dllstorageclass
sub-options so that only globals with dllimport/dllexport annotations
are adjusted. This allows globals without dllimport/export to retain
the visibility and pre-emptability assigned during IR-Gen. Set
-fvisibility=hidden on PS5 by default to compensate for no longer
overriding the visibility of definitions without dllexport. Note there
is no behavior change for PS4 (the behavior of overriding the
visibility for all globals is retained on PS4).


  Commit: ce1a0d8ad380d12dc7ea001cfab3749bb23d445d
      https://github.com/llvm/llvm-project/commit/ce1a0d8ad380d12dc7ea001cfab3749bb23d445d
  Author: hanbeom <kese111 at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ExpandImm.cpp
    M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
    M llvm/test/CodeGen/AArch64/movimm-expand-ldst.ll
    M llvm/test/CodeGen/AArch64/movimm-expand-ldst.mir

  Log Message:
  -----------
  [AArch64] Optimize `MOV` to `ORR` when load symmetric constants (#86249)

This change looks for cases of symmetric constant loading.
`symmetric constant load` is when the upper 32 bits and lower 32 bits
of a 64-bit register load the same value.

When it finds this, it replaces it with an instruction that loads only
the lower 32 bits of the constant and stores it in the upper and lower
bits simultaneously.

For example:
  renamable $x8 = MOVZXi 49370, 0
  renamable $x8 = MOVKXi $x8, 320, 16
  renamable $x8 = MOVKXi $x8, 49370, 32
  renamable $x8 = MOVKXi $x8, 320, 48
becomes
  renamable $x8 = MOVZXi 49370, 0
  renamable $x8 = MOVKXi $x8, 320, 16
  renamable $x8 = ORRXrs $x8, $x8, 32


  Commit: 702a2b627ff4b2a5d330a7bd0d3f7cadaff0b4ed
      https://github.com/llvm/llvm-project/commit/702a2b627ff4b2a5d330a7bd0d3f7cadaff0b4ed
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    A clang/test/CoverageMapping/mcdc-system-headers.cpp

  Log Message:
  -----------
  [Coverage] Rework !SystemHeadersCoverage (#91446)

- Introduce `LeafExprSet`,
  - Suppress traversing LAnd and LOr expr under system headers.
- Handle LAnd and LOr as instrumented leaves to override
`!isInstrumentedCondition(C)`.
- Replace Loc with FileLoc if it is expanded with system headers.

Fixes #78920


  Commit: 2217d1706a76d3f298899f824354ca9d96c45813
      https://github.com/llvm/llvm-project/commit/2217d1706a76d3f298899f824354ca9d96c45813
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/TestDataFormatterLibcxxChrono.py

  Log Message:
  -----------
  [lldb][Windows] Fixed LibcxxChronoTimePointSecondsSummaryProvider() (#92701)

This patch fixes #92574. It is a replacement for #92575.


  Commit: 8e8d2595dafa230a3da7f410200d89f05b6e8d87
      https://github.com/llvm/llvm-project/commit/8e8d2595dafa230a3da7f410200d89f05b6e8d87
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/test/CodeGen/RISCV/riscv-inline-asm.c
    M clang/test/CodeGen/attr-counted-by.c
    M clang/test/CodeGenCXX/atomicinit.cpp
    M clang/test/CodeGenCXX/auto-var-init.cpp
    M clang/test/Profile/c-unreachable-after-switch.c
    M compiler-rt/test/profile/Linux/counter_promo_for.c
    M compiler-rt/test/profile/Linux/counter_promo_while.c
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/test/Other/constant-fold-gep.ll
    M llvm/test/Other/optimize-inrange-gep.ll
    M llvm/test/Transforms/FunctionSpecialization/function-specialization-constant-expression.ll
    M llvm/test/Transforms/GVN/PRE/load-pre-licm.ll
    M llvm/test/Transforms/GVN/PRE/phi-translate-2.ll
    M llvm/test/Transforms/IndVarSimplify/D108043.ll
    M llvm/test/Transforms/IndVarSimplify/eliminate-exit-no-dl.ll
    M llvm/test/Transforms/IndVarSimplify/floating-point-small-iv.ll
    M llvm/test/Transforms/IndVarSimplify/lftr-dead-ivs.ll
    M llvm/test/Transforms/IndVarSimplify/lftr.ll
    M llvm/test/Transforms/InstCombine/addrspacecast.ll
    M llvm/test/Transforms/InstCombine/align-addr.ll
    M llvm/test/Transforms/InstCombine/binop-select-cast-of-select-cond.ll
    M llvm/test/Transforms/InstCombine/constant-fold-address-space-pointer.ll
    M llvm/test/Transforms/InstCombine/constant-fold-gep.ll
    M llvm/test/Transforms/InstCombine/fmul.ll
    M llvm/test/Transforms/InstCombine/force-opaque-ptr.ll
    M llvm/test/Transforms/InstCombine/fortify-folding.ll
    M llvm/test/Transforms/InstCombine/gep-custom-dl.ll
    M llvm/test/Transforms/InstCombine/getelementptr.ll
    M llvm/test/Transforms/InstCombine/hoist-xor-by-constant-from-xor-by-value.ll
    M llvm/test/Transforms/InstCombine/loadstore-alignment.ll
    M llvm/test/Transforms/InstCombine/memchr-2.ll
    M llvm/test/Transforms/InstCombine/memchr-4.ll
    M llvm/test/Transforms/InstCombine/memchr-6.ll
    M llvm/test/Transforms/InstCombine/memchr-7.ll
    M llvm/test/Transforms/InstCombine/memchr-8.ll
    M llvm/test/Transforms/InstCombine/memchr-9.ll
    M llvm/test/Transforms/InstCombine/memchr.ll
    M llvm/test/Transforms/InstCombine/memcmp-8.ll
    M llvm/test/Transforms/InstCombine/memcpy-from-global.ll
    M llvm/test/Transforms/InstCombine/memrchr-3.ll
    M llvm/test/Transforms/InstCombine/memrchr-4.ll
    M llvm/test/Transforms/InstCombine/merging-multiple-stores-into-successor.ll
    M llvm/test/Transforms/InstCombine/objsize.ll
    M llvm/test/Transforms/InstCombine/pr25342.ll
    M llvm/test/Transforms/InstCombine/pr33453.ll
    M llvm/test/Transforms/InstCombine/pr38984-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/pr38984.ll
    M llvm/test/Transforms/InstCombine/pr83947.ll
    M llvm/test/Transforms/InstCombine/ptr-replace-alloca.ll
    M llvm/test/Transforms/InstCombine/rem.ll
    M llvm/test/Transforms/InstCombine/select-and-or.ll
    M llvm/test/Transforms/InstCombine/simplify-libcalls-i16.ll
    M llvm/test/Transforms/InstCombine/simplify-libcalls.ll
    M llvm/test/Transforms/InstCombine/snprintf-2.ll
    M llvm/test/Transforms/InstCombine/snprintf-3.ll
    M llvm/test/Transforms/InstCombine/snprintf-4.ll
    M llvm/test/Transforms/InstCombine/stpcpy-1.ll
    M llvm/test/Transforms/InstCombine/stpcpy_chk-1.ll
    M llvm/test/Transforms/InstCombine/stpncpy-1.ll
    M llvm/test/Transforms/InstCombine/str-int-2.ll
    M llvm/test/Transforms/InstCombine/str-int-3.ll
    M llvm/test/Transforms/InstCombine/str-int-4.ll
    M llvm/test/Transforms/InstCombine/str-int-5.ll
    M llvm/test/Transforms/InstCombine/str-int.ll
    M llvm/test/Transforms/InstCombine/strcall-bad-sig.ll
    M llvm/test/Transforms/InstCombine/strcall-no-nul.ll
    M llvm/test/Transforms/InstCombine/strchr-1.ll
    M llvm/test/Transforms/InstCombine/strchr-3.ll
    M llvm/test/Transforms/InstCombine/strcmp-4.ll
    M llvm/test/Transforms/InstCombine/strlcpy-1.ll
    M llvm/test/Transforms/InstCombine/strlen-1.ll
    M llvm/test/Transforms/InstCombine/strlen-6.ll
    M llvm/test/Transforms/InstCombine/strpbrk-1.ll
    M llvm/test/Transforms/InstCombine/strrchr-1.ll
    M llvm/test/Transforms/InstCombine/strrchr-3.ll
    M llvm/test/Transforms/InstCombine/strstr-1.ll
    M llvm/test/Transforms/InstCombine/vec_demanded_elts-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
    M llvm/test/Transforms/InstCombine/wcslen-1.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/gep-alias.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/gep-constanfolding-error.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/gep.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/icmp-global.ll
    M llvm/test/Transforms/InstSimplify/compare.ll
    M llvm/test/Transforms/InstSimplify/past-the-end.ll
    M llvm/test/Transforms/LoopStrengthReduce/2011-12-19-PostincQuadratic.ll
    M llvm/test/Transforms/LoopStrengthReduce/X86/2012-01-13-phielim.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr42674.ll
    M llvm/test/Transforms/LoopVectorize/pr47343-expander-lcssa-after-cfg-update.ll
    M llvm/test/Transforms/LoopVersioning/add-phi-update-users.ll
    M llvm/test/Transforms/LoopVersioning/bound-check-partially-known.ll
    M llvm/test/Transforms/NewGVN/loadforward.ll
    M llvm/test/Transforms/PhaseOrdering/SystemZ/sub-xor.ll
    M llvm/test/Transforms/PhaseOrdering/X86/excessive-unrolling.ll
    M llvm/test/Transforms/SCCP/2009-09-24-byval-ptr.ll
    M llvm/test/Transforms/SCCP/apint-bigint2.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/gather-cost.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr47623.ll

  Log Message:
  -----------
  [ConstantFolding] Canonicalize constexpr GEPs to i8 (#89872)

This patch canonicalizes constant expression GEPs to use i8 source
element type, aka ptradd. This is the ConstantFolding equivalent of the
InstCombine canonicalization introduced in #68882.

I believe all our optimizations working on constant expression GEPs
(like GlobalOpt etc) have already been switched to work on offsets, so I
don't expect any significant fallout from this change.

This is part of:
https://discourse.llvm.org/t/rfc-replacing-getelementptr-with-ptradd/68699


  Commit: 21419071e197ca2f813a983c319a2213844dc72d
      https://github.com/llvm/llvm-project/commit/21419071e197ca2f813a983c319a2213844dc72d
  Author: Ramkumar Ramachandra <r at artagnon.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/test/Transforms/InstSimplify/shufflevector.ll

  Log Message:
  -----------
  InstSimplify: increase shufflevector test coverage (#92407)

Add examples of patterns that can be simplified, but are currently not.
This patch serves as a pre-commit test.


  Commit: 605ae4e93be8976095c7eedf5c08bfdb9ff71257
      https://github.com/llvm/llvm-project/commit/605ae4e93be8976095c7eedf5c08bfdb9ff71257
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M flang/include/flang/Optimizer/HLFIR/Passes.h
    M flang/include/flang/Optimizer/HLFIR/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Fir/basic-program.fir

  Log Message:
  -----------
  [flang][HLFIR] Adapt SimplifyHLFIRIntrinsics to run on all top level ops (#92573)

This means that this pass will also run on hlfir intrinsics which are
not inside of functions.

See RFC:

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

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


  Commit: 1ef081b05c562936fc025dde39b444066d9d470f
      https://github.com/llvm/llvm-project/commit/1ef081b05c562936fc025dde39b444066d9d470f
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/movimm-expand-ldst.mir

  Log Message:
  -----------
  movimm-expand-ldst.mir (d3d6565c2453) requires asserts


  Commit: 9f449c34278191193f2f2cbc96c333548ad20238
      https://github.com/llvm/llvm-project/commit/9f449c34278191193f2f2cbc96c333548ad20238
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

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

  Log Message:
  -----------
  [SLP] NFC. Use TreeEntry::getOperand if setOperandsInOrder is called (#92727)

already.


  Commit: 6733a505a1afb8eb4db2f6d85426d79ff0dc5eee
      https://github.com/llvm/llvm-project/commit/6733a505a1afb8eb4db2f6d85426d79ff0dc5eee
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    A mlir/include/mlir/Dialect/OpenMP/OpenMPAttrDefs.td
    A mlir/include/mlir/Dialect/OpenMP/OpenMPDialect.td
    A mlir/include/mlir/Dialect/OpenMP/OpenMPEnums.td
    A mlir/include/mlir/Dialect/OpenMP/OpenMPOpBase.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td

  Log Message:
  -----------
  [MLIR][OpenMP] NFC: Split OpenMP dialect definitions (#91741)

This patch splits definitions for the OpenMP dialect into multiple files
to simplify the addition of new features, reduce merge conflicts, make
it easier to understand, etc. The split is based on the structure of the
more mature LLVMIR dialect. More specifically:

- The OpenMP dialect definition is located in OpenMPDialect.td.
- Base classes for OpenMP operations and types, as well as generic
OpenMP types are moved to OpenMPOpBase.td.
- OpenMP enumeration attributes, their case attributes and shared base
classes for these are placed in OpenMPEnums.td.
- Other OpenMP attributes are separated into OpenMPAttrDefs.td.
- OpenMPOps.td only contains operation definitions.

Even though this change should be useful on its own, it is intended as a
precursor to a follow-up PR in which operation arguments and attributes
are split into clause-specific classes which are then shared by all
operations to which they apply to. Without this prior change, that
approach would make the OpenMPOps.td file harder to navigate.


  Commit: f6ae8e6381a02b10091589d7742fab389f847ea9
      https://github.com/llvm/llvm-project/commit/f6ae8e6381a02b10091589d7742fab389f847ea9
  Author: Théo Degioanni <theo.degioanni.llvm.deluge062 at simplelogin.fr>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/IRDL/IR/IRDLOps.td
    M mlir/lib/Dialect/IRDL/IR/IRDL.cpp
    M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
    M mlir/test/Dialect/IRDL/invalid.irdl.mlir

  Log Message:
  -----------
  [mlir][irdl] Fix missing verifier in irdl.parametric (#92700)

The parametric op was not checking the symbol it points to is a type or
attribute. This PR also fixes a small bug where an invalid IRDL file
would not end processing in mlir-opt. I also improved the error messages
for the already handled irdl.base invalid symbols.


  Commit: 82c5d350d200ccc5365d40eac187b9ec967af727
      https://github.com/llvm/llvm-project/commit/82c5d350d200ccc5365d40eac187b9ec967af727
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll

  Log Message:
  -----------
  [VPlan] Add commutative binary OR matcher, use in transform. (#92539)

Split off from https://github.com/llvm/llvm-project/pull/89386, this
extends the binary matcher to support matching commuative operations.
This is used for a new m_c_BinaryOr matcher, used in simplifyRecipe.

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


  Commit: 36899d693d91719e7e6cd0f0ee4cf579111b8509
      https://github.com/llvm/llvm-project/commit/36899d693d91719e7e6cd0f0ee4cf579111b8509
  Author: Danila Malyutin <danilaml at users.noreply.github.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

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

  Log Message:
  -----------
  [CloneFunction] Remove check that is no longer necessary (#92577)

We do not need to concern ourselves with CGSCC since all remaining CG
related updates went away in fa6ea7a419f37befbed04368bcb8af4c718facbb as
pointed out by @nikic in
https://github.com/llvm/llvm-project/pull/87963#issuecomment-2113937182.


  Commit: 04ae6e600a3090ccc1f80d0110a1108aa73a54f8
      https://github.com/llvm/llvm-project/commit/04ae6e600a3090ccc1f80d0110a1108aa73a54f8
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstCombine/known-bits.ll
    M llvm/unittests/Analysis/ValueTrackingTest.cpp

  Log Message:
  -----------
  [ValueTracking] Fix incorrect inferrence about the signbit of sqrt (#92510)

According to IEEE Std 754-2019, `sqrt` returns nan when the input is
negative (except for -0). In this case, we cannot make assumptions about
sign bit of the result.

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


  Commit: d108fa03d4ac1a2634fa0a1e9b3058f4196f261c
      https://github.com/llvm/llvm-project/commit/d108fa03d4ac1a2634fa0a1e9b3058f4196f261c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/test/Analysis/LoopAccessAnalysis/invariant-dependence-before.ll

  Log Message:
  -----------
  [LAA] Add tests with invariant accesses using vector types.

Extra tests for https://github.com/llvm/llvm-project/pull/92307


  Commit: 1553b21f6d3b620b8e32121b974793342820ab8c
      https://github.com/llvm/llvm-project/commit/1553b21f6d3b620b8e32121b974793342820ab8c
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/Sema/TreeTransform.h
    M clang/test/AST/ast-dump-ctad-alias.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp

  Log Message:
  -----------
  [clang] CTAD alias: Fix missing template arg packs during the transformation (#92535)

clang rejects some valid code (see testcases) because of an incorrect
transformed deduction guides. This patch fixes it.

We miss the template argument packs during the transformation (`auto
(type-parameter-0-0...) -> Foo<>`). In
`TreeTransform::TransformTemplateArguments `, we have a logic of
handling template argument packs which were originally added to support
CTAD alias, it doesn't seem to be needed, we need to unpack them.


  Commit: d0dc29c2084a18c33b1b5b1cad9fd42215869746
      https://github.com/llvm/llvm-project/commit/d0dc29c2084a18c33b1b5b1cad9fd42215869746
  Author: jofrn <jofernau at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/test/TableGen/predicate-patfags.td
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [TableGen] HasOneUse builtin predicate on PatFrags (#91578)

This predicate tells GlobalISelEmitter and DAGISelEmitter to check that
the instruction to emit has only one use of its result. This can be used
on a PatFrag instead of defining custom predicates for both emitters per
record that requires it.


  Commit: 64e0835126d1cf3d36eb31fa1ebb4e286cc3bea7
      https://github.com/llvm/llvm-project/commit/64e0835126d1cf3d36eb31fa1ebb4e286cc3bea7
  Author: Andrew Ng <andrew.ng at sony.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/CodeGenCXX/windows-implicit-dllexport-template-specialization.cpp
    M clang/test/CodeGenCXX/windows-itanium-dllexport.cpp

  Log Message:
  -----------
  [clang] Make PS template DLL attribute propagation the same as MSVC (#92549)

For PlayStation, make the propagation of DLL import/export attributes
for explicit template instantiations the same as MSVC and Windows
Itanium.


  Commit: c2f92a33464bd9b76007ad5817952000add0033e
      https://github.com/llvm/llvm-project/commit/c2f92a33464bd9b76007ad5817952000add0033e
  Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/NaryReassociate.cpp
    A llvm/test/Transforms/NaryReassociate/preserving-debugloc-add-mul.ll

  Log Message:
  -----------
  [DebugInfo][NaryReassociate] Fix missing debug location updates (#92545)

Fixes #92537


  Commit: 60fe1e9e657180cc66dc5b1211b06144f010852b
      https://github.com/llvm/llvm-project/commit/60fe1e9e657180cc66dc5b1211b06144f010852b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/ARCMigrate/ARCMT.cpp
    M clang/lib/ARCMigrate/ObjCMT.cpp
    M clang/lib/Sema/SemaExpr.cpp

  Log Message:
  -----------
  [clang] Use SmallString::str (NFC) (#92717)


  Commit: 2a90d59fc3905d3d56dac99fa25640a6d6a7bad2
      https://github.com/llvm/llvm-project/commit/2a90d59fc3905d3d56dac99fa25640a6d6a7bad2
  Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M libcxx/src/locale.cpp

  Log Message:
  -----------
  [libcxx] locale.cpp: Move build_name helper into unnamed namespace (#92461)

Fix linkage of `build_name`; it is not supposed to have external
linkage.


  Commit: 3df7cb9ab9d2cc347efd5748dfc81fdb2082e529
      https://github.com/llvm/llvm-project/commit/3df7cb9ab9d2cc347efd5748dfc81fdb2082e529
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    R offload/plugins-nextgen/exports

  Log Message:
  -----------
  [Offload] Remove unused version script for plugins

Summary:
The plugins are no longer linked to a share library, making this unused
and useless.


  Commit: 02f1a992035f40b49435f0e7f358badd152d9dc2
      https://github.com/llvm/llvm-project/commit/02f1a992035f40b49435f0e7f358badd152d9dc2
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    A llvm/test/Transforms/DivRemPairs/AMDGPU/div-rem-pairs.ll
    A llvm/test/Transforms/DivRemPairs/AMDGPU/lit.local.cfg

  Log Message:
  -----------
  [DivRemPairs] Pre-commit tests for PR #92627 (#92628)

The tests are added to a new AMDGPU/ subdirectory since I found the
missed optimization while hacking on AMDGPU code. Also, this ensures
that AMDGPU, which uses DivRemPass, is being checked for existing
expected behavior.


  Commit: 8b22bb8a62a259e35ccc49fb2f50077a2772cf2f
      https://github.com/llvm/llvm-project/commit/8b22bb8a62a259e35ccc49fb2f50077a2772cf2f
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/DivRemPairs.cpp
    M llvm/test/Transforms/DivRemPairs/AMDGPU/div-rem-pairs.ll

  Log Message:
  -----------
  [DivRemPairs] Do not freeze poisons that can't be undef (#92627)

Per comments in DivRemPairs, the rewrite from
```llvm
    %div = div %X, %Y
    %rem = rem %X, %Y
```
to
```llvm
    %div = div %X, %Y
    %.mul = mul %div, %Y
    %rem = sub %X, %mul
```
is unsound when %X or %Y are undef.

However, it is known to be sound if %X or %Y are poison but can't be
undef, since both the pre- and post-rewrite %rem are `poison`.

Additionally, proofs: https://alive2.llvm.org/ce/z/xtNQ8j

A comment in the pass listed a TODO for changing a usage of
isGuaranteedNotToBeUndefOrPoison() in the pass to something that only
detects undef. Such a function has been implemented since the time that
TODO was written, but has not been used.

Therefore, this commit updates DivRemPairs to use
isGuaranteedNotToBeUndef() instead.


  Commit: e33db249b53fb70dce62db3ebd82d42239bd1d9d
      https://github.com/llvm/llvm-project/commit/e33db249b53fb70dce62db3ebd82d42239bd1d9d
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/include/llvm/Transforms/IPO/FunctionImport.h
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/LTO/LTOBackend.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/test/ThinLTO/X86/funcimport-stats.ll
    A llvm/test/ThinLTO/X86/import_callee_declaration.ll
    M llvm/test/Transforms/FunctionImport/funcimport.ll
    M llvm/tools/llvm-link/llvm-link.cpp

  Log Message:
  -----------
  Reland "[ThinLTO] Populate declaration import status except for distributed ThinLTO under a default-off new option" (#92718)

The original PR is reviewed in
https://github.com/llvm/llvm-project/pull/88024, and this PR adds one
line (https://github.com/llvm/llvm-project/pull/92718/commits/b9f04d199dec4f3c221d981dcb91e55298d0693f)
to fix test

Limit to one thread for in-process ThinLTO to test `LLVM_DEBUG` log.
- This should fix build bot failure like
https://lab.llvm.org/buildbot/#/builders/259/builds/4727 and
https://lab.llvm.org/buildbot/#/builders/9/builds/43876
- I could repro the failure and see interleaved log messages by using
`-thinlto-threads=all`

**Original Commit Message:**

The goal is to populate `declaration` import status if a new flag
`-import-declaration` is on.

* For in-process ThinLTO, the `declaration` status is visible to backend
`function-import` pass, so `FunctionImporter::importFunctions` should
read the import status and be no-op for declaration summaries.
Basically, the postlink pipeline is updated to keep its current behavior
(import definitions), but not updated to handle `declaration` summaries.
Two use cases ([better call-graph
sort](https://discourse.llvm.org/t/rfc-for-better-call-graph-sort-build-a-more-complete-call-graph-by-adding-more-indirect-call-edges/74029#support-cross-module-function-declaration-import-5)
or [cross-module
auto-init](https://github.com/llvm/llvm-project/pull/87597#discussion_r1556067195))
would use this bit differently.

* For distributed ThinLTO, the `declaration` status is not serialized to
bitcode. As discussed, https://github.com/llvm/llvm-project/pull/87600
will do this.


  Commit: 3efaf9caa56393597839b796d34f92459c711605
      https://github.com/llvm/llvm-project/commit/3efaf9caa56393597839b796d34f92459c711605
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p1.cpp

  Log Message:
  -----------
  [Clang][Sema] Fix crash when diagnosing near-match for 'constexpr' redeclaration in C++11 (#92452)

Clang crashes when diagnosing the following invalid redeclaration in
C++11:
```
struct A {
  void f();
};

constexpr void A::f() { } // crash here
```
This happens because `DiagnoseInvalidRedeclaration` tries to create a
fix-it to remove `const` from the out-of-line declaration of `f`, but
there is no `SourceLocation` for the `const` qualifier (it's implicitly
`const` due to `constexpr`) and an assert in
`FunctionTypeInfo::getConstQualifierLoc` fails.

This patch changes `DiagnoseInvalidRedeclaration` to only suggest the removal of the
`const` qualifier when it was explicitly specified in the _cv-qualifier-seq_ of the declaration.


  Commit: 2a2b27d99e3faf34a593c1ed8029ed4744f1cd5d
      https://github.com/llvm/llvm-project/commit/2a2b27d99e3faf34a593c1ed8029ed4744f1cd5d
  Author: David Truby <david.truby at arm.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt

  Log Message:
  -----------
  [flang] Fix CMake dependency in CUF/Attributes (#92751)

flang/lib/Optimizer/Dialect/CUF/Attributes/CUFAttr.cpp includes
CUFDialect.h.inc, but the target generating that isn't currently
depended on in CUF/Attributes. This patch adds that missing dependency.

Fixes #92635


  Commit: 9def85f99aba66fb5a266d2abf60c3802ff13c6a
      https://github.com/llvm/llvm-project/commit/9def85f99aba66fb5a266d2abf60c3802ff13c6a
  Author: inglorion <inglorion at users.noreply.github.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/utils/revert_checker.py

  Log Message:
  -----------
  [revert_checker] replace Phabricator URIs with GitHub URIs (#92102)

LLVM is now using GitHub. This change makes revert_checker.py -u
generate commit links that go to GitHub, instead of the old Phabricator
URIs.


  Commit: 586ecd75606e70a8d16cb1717809acce652ffe7f
      https://github.com/llvm/llvm-project/commit/586ecd75606e70a8d16cb1717809acce652ffe7f
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll

  Log Message:
  -----------
  AMDGPU: Relax vector restriction for rootn libcall folds (#92594)

We could try harder for nonsplat vectors but probably not worth the
effort.


  Commit: 0a15574eec7715e09b6fd52d3cd9a4f6e2b797e9
      https://github.com/llvm/llvm-project/commit/0a15574eec7715e09b6fd52d3cd9a4f6e2b797e9
  Author: Jacob Lambert <jacob.lambert at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/tools/amdgpu-arch/AMDGPUArchByHIP.cpp
    M clang/tools/amdgpu-arch/AMDGPUArchByHSA.cpp

  Log Message:
  -----------
  [NFC][amdgpuarch] Correct file names in file header comments (#92294)


  Commit: 097e96d0d1ad9cceb461bb3487af0a2ec42176e4
      https://github.com/llvm/llvm-project/commit/097e96d0d1ad9cceb461bb3487af0a2ec42176e4
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll

  Log Message:
  -----------
  [LegalizeTypes] Use VP_AND for zext_inreg in PromoteIntRes_VPFunnelShift.

I may eventually add getVPZeroExtendInReg to SelectionDAG if there are
other cases, but for now just hardcode it.


  Commit: 9964c2c33d750d60b512d518899fa2147576f3f3
      https://github.com/llvm/llvm-project/commit/9964c2c33d750d60b512d518899fa2147576f3f3
  Author: Pradeep Kumar <pradeepisro49 at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir

  Log Message:
  -----------
  [MILR][NVVM] Fix missing semicolon in nvvm.barrier.arrive Op (#92769)

This commit fixes the missing semicolon in the PTX codegen path where
barrier id is provided for the NVVM BarrierArriveOp. Also, updated
nvvm-to-llvm.mlir lit test to reflect the same

Co-authored-by: pradeepku <pradeepku at nvidia.com>


  Commit: 4f5bc4bb55a8091ca9eb6dd016dcb2be82bf917a
      https://github.com/llvm/llvm-project/commit/4f5bc4bb55a8091ca9eb6dd016dcb2be82bf917a
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/Sema/CMakeLists.txt
    A clang/lib/Sema/SemaRISCV.cpp
    R clang/lib/Sema/SemaRISCVVectorLookup.cpp

  Log Message:
  -----------
  [clang][NFC] Rename `SemaRISCVVectorLookup.cpp` into `SemaRISCV.cpp`

In preparation for #92682.


  Commit: d71f30a7f45c5a73fe551ea4ca48b11191e7b0e8
      https://github.com/llvm/llvm-project/commit/d71f30a7f45c5a73fe551ea4ca48b11191e7b0e8
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang][NFC] Update the list of Core issues


  Commit: 0047df9af4a106560197850438d6543dcb87d839
      https://github.com/llvm/llvm-project/commit/0047df9af4a106560197850438d6543dcb87d839
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
    A llvm/test/CodeGen/SPIRV/execution-mode-reqd_work_group_size.ll
    A llvm/test/CodeGen/SPIRV/execution-mode-work_group_size_hint.ll

  Log Message:
  -----------
  [SPIR-V] reqd_work_group_size and work_group_size_hint metadata are correctly converted to the LocalSize and LocalSizeHint execution mode (#92552)

The goal of this PR is to ensure that reqd_work_group_size and
work_group_size_hint metadata are correctly converted to the LocalSize
and LocalSizeHint execution mode.

reqd_work_group_size and work_group_size_hint require 3 operands (see
https://registry.khronos.org/SPIR-V/specs/unified1/SPIRV.html#Execution_Mode),
if metadata contains less operands, just add a default value (1).


  Commit: 50be0b1b967eeb479989ed26c13d17a53845dd1e
      https://github.com/llvm/llvm-project/commit/50be0b1b967eeb479989ed26c13d17a53845dd1e
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    A llvm/test/CodeGen/SPIRV/phi-ptrcast-dominate.ll

  Log Message:
  -----------
  [SPIR-V] Ensure that internal intrinsic functions "ptrcast" for PHI's operand are inserted at the correct positions (#92536)

The goal of the PR is to ensure that newly inserted `ptrcast` internal
intrinsic functions are inserted at the correct positions, and don't
break rules of instruction domination and PHI nodes grouping at top of
basic block.


  Commit: 1de1f775b55bb5c4c739e8f7ac78e7f59f2645fb
      https://github.com/llvm/llvm-project/commit/1de1f775b55bb5c4c739e8f7ac78e7f59f2645fb
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

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

  Log Message:
  -----------
  [mlir] [openmp] fix bazel build (#92790)

Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>


  Commit: 3575d23ca866e0510b322e4520d6cbcebee18c22
      https://github.com/llvm/llvm-project/commit/3575d23ca866e0510b322e4520d6cbcebee18c22
  Author: Ahmed Bougacha <ahmed at bougacha.org>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBlocks.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGDeclCXX.cpp
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGNonTrivialStruct.cpp
    M clang/lib/CodeGen/CGObjC.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CGValue.h
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/Targets/NVPTX.cpp
    M clang/lib/CodeGen/Targets/X86.cpp

  Log Message:
  -----------
  [clang][CodeGen] Remove unused LValue::getAddress CGF arg. (#92465)

This is in effect a revert of f139ae3d93797, as we have since gained a
more sophisticated way of doing extra IRGen with the addition of
RawAddress in #86923.


  Commit: 285f1392da07f6b0bcaa7d106c00b1e9fda25333
      https://github.com/llvm/llvm-project/commit/285f1392da07f6b0bcaa7d106c00b1e9fda25333
  Author: David Green <david.green at arm.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll

  Log Message:
  -----------
  [VectorCombine] Some more tests for different cmp's and fp consts. NFC


  Commit: a0e3e76385feca289f03576b17d5e9cc7783c9b4
      https://github.com/llvm/llvm-project/commit/a0e3e76385feca289f03576b17d5e9cc7783c9b4
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Math/Transforms/Passes.h

  Log Message:
  -----------
  [mlir] Remove redundant include in Passes.h header (NFC)


  Commit: e24610532b87eaae06dedec8f7c90764cd9ba19c
      https://github.com/llvm/llvm-project/commit/e24610532b87eaae06dedec8f7c90764cd9ba19c
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 4f5bc4bb55a8


  Commit: fd87d765c0455265aea4595a3741a96b4c078fbc
      https://github.com/llvm/llvm-project/commit/fd87d765c0455265aea4595a3741a96b4c078fbc
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/CXX/class/class.mfct/class.mfct.non-static/p3.cpp
    M clang/test/SemaTemplate/ms-function-specialization-class-scope.cpp
    M clang/test/SemaTemplate/ms-lookup-template-base-classes.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp

  Log Message:
  -----------
  [Clang][Sema] Don't build CXXDependentScopeMemberExprs for potentially implicit class member access expressions (#92318)

According to [expr.prim.id.general] p2:
> If an _id-expression_ `E` denotes a non-static non-type member of some
class `C` at a point where the current class is `X` and
> - `E` is potentially evaluated or `C` is `X` or a base class of `X`,
and
> - `E` is not the _id-expression_ of a class member access expression,
and
> - if `E` is a _qualified-id_, `E` is not the un-parenthesized operand
of the unary `&` operator,
>
> the _id-expression_ is transformed into a class member access
expression using `(*this)` as the object expression.

Consider the following:
```
struct A
{
    void f0();

    template<typename T>
    void f1();
};

template<typename T>
struct B : T
{
    auto g0() -> decltype(T::f0()); // ok

    auto g1() -> decltype(T::template f1<int>()); // error: call to non-static member function without an object argument
};

template struct B<A>;
```

Clang incorrectly rejects the call to `f1` in the _trailing-return-type_
of `g1`. Furthermore, the following snippet results in a crash during
codegen:
```
struct A
{
    void f();
};

template<typename T>
struct B : T
{
    template<typename U>
    static void g();
    
    template<>
    void g<int>()
    {
        return T::f(); // crash here
    }
};

template struct B<A>;
```
This happens because we unconditionally build a
`CXXDependentScopeMemberExpr` (with an implicit object expression) for
`T::f` when parsing the template definition, even though we don't know
whether `g` is an implicit object member function yet.

This patch fixes these issues by instead building
`DependentScopeDeclRefExpr`s for such expressions, and only transforming
them into implicit class member access expressions during instantiation.
Since we implemented the MS "unqualified lookup into dependent bases"
extension by building an implicit class member access (and relying on
the first component name of the _nested-name-specifier_ to be looked up
in the context of the object expression during instantiation), we
instead pre-append a fake _nested-name-specifier_ that refers to the
injected-class-name of the enclosing class. This patch also refactors
`Sema::BuildQualifiedDeclarationNameExpr` and
`Sema::BuildQualifiedTemplateIdExpr`, streamlining their implementation
and removing any redundant checks.


  Commit: c6486633d2656faecea8d7eb426bb22c52ddfd14
      https://github.com/llvm/llvm-project/commit/c6486633d2656faecea8d7eb426bb22c52ddfd14
  Author: Yingchi Long <i at lyc.dev>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Target/BPF/BPFMIChecking.cpp
    M llvm/test/CodeGen/BPF/xadd.ll

  Log Message:
  -----------
  [BPF] report `Invalid usage of the XADD return value"` elegantly (#92742)

Previously `report_fatal_error` is used for reporting something goes
wrong in the backend, but this is confusing because `report_fatal_error`
basically means there are something unexpected & crashed in the backend.

So, turn this "crash" into an elegant error reporting. After this patch,
clang can diagnose it:

    bpf-crash.c:4:30: error: Invalid usage of the XADD return value
4 | u32 next_event_id() { return __sync_fetch_and_add(&GLOBAL_EVENT_ID,
1); }
        |                              ^
    1 error generated.


  Commit: 549fdda3e1e4e01acd6a11f3808d6500b4ded36c
      https://github.com/llvm/llvm-project/commit/549fdda3e1e4e01acd6a11f3808d6500b4ded36c
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

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

  Log Message:
  -----------
  [AMDGPU] Refactor int_amdgcn_mov_dpp8 patterns. NFC. (#92764)

I still don't see why we need to select to different Real instructions
on different targets, but at least this is less verbose.


  Commit: 3591da9f1ccbd8b19fef4814f96638dbbe9c2b40
      https://github.com/llvm/llvm-project/commit/3591da9f1ccbd8b19fef4814f96638dbbe9c2b40
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/test/CoverageMapping/mcdc-system-headers.cpp

  Log Message:
  -----------
  Fix test for non-Itanium ABIs.

This amends 702a2b627ff4b2a5d330a7bd0d3f7cadaff0b4ed to hopefully get
the test passing for Windows again.


  Commit: 245491a9f384e4c53421196533c2a2b693efaf8d
      https://github.com/llvm/llvm-project/commit/245491a9f384e4c53421196533c2a2b693efaf8d
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-20 (Mon, 20 May 2024)

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

  Log Message:
  -----------
  [MC] Disable MCAssembler based constant folding for DwarfDebug

Related to the poor performance of MCAssembler based constant folding
(see `bool MCExpr::evaluateAsAbsolute(int64_t &Res, const MCAssembler *Asm) const` and
`AttemptToFoldSymbolOffsetDifference`),
commit 9500a5d02e23f9b43294e5f662ac099f8989c0e4 (#91082) caused -O0 -g
compile time regression.

9500a5d02e23f9b43294e5f662ac099f8989c0e4 special cased .eh_frame FDE
emitting. This patch adds a special case to .debug_* emitting as well to
mitigate the rest regression.

The MCAssembler based constant folding strategy should be improved to
remove the two special cases.


  Commit: bce3680f45b57f6ce745cb7da659f2ece745a1d1
      https://github.com/llvm/llvm-project/commit/bce3680f45b57f6ce745cb7da659f2ece745a1d1
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

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

  Log Message:
  -----------
  [LAA] Move logic to compute start and end of a pointer to helper (NFC).

This allows use at other places, in particular an updated version of
https://github.com/llvm/llvm-project/pull/92307.


  Commit: acf5ad2a4ed9bf94b03d18ccddce7710e721dc6c
      https://github.com/llvm/llvm-project/commit/acf5ad2a4ed9bf94b03d18ccddce7710e721dc6c
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init-no-crash.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/AST/Type.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/test/CXX/basic/basic.lookup/basic.lookup.qual/class.qual/p2.cpp
    A clang/test/CXX/class.derived/class.derived.general/p2.cpp
    M clang/test/SemaTemplate/dependent-names.cpp
    M clang/test/SemaTemplate/destructor-template.cpp
    M clang/test/SemaTemplate/typo-dependent-name.cpp

  Log Message:
  -----------
  [Clang][Sema] Diagnose current instantiation used as an incomplete base class (#92597)

Consider the following:
```
template<typename T>
struct A
{
    struct B : A { };
};
```
According to [class.derived.general] p2:
> [...] A _class-or-decltype_ shall denote a (possibly cv-qualified)
class type that is not an incompletely defined class; any cv-qualifiers
are ignored. [...]

Although GCC and EDG rejects this, Clang accepts it. This is incorrect,
as `A` is incomplete within its own definition (outside of a
complete-class context). This patch correctly diagnoses instances where
the current instantiation is used as a base class before it is complete.

Conversely, Clang erroneously rejects the following:
```
template<typename T>
struct A 
{
    struct B;

    struct C : B { };

    struct B : C { }; // error: circular inheritance between 'C' and 'A::B'
};
```
Though it may seem like no valid specialization of this template can be
instantiated, an explicit specialization of either member classes for an
implicit instantiated specialization of `A` would permit the definition
of the other member class to be instantiated, e.g.:
```
template<>
struct A<int>::B { };

A<int>::C c; // ok
```
So this patch also does away with this error. This means that circular
inheritance is diagnosed during instantiation of the definition as a
consequence of requiring the base class type to be complete (matching
the behavior of GCC and EDG).


  Commit: a91d5c07f2357f10a5378bb3b0e439847f2b8e00
      https://github.com/llvm/llvm-project/commit/a91d5c07f2357f10a5378bb3b0e439847f2b8e00
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M flang/test/Semantics/OpenMP/allocate-clause01.f90
    M flang/test/Semantics/OpenMP/allocate-directive.f90
    M flang/test/Semantics/OpenMP/allocate01.f90
    M flang/test/Semantics/OpenMP/allocate02.f90
    M flang/test/Semantics/OpenMP/allocate03.f90
    M flang/test/Semantics/OpenMP/allocate04.f90
    M flang/test/Semantics/OpenMP/allocate05.f90
    M flang/test/Semantics/OpenMP/allocate06.f90
    M flang/test/Semantics/OpenMP/allocate07.f90
    M flang/test/Semantics/OpenMP/allocate08.f90
    M flang/test/Semantics/OpenMP/allocate09.f90
    M flang/test/Semantics/OpenMP/allocators01.f90
    M flang/test/Semantics/OpenMP/allocators02.f90
    M flang/test/Semantics/OpenMP/allocators03.f90
    M flang/test/Semantics/OpenMP/allocators04.f90
    M flang/test/Semantics/OpenMP/allocators05.f90
    M flang/test/Semantics/OpenMP/allocators06.f90
    M flang/test/Semantics/OpenMP/atomic-hint-clause.f90
    M flang/test/Semantics/OpenMP/atomic.f90
    M flang/test/Semantics/OpenMP/atomic01.f90
    M flang/test/Semantics/OpenMP/atomic02.f90
    M flang/test/Semantics/OpenMP/atomic03.f90
    M flang/test/Semantics/OpenMP/atomic04.f90
    M flang/test/Semantics/OpenMP/atomic05.f90
    M flang/test/Semantics/OpenMP/barrier.f90
    M flang/test/Semantics/OpenMP/clause-validity01.f90
    M flang/test/Semantics/OpenMP/combined-constructs.f90
    M flang/test/Semantics/OpenMP/common-block.f90
    M flang/test/Semantics/OpenMP/compiler-directive.f90
    M flang/test/Semantics/OpenMP/copyin01.f90
    M flang/test/Semantics/OpenMP/copyin02.f90
    M flang/test/Semantics/OpenMP/copyin03.f90
    M flang/test/Semantics/OpenMP/copyin04.f90
    M flang/test/Semantics/OpenMP/copyin05.f90
    M flang/test/Semantics/OpenMP/copying.f90
    M flang/test/Semantics/OpenMP/copyprivate01.f90
    M flang/test/Semantics/OpenMP/copyprivate02.f90
    M flang/test/Semantics/OpenMP/copyprivate03.f90
    M flang/test/Semantics/OpenMP/critical-empty.f90
    M flang/test/Semantics/OpenMP/critical-hint-clause.f90
    M flang/test/Semantics/OpenMP/dealloc.f90
    M flang/test/Semantics/OpenMP/declarative-directive.f90
    M flang/test/Semantics/OpenMP/declare-target-common-block.f90
    M flang/test/Semantics/OpenMP/declare-target01.f90
    M flang/test/Semantics/OpenMP/declare-target02.f90
    M flang/test/Semantics/OpenMP/declare-target03.f90
    M flang/test/Semantics/OpenMP/declare-target04.f90
    M flang/test/Semantics/OpenMP/declare-target05.f90
    M flang/test/Semantics/OpenMP/declare-target06.f90
    M flang/test/Semantics/OpenMP/declare-target07.f90
    M flang/test/Semantics/OpenMP/default-clause.f90
    M flang/test/Semantics/OpenMP/default-none.f90
    M flang/test/Semantics/OpenMP/default.f90
    M flang/test/Semantics/OpenMP/default02.f90
    M flang/test/Semantics/OpenMP/depend01.f90
    M flang/test/Semantics/OpenMP/depend02.f90
    M flang/test/Semantics/OpenMP/depend03.f90
    M flang/test/Semantics/OpenMP/device-clause01.f90
    M flang/test/Semantics/OpenMP/device-constructs.f90
    M flang/test/Semantics/OpenMP/do-collapse-positivecases.f90
    M flang/test/Semantics/OpenMP/do-collapse.f90
    M flang/test/Semantics/OpenMP/do-cycle.f90
    M flang/test/Semantics/OpenMP/do-ordered-positivecases.f90
    M flang/test/Semantics/OpenMP/do-ordered.f90
    M flang/test/Semantics/OpenMP/do-schedule01.f90
    M flang/test/Semantics/OpenMP/do-schedule02.f90
    M flang/test/Semantics/OpenMP/do-schedule03.f90
    M flang/test/Semantics/OpenMP/do-schedule04.f90
    M flang/test/Semantics/OpenMP/do01-positivecase.f90
    M flang/test/Semantics/OpenMP/do01.f90
    R flang/test/Semantics/OpenMP/do02.f90
    M flang/test/Semantics/OpenMP/do03.f90
    M flang/test/Semantics/OpenMP/do04-positivecase.f90
    M flang/test/Semantics/OpenMP/do04.f90
    M flang/test/Semantics/OpenMP/do05-positivecase.f90
    M flang/test/Semantics/OpenMP/do05.f90
    M flang/test/Semantics/OpenMP/do06-positivecases.f90
    M flang/test/Semantics/OpenMP/do06.f90
    M flang/test/Semantics/OpenMP/do07.f90
    M flang/test/Semantics/OpenMP/do08.f90
    M flang/test/Semantics/OpenMP/do09.f90
    M flang/test/Semantics/OpenMP/do10.f90
    M flang/test/Semantics/OpenMP/do11.f90
    M flang/test/Semantics/OpenMP/do12.f90
    M flang/test/Semantics/OpenMP/do13.f90
    M flang/test/Semantics/OpenMP/do14.f90
    M flang/test/Semantics/OpenMP/do15.f90
    M flang/test/Semantics/OpenMP/do16.f90
    M flang/test/Semantics/OpenMP/do17.f90
    M flang/test/Semantics/OpenMP/do18.f90
    M flang/test/Semantics/OpenMP/do19.f90
    M flang/test/Semantics/OpenMP/do20.f90
    M flang/test/Semantics/OpenMP/firstprivate01.f90
    M flang/test/Semantics/OpenMP/firstprivate02.f90
    M flang/test/Semantics/OpenMP/flush01.f90
    M flang/test/Semantics/OpenMP/flush02.f90
    M flang/test/Semantics/OpenMP/if-clause.f90
    M flang/test/Semantics/OpenMP/implicit-dsa.f90
    M flang/test/Semantics/OpenMP/invalid-branch.f90
    M flang/test/Semantics/OpenMP/lastprivate01.f90
    M flang/test/Semantics/OpenMP/lastprivate02.f90
    M flang/test/Semantics/OpenMP/lastprivate03.f90
    M flang/test/Semantics/OpenMP/linear-iter.f90
    M flang/test/Semantics/OpenMP/loop-association.f90
    M flang/test/Semantics/OpenMP/loop-simd01.f90
    M flang/test/Semantics/OpenMP/map-clause.f90
    M flang/test/Semantics/OpenMP/modfile-threadprivate.f90
    M flang/test/Semantics/OpenMP/nested-barrier.f90
    M flang/test/Semantics/OpenMP/nested-cancel.f90
    M flang/test/Semantics/OpenMP/nested-cancellation-point.f90
    M flang/test/Semantics/OpenMP/nested-distribute.f90
    M flang/test/Semantics/OpenMP/nested-master.f90
    M flang/test/Semantics/OpenMP/nested-simd.f90
    M flang/test/Semantics/OpenMP/nested-target.f90
    M flang/test/Semantics/OpenMP/nested-teams.f90
    M flang/test/Semantics/OpenMP/nested01.f90
    M flang/test/Semantics/OpenMP/no-dowhile-in-parallel.f90
    M flang/test/Semantics/OpenMP/nontemporal.f90
    M flang/test/Semantics/OpenMP/omp-atomic-assignment-stmt.f90
    M flang/test/Semantics/OpenMP/omp-do-collapse1.f90
    M flang/test/Semantics/OpenMP/order-clause01.f90
    M flang/test/Semantics/OpenMP/ordered-simd.f90
    M flang/test/Semantics/OpenMP/ordered01.f90
    M flang/test/Semantics/OpenMP/ordered02.f90
    M flang/test/Semantics/OpenMP/ordered03.f90
    M flang/test/Semantics/OpenMP/parallel-critical-do.f90
    M flang/test/Semantics/OpenMP/parallel-private01.f90
    M flang/test/Semantics/OpenMP/parallel-private02.f90
    M flang/test/Semantics/OpenMP/parallel-private03.f90
    M flang/test/Semantics/OpenMP/parallel-private04.f90
    M flang/test/Semantics/OpenMP/parallel-sections-do.f90
    M flang/test/Semantics/OpenMP/parallel-sections01.f90
    M flang/test/Semantics/OpenMP/parallel-shared01.f90
    M flang/test/Semantics/OpenMP/parallel-shared02.f90
    M flang/test/Semantics/OpenMP/parallel-shared03.f90
    M flang/test/Semantics/OpenMP/parallel-shared04.f90
    M flang/test/Semantics/OpenMP/parallel01.f90
    M flang/test/Semantics/OpenMP/parallel02.f90
    M flang/test/Semantics/OpenMP/private-is-pointer-allocatable-check.f90
    M flang/test/Semantics/OpenMP/private01.f90
    M flang/test/Semantics/OpenMP/private02.f90
    M flang/test/Semantics/OpenMP/reduction-subtract.f90
    M flang/test/Semantics/OpenMP/reduction01.f90
    M flang/test/Semantics/OpenMP/reduction02.f90
    M flang/test/Semantics/OpenMP/reduction03.f90
    M flang/test/Semantics/OpenMP/reduction04.f90
    M flang/test/Semantics/OpenMP/reduction05.f90
    M flang/test/Semantics/OpenMP/reduction06.f90
    M flang/test/Semantics/OpenMP/reduction07.f90
    M flang/test/Semantics/OpenMP/reduction08.f90
    M flang/test/Semantics/OpenMP/reduction09.f90
    M flang/test/Semantics/OpenMP/reduction10.f90
    M flang/test/Semantics/OpenMP/reduction11.f90
    M flang/test/Semantics/OpenMP/reduction12.f90
    M flang/test/Semantics/OpenMP/requires-atomic01.f90
    M flang/test/Semantics/OpenMP/requires-atomic02.f90
    M flang/test/Semantics/OpenMP/requires01.f90
    M flang/test/Semantics/OpenMP/requires02.f90
    M flang/test/Semantics/OpenMP/requires03.f90
    M flang/test/Semantics/OpenMP/requires04.f90
    M flang/test/Semantics/OpenMP/requires05.f90
    M flang/test/Semantics/OpenMP/requires06.f90
    M flang/test/Semantics/OpenMP/requires07.f90
    M flang/test/Semantics/OpenMP/requires08.f90
    M flang/test/Semantics/OpenMP/requires09.f90
    M flang/test/Semantics/OpenMP/resolve01.f90
    M flang/test/Semantics/OpenMP/resolve02.f90
    M flang/test/Semantics/OpenMP/resolve03.f90
    M flang/test/Semantics/OpenMP/resolve04.f90
    M flang/test/Semantics/OpenMP/resolve05.f90
    M flang/test/Semantics/OpenMP/resolve06.f90
    M flang/test/Semantics/OpenMP/sections01.f90
    M flang/test/Semantics/OpenMP/sections02.f90
    M flang/test/Semantics/OpenMP/sections03.f90
    M flang/test/Semantics/OpenMP/simd-aligned.f90
    M flang/test/Semantics/OpenMP/simd-nontemporal.f90
    M flang/test/Semantics/OpenMP/simd01.f90
    M flang/test/Semantics/OpenMP/simd02.f90
    M flang/test/Semantics/OpenMP/simd03.f90
    M flang/test/Semantics/OpenMP/single01.f90
    M flang/test/Semantics/OpenMP/single02.f90
    M flang/test/Semantics/OpenMP/struct.f90
    M flang/test/Semantics/OpenMP/symbol01.f90
    M flang/test/Semantics/OpenMP/symbol02.f90
    M flang/test/Semantics/OpenMP/symbol03.f90
    M flang/test/Semantics/OpenMP/symbol04.f90
    M flang/test/Semantics/OpenMP/symbol05.f90
    M flang/test/Semantics/OpenMP/symbol06.f90
    M flang/test/Semantics/OpenMP/symbol07.f90
    M flang/test/Semantics/OpenMP/symbol08.f90
    M flang/test/Semantics/OpenMP/symbol09.f90
    M flang/test/Semantics/OpenMP/sync-critical01.f90
    M flang/test/Semantics/OpenMP/sync-critical02.f90
    M flang/test/Semantics/OpenMP/target-update01.f90
    M flang/test/Semantics/OpenMP/target.f90
    M flang/test/Semantics/OpenMP/target01.f90
    M flang/test/Semantics/OpenMP/target02.f90
    M flang/test/Semantics/OpenMP/task01.f90
    M flang/test/Semantics/OpenMP/taskgroup01.f90
    M flang/test/Semantics/OpenMP/taskloop-simd01.f90
    M flang/test/Semantics/OpenMP/taskloop01.f90
    M flang/test/Semantics/OpenMP/taskloop02.f90
    R flang/test/Semantics/OpenMP/taskloop03.f90
    M flang/test/Semantics/OpenMP/taskwait.f90
    M flang/test/Semantics/OpenMP/threadprivate01.f90
    M flang/test/Semantics/OpenMP/threadprivate02.f90
    M flang/test/Semantics/OpenMP/threadprivate03.f90
    M flang/test/Semantics/OpenMP/threadprivate04.f90
    M flang/test/Semantics/OpenMP/threadprivate05.f90
    M flang/test/Semantics/OpenMP/threadprivate06.f90
    M flang/test/Semantics/OpenMP/threadprivate07.f90
    M flang/test/Semantics/OpenMP/use_device_addr.f90
    M flang/test/Semantics/OpenMP/use_device_addr1.f90
    M flang/test/Semantics/OpenMP/use_device_ptr.f90
    M flang/test/Semantics/OpenMP/use_device_ptr1.f90
    M flang/test/Semantics/OpenMP/workshare01.f90
    M flang/test/Semantics/OpenMP/workshare02.f90
    M flang/test/Semantics/OpenMP/workshare03.f90
    M flang/test/Semantics/OpenMP/workshare04.f90
    M flang/test/Semantics/OpenMP/workshare05.f90

  Log Message:
  -----------
  [Flang][OpenMP] Disable all OpenMP semantics tests on Windows (#92739)

Removes two XFAILed tests, the other tests are marked UNSUPPORTED only
on windows.


  Commit: e75b58cfc666fc168d05580d2b7fd274830a4dd0
      https://github.com/llvm/llvm-project/commit/e75b58cfc666fc168d05580d2b7fd274830a4dd0
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p1.cpp
    A clang/test/CXX/temp/temp.spec/temp.expl.spec/p12.cpp

  Log Message:
  -----------
  [Clang][Sema] Do not add implicit 'const' when matching constexpr function template explicit specializations after C++14 (#92449)

Clang incorrectly accepts the following when using C++14 or later:
```
struct A {
  template<typename T>
  void f() const;

  template<>
  constexpr void f<int>();
};
```
Non-static member functions declared `constexpr` are only implicitly
`const` in C++11. This patch makes clang reject the explicit
specialization of `f` in language modes after C++11.


  Commit: 6430939baaa6222518d58d9192160312fca09327
      https://github.com/llvm/llvm-project/commit/6430939baaa6222518d58d9192160312fca09327
  Author: Chris B <chris.bieneman at me.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

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

  Log Message:
  -----------
  [HLSL][CMake] Cache files don't have generator vars (#92793)

Doh! CMake cache scripts don't have generator variables set yet, so the
script can't depend on the generator variables. Instead I've added a
variable that a user can specify to enable the distribution settings.


  Commit: 1eb7f055d9ae5d14de8e4f75687dc2cf45511300
      https://github.com/llvm/llvm-project/commit/1eb7f055d9ae5d14de8e4f75687dc2cf45511300
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    A llvm/test/CodeGen/AArch64/exp10-libcall-names.ll
    A llvm/test/CodeGen/ARM/exp10-libcall-names.ll
    A llvm/test/CodeGen/X86/exp10-libcall-names.ll

  Log Message:
  -----------
  CodeGen: Fix libcall names for exp10 on the various darwins (#92520)

It's really great that we have the same information duplicated in
TargetLibraryInfo and RuntimeLibcalls which both assume everything by
default.

Should fix issue reported after #92287


  Commit: e1c06c380ce01a4524df8061171e63cad010e4e6
      https://github.com/llvm/llvm-project/commit/e1c06c380ce01a4524df8061171e63cad010e4e6
  Author: Leon Clark <PeddleSpam at users.noreply.github.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ctlz-zero-undef.mir
    M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll

  Log Message:
  -----------
  [AMDGPU] Fix error in #88512. (#92770)

Fixes error in GlobalISel CTLZ lowering caused by
[#88512](https://github.com/llvm/llvm-project/pull/88512).

---------

Co-authored-by: Leon Clark <leoclark at amd.com>


  Commit: fdd245ad856f85019bb408ed5c14984823e7077f
      https://github.com/llvm/llvm-project/commit/fdd245ad856f85019bb408ed5c14984823e7077f
  Author: Hugo Trachino <hugo.trachino at huawei.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp
    M mlir/test/Dialect/Vector/vector-transfer-permutation-lowering.mlir

  Log Message:
  -----------
  [MLIR][Vector] Implement transferXXPermutationLowering as MaskableOpRewritePattern (#91987)

* Implements `TransferWritePermutationLowering`,
`TransferReadPermutationLowering` and
`TransferWriteNonPermutationLowering` as a MaskableOpRewritePattern.
Allowing to exit gracefully when such use of a xferOp is inside a
`vector::MaskOp`
* Updates MaskableOpRewritePattern to handle MemRefs and buffer
semantics providing empty `Value()` as a return value for
`matchAndRewriteMaskableOp` now represents successful rewriting without
value to replace the original op.

Split of https://github.com/llvm/llvm-project/pull/90835


  Commit: c1d5cc99c6ba8e897ea145dbb2221a155b5e3e5a
      https://github.com/llvm/llvm-project/commit/c1d5cc99c6ba8e897ea145dbb2221a155b5e3e5a
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [LangRef] Try to formalize the definition of "odr" in LLVM IR. (#92619)

The current definition is a bit fuzzy... replace it with something
that's somewhat rigorous.

For functions, the definition is pretty narrow; as a consequence of
language-level non-determinism, it's impossible to tell whether two
functions are equivalent, so just embrace the non-determinism. For
constants, we're pretty strict; otherwise you end up concluding
constants can actually change value, which is bad for alias analysis. I
think C++ standard don't allow any non-deterministic operations in
constants, so we should be okay there? Poison is per-byte to allow some
ambiguity in the way padding is defined.


  Commit: 0da1a6ceb595fa91e3af20bf7f304ba275526f3c
      https://github.com/llvm/llvm-project/commit/0da1a6ceb595fa91e3af20bf7f304ba275526f3c
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
    A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialTypes.td

  Log Message:
  -----------
  [mlir][polynomial] split polynomial types tablegen (#92805)

Similar to https://github.com/llvm/llvm-project/pull/92613, but for
types.

Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>


  Commit: 3cb1fe60fb00ba3761e34866ffc93c7d7a0b509d
      https://github.com/llvm/llvm-project/commit/3cb1fe60fb00ba3761e34866ffc93c7d7a0b509d
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll

  Log Message:
  -----------
  AMDGPU: Don't fold rootn(x, 1) to input for strictfp functions (#92595)

We need to insert a constrained canonicalize.

Depends #92594


  Commit: 2a45f89aee8b05bb031c6e337df1524921de2e97
      https://github.com/llvm/llvm-project/commit/2a45f89aee8b05bb031c6e337df1524921de2e97
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/test/Transforms/InstSimplify/known-non-zero.ll

  Log Message:
  -----------
  [ValueTracking] Add tests for `isKnowNonZero` of `X op (X != 0)`; NFC


  Commit: 223284316081e1af369c2d560da88e6211669250
      https://github.com/llvm/llvm-project/commit/223284316081e1af369c2d560da88e6211669250
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstSimplify/known-non-zero.ll

  Log Message:
  -----------
  [ValueTracking] Recognize `X op (X != 0)` as non-zero

The ops supported are: `add`, `sub`, `xor`, `or`, `umax`, `uadd.sat`

Proofs: https://alive2.llvm.org/ce/z/8ZMSRg

The `add` case actually comes up in SPECInt, the rest are here mostly
for completeness.

Closes #88579


  Commit: 250c39cd7aae8d4a6a76e2f04cfe5ce657f8260c
      https://github.com/llvm/llvm-project/commit/250c39cd7aae8d4a6a76e2f04cfe5ce657f8260c
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M libcxx/src/chrono.cpp

  Log Message:
  -----------
  [libcxx] Add cast to avoid pointer casting warning on Windows (#92738)

This avoids the following build time warning, when building with the
latest nightly Clang:

warning: cast from 'FARPROC' (aka 'int (*)() __attribute__((stdcall))')
to
'GetSystemTimeAsFileTimePtr' (aka 'void (*)(_FILETIME *)
__attribute__((stdcall))')
converts to incompatible function type [-Wcast-function-type-mismatch]

This warning seems to have appeared since Clang commit
999d4f840777bf8de26d45947192aa0728edc0fb, which restructured.

The GetProcAddress function returns a `FARPROC` type, which is `int
(WINAPI *)()`. Directly casting this to another function pointer type
triggers this warning, but casting to a `void*` inbetween avoids this
issue. (On Unix-like platforms, dlsym returns a `void*`, which doesn't
exhibit this casting problem.)


  Commit: 1f07bfb92c2a62731a5ae3ec2d135e3869634c01
      https://github.com/llvm/llvm-project/commit/1f07bfb92c2a62731a5ae3ec2d135e3869634c01
  Author: Spenser Bauman <sbauman at mathworks.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

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

  Log Message:
  -----------
  [mlir][tensor] Implement folding logic for size 0 tensor and memref ops (#90814)

Implement folding and rewrite logic to eliminate no-op tensor and memref
operations. This handles two specific cases:

1. tensor.insert_slice operations where the size of the inserted slice
is known to be 0.
2. memref.copy operations where either the source or target memrefs are
known to be emtpy.

Co-authored-by: Spenser Bauman <sabauma at fastmail>


  Commit: 753f7e814514ddb2bb2fd837549d5958cf0ef343
      https://github.com/llvm/llvm-project/commit/753f7e814514ddb2bb2fd837549d5958cf0ef343
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/lib/AST/ASTContext.cpp
    A clang/test/CodeGenOpenCLCXX/array-type-infinite-loop.clcpp

  Log Message:
  -----------
  [OpenCL] Fix an infinite loop in builidng AddrSpaceQualType (#92612)

In building AddrSpaceQualType
(https://github.com/llvm/llvm-project/pull/90048), there is a bug in
removeAddrSpaceQualType() for arrays. Arrays are weird because
qualifiers on the element type also count as qualifiers on the type, so
getSingleStepDesugaredType() can't remove the sugar on arrays. This
results in an infinite loop in removeAddrSpaceQualType. To fix the
issue, we use ASTContext::getUnqualifiedArrayType instead, which strips
the qualifier off the element type, then reconstruct the array type.


  Commit: 51ba7a816ccdadf7f943fb30a1933ded72a4c178
      https://github.com/llvm/llvm-project/commit/51ba7a816ccdadf7f943fb30a1933ded72a4c178
  Author: Nick Desaulniers (paternity leave) <nickdesaulniers at users.noreply.github.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M libc/src/setjmp/x86_64/CMakeLists.txt

  Log Message:
  -----------
  [libc][setjmp] disable -ftrivial-auto-var-init=pattern for now (#92796)

This would consistently fail for me locally, to the point where I could not run
ninja libc-unit-tests without ninja libc_setjmp_unittests failing.

Turns out that since I enabled -ftrivial-auto-var-init=pattern in
commit 1d5c16d ("[libc] default enable -ftrivial-auto-var-init=pattern (#78776)")
this has been a problem. Our x86_64 setjmp definition disabled -Wuninitialized,
so we wound up clobbering these registers and instead backing up
0xAAAAAAAAAAAAAAAA rather than the actual register value.

The implemenation should be rewritten entirely. I've proposed three different
ways to do so (linked below). Until we decide which way to go, at least disable
this hardening feature for this function for now so that the unit tests go back
to green.

Link: #87837
Link: #88054
Link: #88157
Fixes: #91164


  Commit: dce197ac9219319e5ea76a110100e87e225684d8
      https://github.com/llvm/llvm-project/commit/dce197ac9219319e5ea76a110100e87e225684d8
  Author: Nick Desaulniers (paternity leave) <nickdesaulniers at users.noreply.github.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M libc/include/llvm-libc-macros/linux/CMakeLists.txt
    M libc/include/llvm-libc-macros/linux/error-number-macros.h
    R libc/include/llvm-libc-macros/linux/mips/CMakeLists.txt
    R libc/include/llvm-libc-macros/linux/mips/error-number-macros.h
    R libc/include/llvm-libc-macros/linux/sparc/CMakeLists.txt
    R libc/include/llvm-libc-macros/linux/sparc/error-number-macros.h

  Log Message:
  -----------
  [libc][errno] remove mips+sparc specific errnos (#92798)

These are untested and unsupported platforms. The pattern used makes sense for
platform specific error numbers, but these are platforms we do not support.
Excise this code.

Link: #91150


  Commit: 7ecdf620330d8e044a48b6f59f8eddd2f88f01d4
      https://github.com/llvm/llvm-project/commit/7ecdf620330d8e044a48b6f59f8eddd2f88f01d4
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/include/llvm/MCA/IncrementalSourceMgr.h
    M llvm/include/llvm/MCA/InstrBuilder.h

  Log Message:
  -----------
  [MCA] use std::function instead of function_ref when storing (#91039)

This patch changes uses of llvm::function_ref for std::function when
storing the callback inside of a class. The LLVM Programmer's manual
mentions that llvm::function_ref is not safe to store as it contains
pointers to external memory that are not guaranteed to exist in the
future when it is stored.

This causes issues when setting callbacks inside of a class that manages
MCA state. Passing a lambda directly to the set callback functions will
end up causing UB/segfaults when the lambda is called as some external
memory is now invalid. This is easy to work around (create a separate
std::function, pass that into the function setting the callback), but
isn't ideal.


  Commit: 33b7833891dcacf9e81e911ed59932fd55113fff
      https://github.com/llvm/llvm-project/commit/33b7833891dcacf9e81e911ed59932fd55113fff
  Author: Javed Absar <106147771+javedabsar1 at users.noreply.github.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h
    M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
    M mlir/test/Dialect/Linalg/transform-op-specialize.mlir
    A mlir/test/Dialect/Linalg/transform-op-specialize_elemwise_binary.mlir
    A mlir/test/Dialect/Linalg/transform-op-specialize_elemwise_unary.mlir

  Log Message:
  -----------
  [MLIR][Linalg] Add more specialize patterns (#91153)

Currently only linalg.copy is recognized when trying to specialize
linalg.generics back to named op. This diff enables recognition of more
generic to named op e.g. linalg.fill, elemwise unary/binary.


  Commit: 110f6a740b4f63f8eabefc24ad90e98357782949
      https://github.com/llvm/llvm-project/commit/110f6a740b4f63f8eabefc24ad90e98357782949
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

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

  Log Message:
  -----------
  [SelectionDAG] Add getVPZeroExtendInReg. NFC (#92792)

Use it for 2 places in LegalizeIntegerTypes that created a VP_AND.


  Commit: 8018e4c569d34b5913a4cc78f08f25f778dec866
      https://github.com/llvm/llvm-project/commit/8018e4c569d34b5913a4cc78f08f25f778dec866
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

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

  Log Message:
  -----------
  [LegalizeTypes] Use SelectionDAG::SplitVector to simplify some code. NFC (#92816)


  Commit: e8dc8d614ada201e250fbf075241b2b6180943b5
      https://github.com/llvm/llvm-project/commit/e8dc8d614ada201e250fbf075241b2b6180943b5
  Author: royitaqi <royitaqi at users.noreply.github.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M lldb/include/lldb/API/SBCommandInterpreter.h
    M lldb/include/lldb/Interpreter/CommandInterpreter.h
    M lldb/source/API/SBCommandInterpreter.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Interpreter/InterpreterProperties.td
    M lldb/test/API/commands/session/save/TestSessionSave.py
    M lldb/test/API/python_api/interpreter/TestCommandInterpreterAPI.py
    M lldb/test/API/python_api/interpreter/main.c

  Log Message:
  -----------
  Add new Python API `SBCommandInterpreter::GetTranscript()` (#90703)

# Motivation

Currently, the user can already get the "transcript" (for "what is the
transcript", see `CommandInterpreter::SaveTranscript`). However, the
only way to obtain the transcript data as a user is to first destroy the
debugger, then read the save directory. Note that destroy-callbacks
cannot be used, because 1\ transcript data is private to the command
interpreter (see `CommandInterpreter.h`), and 2\ the writing of the
transcript is *after* the invocation of destory-callbacks (see
`Debugger::Destroy`).

So basically, there is no way to obtain the transcript:
* during the lifetime of a debugger (including the destroy-callbacks,
which often performs logging tasks, where the transcript can be useful)
* without relying on external storage

In theory, there are other ways for user to obtain transcript data
during a debugger's life cycle:
* Use Python API and intercept commands and results.
* Use CLI and record console input/output.

However, such ways rely on the client's setup and are not supported
natively by LLDB.


# Proposal

Add a new Python API `SBCommandInterpreter::GetTranscript()`.

Goals:
* It can be called at any time during the debugger's life cycle,
including in destroy-callbacks.
* It returns data in-memory.

Structured data:
* To make data processing easier, the return type is `SBStructuredData`.
See comments in code for how the data is organized.
* In the future, `SaveTranscript` can be updated to write different
formats using such data (e.g. JSON). This is probably accompanied by a
new setting (e.g. `interpreter.save-session-format`).

# Alternatives

The return type can also be `std::vector<std::pair<std::string,
SBCommandReturnObject>>`. This will make implementation easier, without
having to translate it to `SBStructuredData`. On the other hand,
`SBStructuredData` can convert to JSON easily, so it's more convenient
for user to process.

# Privacy

Both user commands and output/error in the transcript can contain
privacy data. However, as mentioned, the transcript is already available
to the user. The addition of the new API doesn't increase the level of
risk. In fact, it _lowers_ the risk of privacy data being leaked later
on, by avoiding writing such data to external storage.

Once the user (or their code) gets the transcript, it will be their
responsibility to make sure that any required privacy policies are
guaranteed.

# Tests

```
bin/llvm-lit -sv ../external/llvm-project/lldb/test/API/python_api/interpreter/TestCommandInterpreterAPI.py
```

```
bin/llvm-lit -sv ../external/llvm-project/lldb/test/API/commands/session/save/TestSessionSave.py
```

---------

Co-authored-by: Roy Shi <royshi at meta.com>
Co-authored-by: Med Ismail Bennani <ismail at bennani.ma>


  Commit: 9f62775038b9135709a2c3c7ea97c944278967a2
      https://github.com/llvm/llvm-project/commit/9f62775038b9135709a2c3c7ea97c944278967a2
  Author: royitaqi <royitaqi at users.noreply.github.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M lldb/include/lldb/API/SBDebugger.h
    M lldb/include/lldb/Core/Debugger.h
    M lldb/include/lldb/lldb-types.h
    M lldb/source/API/SBDebugger.cpp
    M lldb/source/Core/Debugger.cpp
    M lldb/test/API/python_api/debugger/TestDebuggerAPI.py

  Log Message:
  -----------
  SBDebugger: Add new APIs `AddDestroyCallback` and `RemoveDestroyCallback` (#89868)

# Motivation

Individual callers of `SBDebugger::SetDestroyCallback()` might think
that they have registered their callback and expect it to be called when
the debugger is destroyed. In reality, only the last caller survives,
and all previous callers are forgotten, which might be a surprise to
them. Worse, if this is called in a race condition, which callback
survives is less predictable, which may case confusing behavior
elsewhere.

# This PR

Allows multiple destroy callbacks to be registered and all called when
the debugger is destroyed.

**EDIT**: Adds two new APIs: `AddDestroyCallback()` and
`ClearDestroyCallback()`. `SetDestroyCallback()` will first clear then
add the given callback. Tests are added for the new APIs.

## Tests

```
bin/llvm-lit -sv ../external/llvm-project/lldb/test/API/python_api/debugger/TestDebuggerAPI.py
```

## (out-dated, see comments below) Semantic change to
`SetDestroyCallback()`

~~Currently, the method overwrites the old callback with the new one.
With this PR, it will NOT overwrite. Instead, it will hold on to both.
Both callbacks get called during destroy.~~

~~**Risk**: Although the documentation of `SetDestroyCallback()` (see
[C++](https://lldb.llvm.org/cpp_reference/classlldb_1_1SBDebugger.html#afa1649d9453a376b5c95888b5a0cb4ec)
and
[python](https://lldb.llvm.org/python_api/lldb.SBDebugger.html#lldb.SBDebugger.SetDestroyCallback))
doesn't really specify the behavior, there is a risk: if existing call
sites rely on the "overwrite" behavior, they will be surprised because
now the old callback will get called. But as the above said, the current
behavior of "overwrite" itself might be unintended, so I don't
anticipate users to rely on this behavior. In short, this risk might be
less of a problem if we correct it sooner rather than later (which is
what this PR is trying to do).~~

## (out-dated, see comments below) Implementation

~~The implementation holds a `std::vector<std::pair<callback, baton>>`.
When `SetDestroyCallback()` is called, callbacks and batons are appended
to the `std::vector`. When destroy event happen, the `(callback, baton)`
pairs are invoked FIFO. Finally, the `std::vector` is cleared.~~

# (out-dated, see comments below) Alternatives considered

~~Instead of changing `SetDestroyCallback()`, a new method
`AddDestroyCallback()` can be added, which use the same
`std::vector<std::pair<>>` implementation. Together with
`ClearDestroyCallback()` (see below), they will replace and deprecate
`SetDestroyCallback()`. Meanwhile, in order to be backward compatible,
`SetDestroyCallback()` need to be updated to clear the `std::vector` and
then add the new callback. Pros: The end state is semantically more
correct. Cons: More steps to take; potentially maintaining an
"incorrect" behavior (of "overwrite").~~

~~A new method `ClearDestroyCallback()` can be added. Might be
unnecessary at this point, because workflows which need to set then
clear callbacks may exist but shouldn't be too common at least for now.
Such method can be added later when needed.~~

~~The `std::vector` may bring slight performance drawback if its
implementation doesn't handle small size efficiently. However, even if
that's the case, this path should be very cold (only used during init
and destroy). Such performance drawback should be negligible.~~

~~A different implementation was also considered. Instead of using
`std::vector`, the current `m_destroy_callback` field can be kept
unchanged. When `SetDestroyCallback()` is called, a lambda function can
be stored into `m_destroy_callback`. This lambda function will first
call the old callback, then the new one. This way, `std::vector` is
avoided. However, this implementation is more complex, thus less
readable, with not much perf to gain.~~

---------

Co-authored-by: Roy Shi <royshi at meta.com>


  Commit: 00d7e67f8352308288db483f03294460a38a3773
      https://github.com/llvm/llvm-project/commit/00d7e67f8352308288db483f03294460a38a3773
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M libc/src/time/gpu/time_utils.cpp
    M libc/src/time/gpu/time_utils.h

  Log Message:
  -----------
  [libc] Fix constant address space on global clock

Summary:
I did this wrong in the first version, because `extern "C"` doesn't
imply it's extern when used directly.


  Commit: 93540455669ab9ad55bd7e24a42a305194a109af
      https://github.com/llvm/llvm-project/commit/93540455669ab9ad55bd7e24a42a305194a109af
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

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

  Log Message:
  -----------
  [NFC][flang][runtime] Avoid recursion in EditCharacterOutput and EditLogicalOutput. (#92806)


  Commit: bccac125e196bd5afeeb2fef93cf501f4b9f7f83
      https://github.com/llvm/llvm-project/commit/bccac125e196bd5afeeb2fef93cf501f4b9f7f83
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M flang/runtime/CMakeLists.txt

  Log Message:
  -----------
  [flang][runtime] Added io-api-minimal.cpp to the offload build. (#92807)


  Commit: 888e087b09dbd658a03f27c475ada50d37323987
      https://github.com/llvm/llvm-project/commit/888e087b09dbd658a03f27c475ada50d37323987
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.h

  Log Message:
  -----------
  [RISCV] Remove unused function declaration. NFC


  Commit: bb627b0a0c05e0bb04ae7f984b8e7fcd84906061
      https://github.com/llvm/llvm-project/commit/bb627b0a0c05e0bb04ae7f984b8e7fcd84906061
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/test/runtime/X86/hot-end-symbol.s

  Log Message:
  -----------
  [BOLT] Ignore special symbols as function aliases in updateELFSymbolTable

Exempt special symbols (hot text/data and _end symbol) from normal
handling. We only need to set their value and make them absolute.

If these symbols are handled as normal symbols and if they alias
functions we may create non-sensical symbols, e.g. __hot_start.cold.

Test Plan: updated hot-end-symbol.s

Reviewers: maksfb, rafaelauler, ayermolo, dcci

Reviewed By: dcci, maksfb

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


  Commit: 7064e4b1633811da984261fdc585ba4438efe827
      https://github.com/llvm/llvm-project/commit/7064e4b1633811da984261fdc585ba4438efe827
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
    M llvm/lib/Target/RISCV/RISCVScheduleV.td

  Log Message:
  -----------
  [RISCV] Split and rename WriteVISlideX into WriteVSlideUpX and WriteVSlideDownX (#92605)

Some processors might have different latencies and/or rthroughput for
slide up and down operations on integer vectors, yet there is only a
single SchedWrite for both of them at this moment. This patch splits
this SchedWrite into two as well as drop the "I" before "Slide" since
such information is redundant. We also do the same renaming on
`WriteVISlideI`.
Note that we only split the X variant (i.e. using a register value for
index offset) for now.

This is effectively NFC.


  Commit: 3fa6b3bbdb0f9de18def8596d1f7fcec2ef77b5e
      https://github.com/llvm/llvm-project/commit/3fa6b3bbdb0f9de18def8596d1f7fcec2ef77b5e
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-20 (Mon, 20 May 2024)

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

  Log Message:
  -----------
  [llvm-profdata] Fix some style and clang-tidy issues

Fix #92761
Fix #92762


  Commit: 45968da95d8959a7c4ca7d56f501bb12de413fcc
      https://github.com/llvm/llvm-project/commit/45968da95d8959a7c4ca7d56f501bb12de413fcc
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    A llvm/test/CodeGen/AMDGPU/match-perm-extract-vector-elt-bug.ll
    M llvm/test/CodeGen/AMDGPU/permute_i8.ll

  Log Message:
  -----------
  [AMDGPU] Fix an issue that wrong index is used in calculation of byte provider when the op is extract_vector_elt (#91697)

Fixes: SWDEV-460097


  Commit: d1aca0ae2e0c52298966e35e4312e21045d4c6e4
      https://github.com/llvm/llvm-project/commit/d1aca0ae2e0c52298966e35e4312e21045d4c6e4
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/test/CodeGenCXX/wasm-eh.cpp

  Log Message:
  -----------
  [WebAssembly] Define __WASM_EXCEPTIONS__ for -fwasm-exceptions (#92604)

When using other specific exception options in Clang, such as
`-fseh-exceptions` or `-fsjlj-exceptions`, Clang defines a corresponding
preprocessor such as `-D__USING_SJLJ_EXCEPTIONS__`. Emscripten does that
in our own build system:

https://github.com/emscripten-core/emscripten/blob/7dcd7f40749918e141dc33397d2f4311dd80637a/tools/system_libs.py#L1577-L1578

But to make Wasm EH usable in non-Emscripten toolchain, this has to be
defined somewhere else. This PR makes Wasm EH consistent with other
exception scheme by letting it defined by Clang depending on the
exception option.

We have been using `__USING_WASM_EXCEPTIONS__` in our current library
code, but this changes it to `__WASM_EXCEPTIONS__` for its conciseness,
and I will update other parts of LLVM as follow-ups. This does not break
anything currently working, because we have not been defining anything
in Clang so far.


  Commit: 8ce2045be0ce708af0bfce5dc14632fa15dc743a
      https://github.com/llvm/llvm-project/commit/8ce2045be0ce708af0bfce5dc14632fa15dc743a
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/include/clang/AST/ExprCXX.h
    M clang/lib/AST/ExprCXX.cpp
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/test/PCH/pack_indexing.cpp
    M clang/test/SemaCXX/cxx2c-pack-indexing.cpp

  Log Message:
  -----------
  [Clang][Sema] Avoid pack expansion for expanded empty PackIndexingExprs (#92385)

We previously doubled the id-expression expansion, even when the pack
was expanded to empty. The previous condition for determining whether we
should expand couldn't distinguish between cases where 'the expansion
was previously postponed' and 'the expansion occurred but resulted in
emptiness.'

In the latter scenario, we crash because we have not been examining the
current lambda's parent local instantiation scope since
[D98068](https://reviews.llvm.org/D98068): Any Decls instantiated in the
parent scope are not visible to the generic lambda, and thus any attempt
of looking for instantiated Decls in the lambda is capped to the current
Lambda's LIS.

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


  Commit: 4cebe5a43ba83eab477358ef4da665b43463bb68
      https://github.com/llvm/llvm-project/commit/4cebe5a43ba83eab477358ef4da665b43463bb68
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/test/SemaTemplate/cwg2398.cpp

  Log Message:
  -----------
  [clang] NFC: add test for cwg2398 ambiguity issue


  Commit: 85e1124049cd8aa1e58c101e082100ba74df7e42
      https://github.com/llvm/llvm-project/commit/85e1124049cd8aa1e58c101e082100ba74df7e42
  Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M flang/include/flang/Lower/AbstractConverter.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.h
    M flang/lib/Lower/OpenMP/Decomposer.cpp
    M flang/lib/Lower/OpenMP/Decomposer.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
    M flang/test/Lower/OpenMP/copyin.f90
    M flang/test/Lower/OpenMP/critical.f90
    M flang/test/Lower/OpenMP/default-clause.f90
    M flang/test/Lower/OpenMP/hlfir-seqloop-parallel.f90
    M flang/test/Lower/OpenMP/hlfir-wsloop.f90
    M flang/test/Lower/OpenMP/lastprivate-iv.f90
    M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
    M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
    M flang/test/Lower/OpenMP/parallel-private-clause.f90
    M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction3.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
    M flang/test/Lower/OpenMP/parallel-wsloop.f90
    M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
    M flang/test/Lower/OpenMP/target.f90
    M flang/test/Lower/OpenMP/unstructured.f90
    M flang/test/Lower/OpenMP/wsloop-collapse.f90
    M flang/test/Lower/OpenMP/wsloop-monotonic.f90
    M flang/test/Lower/OpenMP/wsloop-nonmonotonic.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
    M flang/test/Lower/OpenMP/wsloop-variable.f90
    M flang/test/Lower/OpenMP/wsloop.f90

  Log Message:
  -----------
  Revert "[flang][OpenMP] Try to unify induction var privatization for OMP regions. (#91116)"

This reverts commit 2a97b507dc643b7ee3bc651b3f21b754cfba433c.

It has broken LLVM testsuite on various bots
https://lab.llvm.org/buildbot/#/builders/184/builds/12760
https://lab.llvm.org/buildbot/#/builders/197/builds/14376
https://lab.llvm.org/buildbot/#/builders/179/builds/10176


  Commit: 1486653dcfd706db5b634676af4734a915179da1
      https://github.com/llvm/llvm-project/commit/1486653dcfd706db5b634676af4734a915179da1
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M bolt/lib/Profile/DataAggregator.cpp

  Log Message:
  -----------
  [BOLT] Use StringRef::contains (NFC) (#92842)


  Commit: b2d7d72ff2408dcc27048e08d50ac719ff03a89e
      https://github.com/llvm/llvm-project/commit/b2d7d72ff2408dcc27048e08d50ac719ff03a89e
  Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/test/CodeGen/aarch64-varargs.c

  Log Message:
  -----------
  [AArch64] Use ptrmask for vaarg stack alignment (#92836)


  Commit: 560c2fd3d427a5e2dc2361abde1142f3fda40253
      https://github.com/llvm/llvm-project/commit/560c2fd3d427a5e2dc2361abde1142f3fda40253
  Author: James Y Knight <jyknight at google.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/test/CodeGen/NVPTX/param-overalign.ll
    M llvm/test/CodeGen/NVPTX/st-param-imm.ll

  Log Message:
  -----------
  NVPTX: fix test failures under ptxas-12.0.

(Because ptxas-12 no longer supports 32-bit.)

Fixes c5b11a710e01304908e3f320e40bc9da9f6a8de4 and 8da3a8f550d0b266411b2dc177dff8591ee86cb2.


  Commit: 1c58208d899285318c89e069268145c85ec33368
      https://github.com/llvm/llvm-project/commit/1c58208d899285318c89e069268145c85ec33368
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatTokenSource.h
    M clang/lib/Format/MacroExpander.cpp
    M clang/lib/Format/Macros.h
    M clang/lib/Format/SortJavaScriptImports.cpp
    M clang/tools/clang-format/ClangFormat.cpp
    M clang/unittests/Format/CleanupTest.cpp
    M clang/unittests/Format/DefinitionBlockSeparatorTest.cpp
    M clang/unittests/Format/FormatTestBase.h
    M clang/unittests/Format/FormatTestCSharp.cpp
    M clang/unittests/Format/FormatTestJS.cpp
    M clang/unittests/Format/FormatTestJson.cpp
    M clang/unittests/Format/FormatTestProto.cpp
    M clang/unittests/Format/FormatTestRawStrings.cpp
    M clang/unittests/Format/FormatTestSelective.cpp
    M clang/unittests/Format/FormatTestTableGen.cpp
    M clang/unittests/Format/FormatTestUtils.h
    M clang/unittests/Format/FormatTestVerilog.cpp
    M clang/unittests/Format/FormatTokenSourceTest.cpp
    M clang/unittests/Format/MacroCallReconstructorTest.cpp
    M clang/unittests/Format/MacroExpanderTest.cpp
    M clang/unittests/Format/MatchFilePathTest.cpp
    M clang/unittests/Format/NamespaceEndCommentsFixerTest.cpp
    M clang/unittests/Format/ObjCPropertyAttributeOrderFixerTest.cpp
    M clang/unittests/Format/QualifierFixerTest.cpp
    M clang/unittests/Format/SortImportsTestJS.cpp
    M clang/unittests/Format/SortImportsTestJava.cpp
    M clang/unittests/Format/SortIncludesTest.cpp
    M clang/unittests/Format/TestLexer.h
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/unittests/Format/UsingDeclarationsSorterTest.cpp

  Log Message:
  -----------
  [clang-format][NFC] Remove redundnat llvm::, clang::, etc.


  Commit: 64aafd6908e3aa36c4504bc10f8d9fc819513f6c
      https://github.com/llvm/llvm-project/commit/64aafd6908e3aa36c4504bc10f8d9fc819513f6c
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [RISCV] Remove unneeded multiply in RISCV CodeGenTypes (#92644)

The NumVectors other than 1 is handled by the code above.


  Commit: 8be079cdddfd628d356d9ddb5ab397ea95fb1030
      https://github.com/llvm/llvm-project/commit/8be079cdddfd628d356d9ddb5ab397ea95fb1030
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/test/Preprocessor/riscv-target-features.c
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/MC/RISCV/rv32zaamo-invalid.s
    M llvm/test/MC/RISCV/rv32zaamo-valid.s
    M llvm/test/MC/RISCV/rv32zalrsc-invalid.s
    M llvm/test/MC/RISCV/rv32zalrsc-valid.s
    M llvm/test/MC/RISCV/rv64zaamo-invalid.s
    M llvm/test/MC/RISCV/rv64zaamo-valid.s
    M llvm/test/MC/RISCV/rv64zalrsc-invalid.s
    M llvm/test/MC/RISCV/rv64zalrsc-valid.s
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Bump Zaamo and Zalrsc to version 1.0 (#91556)

The ratified information can be found here:
https://wiki.riscv.org/display/HOME/Ratified+Extensions


  Commit: b4492c910cc6a3593b429b0ca16a1c7970e8b879
      https://github.com/llvm/llvm-project/commit/b4492c910cc6a3593b429b0ca16a1c7970e8b879
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [RISCV] Use an enum for demanded LMUL in RISCVInsertVSETVLI. NFC (#92513)

In needVSETVLI used by the forward insertion pass, we have some rules
where we can relax the demanded fields for slides and splats when VL=1.

However this only works if we don't increase LMUL to anything > M1
otherwise we would end up clobbering random registers.

Rather than check the VSETVLIInfo we're transitioning to, store this
information in DemandedFields and have isCompatible check it.

That way an upcoming patch can share these VL=1 rules with
RISCVCoalesceVSETVLI, which uses isCompatible and not needVSETVLI.


  Commit: c9dc52d424b7a264d4bcb29d7f56551304396d7f
      https://github.com/llvm/llvm-project/commit/c9dc52d424b7a264d4bcb29d7f56551304396d7f
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
    M clang/test/InstallAPI/alias_list.test
    M clang/test/InstallAPI/exclusive-passes-2.test
    A clang/test/InstallAPI/exclusive-passes-3.test
    M clang/test/InstallAPI/exclusive-passes.test
    M clang/test/InstallAPI/invalid-exclusive-passes.test
    M clang/tools/clang-installapi/InstallAPIOpts.td
    M clang/tools/clang-installapi/Options.cpp
    M clang/tools/clang-installapi/Options.h

  Log Message:
  -----------
  [InstallAPI] add JSON option to pass X<label> arguments (#91770)


  Commit: 6658e1a3fdfebfc9d1805029ca0e4de643634927
      https://github.com/llvm/llvm-project/commit/6658e1a3fdfebfc9d1805029ca0e4de643634927
  Author: Anchu Rajendran S <asudhaku at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M flang/include/flang/Semantics/openmp-directive-sets.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    A flang/test/Lower/OpenMP/Todo/masked-directive.f90
    A flang/test/Parser/OpenMP/masked-unparse.f90
    A flang/test/Semantics/OpenMP/masked.f90

  Log Message:
  -----------
  Adding parsing and semantic check support for omp masked (#91432)

omp masked directive in OpenMP 5.2 allows to specify code regions which
are expected to be executed by thread ids specified by the programmer.
Filter clause of the directive allows to specify the thread id. This
change adds the parsing support for the directive


  Commit: ac7c482ca581cdab11558b5a37ae5095a1638fd2
      https://github.com/llvm/llvm-project/commit/ac7c482ca581cdab11558b5a37ae5095a1638fd2
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [MemCpyOpt] Add extra debug output (NFC)


  Commit: 312c132467717461f3b00eccddbd615aa6aa483b
      https://github.com/llvm/llvm-project/commit/312c132467717461f3b00eccddbd615aa6aa483b
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [mlir][Bazel] Adjust BUILD file for 33b7833891dcacf9e81e911ed59932fd55113fff


  Commit: e411c88b7223d87520af819fdc012c9dbb46e575
      https://github.com/llvm/llvm-project/commit/e411c88b7223d87520af819fdc012c9dbb46e575
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
    M llvm/lib/Support/LockFileManager.cpp
    M llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp
    M mlir/lib/Tools/mlir-lsp-server/MLIRServer.cpp

  Log Message:
  -----------
  Use StringRef::find_first_of(char), etc (NFC) (#92841)


  Commit: 66b76faffb211b3cb2d58e3ab9401e6396447de9
      https://github.com/llvm/llvm-project/commit/66b76faffb211b3cb2d58e3ab9401e6396447de9
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll
    M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll

  Log Message:
  -----------
  AMDGPU: Directly emit sqrt intrinsic when folding rootn(x, 2) (#92598)

This avoids depending on pre/post link runs.

Depends #92595


  Commit: e3ffc4b6d4df3970dd10e65dcafd6f2d31deefd8
      https://github.com/llvm/llvm-project/commit/e3ffc4b6d4df3970dd10e65dcafd6f2d31deefd8
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/test/CodeGen/RISCV/rvv/extractelt-i1.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-subvector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-llrint.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-lrint.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-transpose.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-unaligned.ll
    M llvm/test/CodeGen/RISCV/rvv/splat-vector-split-i64-vl-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-splice.ll
    M llvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll

  Log Message:
  -----------
  [RISCV] Unify getDemanded between forward and backwards passes in RISCVInsertVSETVLI (#92860)

We have two rules in needVSETVLI where we can relax the demanded fields
for slides and splats when VL=1.

However these aren't present in getDemanded which prevents us from
coalescing some vsetvlis around slides and splats in the backwards pass.

The reasoning as to why they weren't in getDemanded is that these
require us to check the value of the AVL operand, which may be stale in
the backwards pass: the actual VL or VTYPE value may differ from what
was precisely requested in the pseudo's operands.

Using the original operands should actually be fine though, as we only
care about what was originally demanded by the instruction. The current
value of VL or VTYPE shouldn't influence this.

This addresses some of the regressions we are seeing in #70549 from
splats and slides getting reordered.


  Commit: 50dbbe5a0afd76f3c26c03da5af65e7263ac8664
      https://github.com/llvm/llvm-project/commit/50dbbe5a0afd76f3c26c03da5af65e7263ac8664
  Author: henke9600 <168358614+henke9600 at users.noreply.github.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [SROA] Use stable sort for slices to avoid non-determinism (#91609)

Found this while trying to build a LLVM toolchain reproducibly from both
Debian 12 and FreeBSD 14. With these changes they come out bit-by-bit
identical.

Previously there was a mix of stable and unstable sorts for slices, now
only stable sorts are used.


  Commit: 6246b495adcbdff7d2ec4f37dfb656542adf909d
      https://github.com/llvm/llvm-project/commit/6246b495adcbdff7d2ec4f37dfb656542adf909d
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vaaddu.ll
    M llvm/test/CodeGen/RISCV/rvv/vaaddu-sdnode.ll

  Log Message:
  -----------
  [RISCV] Select ISD::AVGCEILS/AVGFLOORS as vaadd. (#92839)

I think the behaviors are the same if this describes their behavior.

AVGFLOORS sign extends the inputs by 1 bit, adds them, then does an
arithmetic shift right by 1 before truncating to the original bit width.
This is vaadd with rdn rounding mode.

AVGCEILS sign extends the inputs by 1 bit, adds them, then does an
arithmetic shift right by 1. If the bit shifted out is 1, it adds 1 to
the shifted value. Then truncates to the original bit width. This is vaadd
with rnu rounding mode.

I think this wasn't implemented previously because there was some
confusion about what average means. Some may expect average to round
towards zero, but there is no way to do that in RISC-V or with the
SelectionDAG nodes. Related issue
https://github.com/riscv/riscv-v-spec/issues/935


  Commit: 2631531764f0e732a0e96ab066de27d08b604655
      https://github.com/llvm/llvm-project/commit/2631531764f0e732a0e96ab066de27d08b604655
  Author: zhongyunde 00443407 <zhongyunde at huawei.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/fma.ll

  Log Message:
  -----------
  [InstCombine] Removing the combine of fmuladd with fast flag

We should treat fmuladd like an fma intrinsic, and any regressions need to be
addressed by dealing with fma/fmuladd in other contexts.


  Commit: f2e787e7030126f5f55bb4e90cc83827f25e1219
      https://github.com/llvm/llvm-project/commit/f2e787e7030126f5f55bb4e90cc83827f25e1219
  Author: zhongyunde 00443407 <zhongyunde at huawei.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [InstCombine] Add some tests with reduced flag sets, NFC

We remove the combine for fmuladd with fast flag on PR90434,
and add these tests with reduced flags to show they have identity
results.


  Commit: 9c7848171779dffb2e23cc7db6b518612e804a74
      https://github.com/llvm/llvm-project/commit/9c7848171779dffb2e23cc7db6b518612e804a74
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
    M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/reorder-gep.ll

  Log Message:
  -----------
  [SeparateConstOffsetFromGEP] Support multiple indices in reorderGEP (#92339)

The code was essentially already ready to handle multiple indices -- we
only need to adjust the non-negative index check to check all indices,
instead of only the first one.


  Commit: 675e7bd1b94f78f0567b4327f187841c0cde36f9
      https://github.com/llvm/llvm-project/commit/675e7bd1b94f78f0567b4327f187841c0cde36f9
  Author: Piyou Chen <piyou.chen at sifive.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/test/CodeGen/RISCV/O0-pipeline.ll
    M llvm/test/CodeGen/RISCV/O3-pipeline.ll
    M llvm/test/CodeGen/RISCV/early-clobber-tied-def-subreg-liveness.ll
    M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts-vscale.ll
    M llvm/test/CodeGen/RISCV/pr69586.ll
    M llvm/test/CodeGen/RISCV/regalloc-last-chance-recoloring-failure.ll
    M llvm/test/CodeGen/RISCV/rvv/abs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/access-fixed-objects-by-rvv.ll
    M llvm/test/CodeGen/RISCV/rvv/active_lane_mask.ll
    M llvm/test/CodeGen/RISCV/rvv/bitreverse-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/bswap-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/calling-conv-fastcc.ll
    M llvm/test/CodeGen/RISCV/rvv/ceil-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/combine-store-extract-crash.ll
    M llvm/test/CodeGen/RISCV/rvv/compressstore.ll
    M llvm/test/CodeGen/RISCV/rvv/concat-vector-insert-elt.ll
    M llvm/test/CodeGen/RISCV/rvv/constant-folding-crash.ll
    M llvm/test/CodeGen/RISCV/rvv/ctlz-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/ctlz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/ctpop-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/cttz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/extractelt-i1.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vector-i8-index-cornercase.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitreverse-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bswap-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-buildvec-of-binop.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ceil-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctlz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctpop-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-deinterleave-load.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-i1.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-floor-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i-sat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptosi-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptoui-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptrunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-explodevector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access-zve32x.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-llrint.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-lrint.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-splat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-load-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-store-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-nearbyint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-formation.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-mask-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-rint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-round-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundeven-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundtozero-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sad.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-concat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-transpose.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-combine.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpstore.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-trunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-uitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vand-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vcopysign-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfabs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfma-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmuladd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfneg-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfsqrt-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwadd.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmul.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwsub.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmaxu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vminu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpgather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpmerge.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpscatter.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpstore.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vscale-range.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulsu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsub.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/floor-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fmaximum-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fminimum-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
    M llvm/test/CodeGen/RISCV/rvv/fptosi-sat.ll
    M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/llrint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/lrint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/masked-tama.ll
    M llvm/test/CodeGen/RISCV/rvv/mgather-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/mscatter-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/nearbyint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/pr63596.ll
    M llvm/test/CodeGen/RISCV/rvv/rint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/round-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/roundeven-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/roundtozero-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/rv32-spill-vector-csr.ll
    M llvm/test/CodeGen/RISCV/rvv/rv64-spill-vector-csr.ll
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/shuffle-reverse.ll
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
    M llvm/test/CodeGen/RISCV/rvv/sshl_sat_vec.ll
    M llvm/test/CodeGen/RISCV/rvv/stepvector.ll
    M llvm/test/CodeGen/RISCV/rvv/strided-vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/strided-vpstore.ll
    M llvm/test/CodeGen/RISCV/rvv/vadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vcopysign-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vcpop.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-store.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-splice.ll
    M llvm/test/CodeGen/RISCV/rvv/vfabs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfdiv-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfirst.ll
    M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmadd-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmadd-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmsub-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmul-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmuladd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfneg-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfnmadd-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfnmsub-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfpext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptosi-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptoui-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptrunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsqrt-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwnmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwnmsac-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vitofp-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmaxu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfeq.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfge.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfgt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfle.ll
    M llvm/test/CodeGen/RISCV/rvv/vmflt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfne.ll
    M llvm/test/CodeGen/RISCV/rvv/vmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vminu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsbf.ll
    M llvm/test/CodeGen/RISCV/rvv/vmseq.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsge.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgeu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgtu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsif.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsle.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsleu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmslt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsltu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsne.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsof.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-cttz-elts.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-reverse-int.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-reverse-mask-fixed-vectors.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-reverse-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-fixed-vectors.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-vectors.ll
    M llvm/test/CodeGen/RISCV/rvv/vpgather-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/vpmerge-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vpscatter-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vpstore.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-mask-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vrgatherei16-subreg-liveness.ll
    M llvm/test/CodeGen/RISCV/rvv/vsadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsaddu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vselect-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/vselect-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
    M llvm/test/CodeGen/RISCV/rvv/vsext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vssub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vssubu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vtrunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vuitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vxrm-insert.ll
    M llvm/test/CodeGen/RISCV/rvv/vzext-vp.ll
    M llvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll

  Log Message:
  -----------
  [RISCV] Support postRA vsetvl insertion pass (#70549)

This patch try to get rid of vsetvl implict vl/vtype def-use chain and
improve the register allocation quality by moving the vsetvl insertion
pass after RVV register allocation

It will gain the benefit for the following optimization from

1. unblock scheduler's constraints by removing vl/vtype def-use chain
2. Support RVV re-materialization
3. Support partial spill

This patch add a new option `-riscv-vsetvl-after-rvv-regalloc=<1|0>` to
control this feature and default set as disable.


  Commit: 56a1f0a022f6d7f6908af0df9e2e0567d5e4712e
      https://github.com/llvm/llvm-project/commit/56a1f0a022f6d7f6908af0df9e2e0567d5e4712e
  Author: Yuxuan Chen <ych at fb.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/docs/MemorySSA.rst

  Log Message:
  -----------
  Documentation: Fix C++ examples in MemorySSA documentation (#92802)


  Commit: c4d6867b786a0c850de824fe5452acf6c3c676ca
      https://github.com/llvm/llvm-project/commit/c4d6867b786a0c850de824fe5452acf6c3c676ca
  Author: Ramkumar Ramachandra <r at artagnon.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Analysis/InstructionSimplify.cpp

  Log Message:
  -----------
  InstSimplify: strip bad TODO (NFC) (#92754)

foldIdentityShuffles requires two sets of canceling shuffles. If there
are any intervening instructions, they are feeding in the result of the
first set of shuffles. To eliminate the two sets of shuffles, you'd have
to rewrite the head of the intervening instructions to feed in the
operand of the first set of shuffles. Since modifying the IR in any way
is disallowed by an analysis, strip this bad TODO.


  Commit: 63d81311a2569226781dc00481feb91ea1423571
      https://github.com/llvm/llvm-project/commit/63d81311a2569226781dc00481feb91ea1423571
  Author: Ramkumar Ramachandra <r at artagnon.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/test/Transforms/InstSimplify/shufflevector.ll
    M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll

  Log Message:
  -----------
  VectorCombine: add tests written for InstSimplify (#92776)

2141907 (InstSimplify: increase shufflevector test coverage) was
recently merged as a pre-commit test for some work that was misguided.
It turns out that InstSimplify can never work on those tests, but the
tests are useful nevertheless; move them to VectorCombine to support the
development of VectorCombine::foldShuffleToIdentity.


  Commit: bfb5fe218ec7aa282375905189bf0aab79609c04
      https://github.com/llvm/llvm-project/commit/bfb5fe218ec7aa282375905189bf0aab79609c04
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M mlir/lib/Conversion/VectorToArmSME/VectorToArmSME.cpp
    M mlir/test/Conversion/VectorToArmSME/vector-to-arm-sme.mlir

  Log Message:
  -----------
  [mlir][ArmSME] Fold transpose into xfer read to enable in-flight transpose (#92562)

vector.transpose ops whose inputs come from vector.transfer_read can be
eliminated by folding the transpose into the xfer op to enable in-flight
transposition when converting xfer read to arm_sme.tile_load.


  Commit: e3fa7ee11d88dfaa82bf0c3fc3b69eac6c40a16a
      https://github.com/llvm/llvm-project/commit/e3fa7ee11d88dfaa82bf0c3fc3b69eac6c40a16a
  Author: Ramkumar Ramachandra <r at artagnon.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  VectorCombine: refactor foldShuffleToIdentity (NFC) (#92766)

Lift out the long lambdas into static functions, use C++ destructing
syntax, and fix other minor things to improve the readability of the
function.


  Commit: 566431ce087d34eaec390cff13251e743688928f
      https://github.com/llvm/llvm-project/commit/566431ce087d34eaec390cff13251e743688928f
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/cmake/modules/HandleLLVMOptions.cmake

  Log Message:
  -----------
  [NFC] Improve the comment about `std::min_element` being `constepxr` in libstdc++


  Commit: d094bb660d48fd1beadc0e2456f104ab2cc7f52c
      https://github.com/llvm/llvm-project/commit/d094bb660d48fd1beadc0e2456f104ab2cc7f52c
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Analysis/InstructionSimplify.cpp

  Log Message:
  -----------
  [InstSimplify] Avoid use of ConstantExpr::getICmp() (NFC)

Use ConstantFoldCompareInstOperands() instead.


  Commit: 1e86e924288221826e0fb93d33be80d65f198ae6
      https://github.com/llvm/llvm-project/commit/1e86e924288221826e0fb93d33be80d65f198ae6
  Author: hev <wangrui at loongson.cn>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchSubtarget.h
    M llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.cpp
    M llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.h
    M llvm/test/Transforms/LoopVectorize/LoongArch/defaults.ll
    A llvm/test/Transforms/LoopVectorize/LoongArch/loongarch-interleaved.ll

  Log Message:
  -----------
  [LoongArch] Enable interleaved vectorization (#92629)

This PR enables interleaved vectorization for LoongArch, with a default
interleaving factor of `2`.


  Commit: 7efafb0109b899d501a6508a0329e0c181964c47
      https://github.com/llvm/llvm-project/commit/7efafb0109b899d501a6508a0329e0c181964c47
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/InstSimplifyFolder.h
    M llvm/include/llvm/Analysis/TargetFolder.h
    M llvm/include/llvm/IR/ConstantFolder.h
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/IRBuilderFolder.h
    M llvm/include/llvm/IR/NoFolder.h
    M llvm/lib/IR/IRBuilder.cpp

  Log Message:
  -----------
  [IRBuilder] Migrate fcmp to folding API

This was one of the last leftovers still using a Create-style
instead of Fold-style API. Convert FoldICmp into FoldCmp so it
can handle both icmp and fcmp.


  Commit: fea29ee41d50c5603338f5af4728ddbdf93aaec2
      https://github.com/llvm/llvm-project/commit/fea29ee41d50c5603338f5af4728ddbdf93aaec2
  Author: Zibi <62662650+zibi2 at users.noreply.github.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/assign.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/copy.pass.cpp

  Log Message:
  -----------
  [libc++][z/OS] Switch to use TEST_HAS_NO_INT128 as per comment in PR 92261 (#92434)

Follow up to llvm#92261.


  Commit: 8b8ad75cc94aad88c505bdca71c903774f9e75c7
      https://github.com/llvm/llvm-project/commit/8b8ad75cc94aad88c505bdca71c903774f9e75c7
  Author: Christopher Di Bella <cjdb at google.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M libcxx/include/__type_traits/has_unique_object_representation.h
    M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/has_unique_object_representations.pass.cpp

  Log Message:
  -----------
  [libcxx] removes unnecessary traits from `has_unique_object_representations` (#69241)

`remove_cv_t` and `remove_all_extents_t` are taken care of by the
built-in trait, so we don't need to use them directly.

---------

Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>


  Commit: 74f1e29133bc0f984d159493552b843f771087d0
      https://github.com/llvm/llvm-project/commit/74f1e29133bc0f984d159493552b843f771087d0
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/test/Assembler/ConstantExprFold.ll
    M llvm/test/CodeGen/AMDGPU/lower-ctor-dtor-constexpr-alias.ll
    M llvm/test/CodeGen/AMDGPU/lower-ctor-dtor.ll
    M llvm/test/Transforms/InstCombine/getelementptr.ll

  Log Message:
  -----------
  [Tests] Regenerate test checks (NFC)

To minimize future diffs.


  Commit: d89f20058b45e3836527e816af7ed7372e1d554d
      https://github.com/llvm/llvm-project/commit/d89f20058b45e3836527e816af7ed7372e1d554d
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [clang-format] Fix a bug in formatting goto labels in macros (#92494)

Fixes #92300.


  Commit: af8f1554b8e7844304ce61b49b06e5b7946e9c47
      https://github.com/llvm/llvm-project/commit/af8f1554b8e7844304ce61b49b06e5b7946e9c47
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
    M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
    M lldb/tools/lldb-dap/JSONUtils.cpp

  Log Message:
  -----------
  [lldb-dap] Don't send expanded descriptions for "hover" expressions (#92726)

VSCode will automatically ask for the children (in structured form) so
there's no point in sending the textual representation. This can make
displaying hover popups for complex variables with complicated data
formatters much faster. See discussion on #77026 for context.


  Commit: b7941dc860e7b827baa4902aa32dab86fb9d6a31
      https://github.com/llvm/llvm-project/commit/b7941dc860e7b827baa4902aa32dab86fb9d6a31
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/test/OpenMP/threadprivate_codegen.cpp

  Log Message:
  -----------
  [OpenMP] Regenerate test checks (NFC)


  Commit: ee76f1e1b7ee4585b8d5ead27c317abbc2cdf4b7
      https://github.com/llvm/llvm-project/commit/ee76f1e1b7ee4585b8d5ead27c317abbc2cdf4b7
  Author: Kristof Beyls <kristof.beyls at llvm.org>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/docs/DeveloperPolicy.rst

  Log Message:
  -----------
  [DevPolicy] Drop requirement to contribute also under the legacy license (#92394)

See
https://discourse.llvm.org/t/relicensing-next-step-dropping-requirement-to-contribute-also-under-the-legacy-license/78351
for more details.


  Commit: bbd54e08b08f5ccd38c4665178e65c58f7b14459
      https://github.com/llvm/llvm-project/commit/bbd54e08b08f5ccd38c4665178e65c58f7b14459
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
    M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
    M lldb/source/Target/RegisterContextUnwind.cpp
    M lldb/test/API/functionalities/bt-interrupt/main.c
    A lldb/test/Shell/Unwind/Inputs/signal-in-leaf-function-aarch64.c
    A lldb/test/Shell/Unwind/signal-in-leaf-function-aarch64.test
    M lldb/unittests/UnwindAssembly/ARM64/TestArm64InstEmulation.cpp

  Log Message:
  -----------
  Reapply "[lldb/aarch64] Fix unwinding when signal interrupts a leaf f… (#92503)

…unction (#91321)"

This reapplies fd1bd53ba5a06f344698a55578f6a5d79c457e30, which was
reverted due to a test failure on aarch64/windows. The failure was
caused by a combination of several factors:
- clang targeting aarch64-windows (unlike msvc, and unlike clang
targeting other aarch64 platforms) defaults to -fomit-frame-pointers
- lldb's code for looking up register values for `<same>` unwind rules
is recursive
- the test binary creates a very long chain of fp-less function frames
(it manages to fit about 22k frames before it blows its stack)

Together, these things have caused lldb to recreate the same deep
recursion when unwinding through this, and blow its own stack as well.
Since lldb frames are larger, about 4k frames like this was sufficient
to trigger the stack overflow.

This version of the patch works around this problem by increasing the
frame size of the test binary, thereby causing it to blow its stack
sooner. This doesn't fix the issue -- the same problem can occur with a
real binary -- but it's not very likely, as it requires an infinite
recursion in a simple (so it doesn't use the frame pointer) function
with a very small frame (so you can fit a lot of them on the stack).

A more principled fix would be to make lldb's lookup code non-recursive,
but I believe that's out of scope for this patch.

The original patch description follows:

A leaf function may not store the link register to stack, but we it can
still end up being a non-zero frame if it gets interrupted by a signal.
Currently, we were unable to unwind past this function because we could
not read the link register value.

To make this work, this patch:
- changes the function-entry unwind plan to include the `fp|lr = <same>`
rules. This in turn necessitated an adjustment in the generic
instruction emulation logic to ensure that `lr=[sp-X]` can override the
`<same>` rule.
- allows the `<same>` rule for pc and lr in all
`m_all_registers_available` frames (and not just frame zero).

The test verifies that we can unwind in a situation like this, and that
the backtrace matches the one we computed before getting a signal.


  Commit: e96948a6e88966e1efe110d981aeb84f09cbb98e
      https://github.com/llvm/llvm-project/commit/e96948a6e88966e1efe110d981aeb84f09cbb98e
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/global_atomic_optimizer_fp_rtn.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_optimizer_fp_no_rtn.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll

  Log Message:
  -----------
  AMDGPU: Fix typos in test names


  Commit: 2bad2ee0505bef9f5f0fbbb1bef7c85a9964d253
      https://github.com/llvm/llvm-project/commit/2bad2ee0505bef9f5f0fbbb1bef7c85a9964d253
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll

  Log Message:
  -----------
  AMDGPU: Fix testing unaligned double atomics in atomic scan tests

Fix copy paste error using align 4 double atomics. Test the meaningful
correctly aligned cases, the unaligned case emits broken libcalls.


  Commit: 502bea25bdc07d1811b8bfea1c2e6bfa8617f72f
      https://github.com/llvm/llvm-project/commit/502bea25bdc07d1811b8bfea1c2e6bfa8617f72f
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M flang/test/Semantics/OpenMP/dealloc.f90
    M flang/test/Semantics/OpenMP/declarative-directive.f90
    M flang/test/Semantics/OpenMP/declare-target-common-block.f90
    M flang/test/Semantics/OpenMP/declare-target01.f90
    M flang/test/Semantics/OpenMP/declare-target02.f90
    M flang/test/Semantics/OpenMP/declare-target03.f90
    M flang/test/Semantics/OpenMP/declare-target04.f90
    M flang/test/Semantics/OpenMP/declare-target05.f90
    M flang/test/Semantics/OpenMP/declare-target06.f90
    M flang/test/Semantics/OpenMP/declare-target07.f90
    M flang/test/Semantics/OpenMP/default-clause.f90
    M flang/test/Semantics/OpenMP/default-none.f90
    M flang/test/Semantics/OpenMP/default.f90
    M flang/test/Semantics/OpenMP/default02.f90
    M flang/test/Semantics/OpenMP/depend01.f90
    M flang/test/Semantics/OpenMP/depend02.f90
    M flang/test/Semantics/OpenMP/depend03.f90
    M flang/test/Semantics/OpenMP/device-clause01.f90
    M flang/test/Semantics/OpenMP/device-constructs.f90
    M flang/test/Semantics/OpenMP/do-collapse-positivecases.f90
    M flang/test/Semantics/OpenMP/do-collapse.f90
    M flang/test/Semantics/OpenMP/do-cycle.f90
    M flang/test/Semantics/OpenMP/do-ordered-positivecases.f90
    M flang/test/Semantics/OpenMP/do-ordered.f90
    M flang/test/Semantics/OpenMP/do-schedule01.f90
    M flang/test/Semantics/OpenMP/do-schedule02.f90
    M flang/test/Semantics/OpenMP/do-schedule03.f90
    M flang/test/Semantics/OpenMP/do-schedule04.f90
    M flang/test/Semantics/OpenMP/do01-positivecase.f90
    M flang/test/Semantics/OpenMP/do01.f90
    M flang/test/Semantics/OpenMP/do03.f90
    M flang/test/Semantics/OpenMP/do04-positivecase.f90
    M flang/test/Semantics/OpenMP/do04.f90
    M flang/test/Semantics/OpenMP/do05-positivecase.f90
    M flang/test/Semantics/OpenMP/do05.f90
    M flang/test/Semantics/OpenMP/do06-positivecases.f90
    M flang/test/Semantics/OpenMP/do06.f90
    M flang/test/Semantics/OpenMP/do07.f90
    M flang/test/Semantics/OpenMP/do08.f90
    M flang/test/Semantics/OpenMP/do09.f90
    M flang/test/Semantics/OpenMP/do10.f90
    M flang/test/Semantics/OpenMP/do11.f90
    M flang/test/Semantics/OpenMP/do12.f90
    M flang/test/Semantics/OpenMP/do13.f90
    M flang/test/Semantics/OpenMP/do14.f90
    M flang/test/Semantics/OpenMP/do15.f90
    M flang/test/Semantics/OpenMP/do16.f90
    M flang/test/Semantics/OpenMP/do17.f90
    M flang/test/Semantics/OpenMP/do18.f90
    M flang/test/Semantics/OpenMP/do19.f90
    M flang/test/Semantics/OpenMP/do20.f90
    M flang/test/Semantics/OpenMP/firstprivate01.f90
    M flang/test/Semantics/OpenMP/firstprivate02.f90
    M flang/test/Semantics/OpenMP/flush01.f90
    M flang/test/Semantics/OpenMP/flush02.f90
    M flang/test/Semantics/OpenMP/if-clause.f90
    M flang/test/Semantics/OpenMP/implicit-dsa.f90
    M flang/test/Semantics/OpenMP/invalid-branch.f90
    M flang/test/Semantics/OpenMP/lastprivate01.f90
    M flang/test/Semantics/OpenMP/lastprivate02.f90
    M flang/test/Semantics/OpenMP/lastprivate03.f90
    M flang/test/Semantics/OpenMP/linear-iter.f90
    M flang/test/Semantics/OpenMP/loop-association.f90
    M flang/test/Semantics/OpenMP/loop-simd01.f90
    M flang/test/Semantics/OpenMP/map-clause.f90
    M flang/test/Semantics/OpenMP/modfile-threadprivate.f90
    M flang/test/Semantics/OpenMP/nested-barrier.f90
    M flang/test/Semantics/OpenMP/nested-cancel.f90
    M flang/test/Semantics/OpenMP/nested-cancellation-point.f90
    M flang/test/Semantics/OpenMP/nested-distribute.f90
    M flang/test/Semantics/OpenMP/nested-master.f90
    M flang/test/Semantics/OpenMP/nested-simd.f90
    M flang/test/Semantics/OpenMP/nested-target.f90
    M flang/test/Semantics/OpenMP/nested-teams.f90
    M flang/test/Semantics/OpenMP/nested01.f90
    M flang/test/Semantics/OpenMP/no-dowhile-in-parallel.f90
    M flang/test/Semantics/OpenMP/nontemporal.f90
    M flang/test/Semantics/OpenMP/omp-atomic-assignment-stmt.f90
    M flang/test/Semantics/OpenMP/omp-do-collapse1.f90
    M flang/test/Semantics/OpenMP/order-clause01.f90
    M flang/test/Semantics/OpenMP/ordered-simd.f90
    M flang/test/Semantics/OpenMP/ordered01.f90
    M flang/test/Semantics/OpenMP/ordered02.f90
    M flang/test/Semantics/OpenMP/ordered03.f90
    M flang/test/Semantics/OpenMP/parallel-critical-do.f90
    M flang/test/Semantics/OpenMP/parallel-private01.f90
    M flang/test/Semantics/OpenMP/parallel-private02.f90
    M flang/test/Semantics/OpenMP/parallel-private03.f90
    M flang/test/Semantics/OpenMP/parallel-private04.f90
    M flang/test/Semantics/OpenMP/parallel-sections-do.f90
    M flang/test/Semantics/OpenMP/parallel-sections01.f90
    M flang/test/Semantics/OpenMP/parallel-shared01.f90
    M flang/test/Semantics/OpenMP/parallel-shared02.f90
    M flang/test/Semantics/OpenMP/parallel-shared03.f90
    M flang/test/Semantics/OpenMP/parallel-shared04.f90
    M flang/test/Semantics/OpenMP/parallel01.f90
    M flang/test/Semantics/OpenMP/parallel02.f90
    M flang/test/Semantics/OpenMP/private-is-pointer-allocatable-check.f90
    M flang/test/Semantics/OpenMP/private01.f90
    M flang/test/Semantics/OpenMP/private02.f90
    M flang/test/Semantics/OpenMP/reduction-subtract.f90
    M flang/test/Semantics/OpenMP/reduction01.f90
    M flang/test/Semantics/OpenMP/reduction02.f90
    M flang/test/Semantics/OpenMP/reduction03.f90
    M flang/test/Semantics/OpenMP/reduction04.f90
    M flang/test/Semantics/OpenMP/reduction05.f90
    M flang/test/Semantics/OpenMP/reduction06.f90
    M flang/test/Semantics/OpenMP/reduction07.f90
    M flang/test/Semantics/OpenMP/reduction08.f90
    M flang/test/Semantics/OpenMP/reduction09.f90
    M flang/test/Semantics/OpenMP/reduction10.f90
    M flang/test/Semantics/OpenMP/reduction11.f90
    M flang/test/Semantics/OpenMP/reduction12.f90
    M flang/test/Semantics/OpenMP/requires-atomic01.f90
    M flang/test/Semantics/OpenMP/requires-atomic02.f90
    M flang/test/Semantics/OpenMP/requires01.f90
    M flang/test/Semantics/OpenMP/requires02.f90
    M flang/test/Semantics/OpenMP/requires03.f90
    M flang/test/Semantics/OpenMP/requires04.f90
    M flang/test/Semantics/OpenMP/requires05.f90
    M flang/test/Semantics/OpenMP/requires06.f90
    M flang/test/Semantics/OpenMP/requires07.f90
    M flang/test/Semantics/OpenMP/requires08.f90
    M flang/test/Semantics/OpenMP/requires09.f90
    M flang/test/Semantics/OpenMP/resolve01.f90
    M flang/test/Semantics/OpenMP/resolve02.f90
    M flang/test/Semantics/OpenMP/resolve03.f90
    M flang/test/Semantics/OpenMP/resolve04.f90
    M flang/test/Semantics/OpenMP/resolve05.f90
    M flang/test/Semantics/OpenMP/resolve06.f90
    M flang/test/Semantics/OpenMP/target-update01.f90
    M flang/test/Semantics/OpenMP/target.f90
    M flang/test/Semantics/OpenMP/target01.f90
    M flang/test/Semantics/OpenMP/target02.f90
    M flang/test/Semantics/OpenMP/task01.f90
    M flang/test/Semantics/OpenMP/taskgroup01.f90
    M flang/test/Semantics/OpenMP/taskloop-simd01.f90

  Log Message:
  -----------
  [Flang][OpenMP] Re-enable tests without runtime issues on Windows (#92824)


  Commit: 352dc7d4bb246ef0ecda4005934770e2a976ee4c
      https://github.com/llvm/llvm-project/commit/352dc7d4bb246ef0ecda4005934770e2a976ee4c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll

  Log Message:
  -----------
  [LV] Propagate PredicatedBBsAfterVectorization to predecessors.

This fixes some cases where predicated BBs where missed previously,
leading to under-estimating the cost of those blocks.


  Commit: 37813e09fa8b67ec858ad3c82dcf72a8ff306b03
      https://github.com/llvm/llvm-project/commit/37813e09fa8b67ec858ad3c82dcf72a8ff306b03
  Author: martinboehme <mboehme at google.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/docs/tools/clang-formatted-files.txt
    A clang/include/clang/Analysis/FlowSensitive/CNFFormula.h
    M clang/include/clang/Analysis/FlowSensitive/WatchedLiteralsSolver.h
    M clang/lib/Analysis/FlowSensitive/CMakeLists.txt
    A clang/lib/Analysis/FlowSensitive/CNFFormula.cpp
    M clang/lib/Analysis/FlowSensitive/WatchedLiteralsSolver.cpp
    M llvm/utils/gn/secondary/clang/lib/Analysis/FlowSensitive/BUILD.gn

  Log Message:
  -----------
  [clang][dataflow] Make `CNFFormula` externally accessible. (#92401)

This component can be useful when creating implementations of `Solver`,
as some
SAT solvers require the input to be in 3-CNF.

As part of making `CNFFormula` externally accessible, I have moved some
member
variables out of it that aren't really part of the representation of a
3-CNF
formula and thus live better elsewhere:

*  `WatchedHead` and `NextWatched` have been moved to
`WatchedLiteralsSolverImpl`, as they're part of the specific algorithm
used
   by that SAT solver.

* `Atomics` has become an output parameter of `buildCNF()` because it
has to do
with the relationship between a `CNFFormula` and the set of `Formula`s
it is
derived from rather than being an integral part of the representation of
a
   3-CNF formula.

I have also made all member variables private and added appropriate
accessors.


  Commit: a098beaff7670e5986b790b6ba93999fa21c6b48
      https://github.com/llvm/llvm-project/commit/a098beaff7670e5986b790b6ba93999fa21c6b48
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M lldb/include/lldb/lldb-types.h

  Log Message:
  -----------
  [lldb] Move callback_token_t out of #ifdef windows

Also make it a int32_t to match the surrounding code.


  Commit: 9d70975c7a72f3fa58d2d63090b92886dbf8a32b
      https://github.com/llvm/llvm-project/commit/9d70975c7a72f3fa58d2d63090b92886dbf8a32b
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Remove an assertion that's too strong

Both types need to boil down to a vector type with the same length
and their element types need to match, but we still can't compare
them with == since they might be sugared, etc.


  Commit: 7cee61c82f7fe5a563c2781e855c13238c44931f
      https://github.com/llvm/llvm-project/commit/7cee61c82f7fe5a563c2781e855c13238c44931f
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/test/Lower/OpenMP/lastprivate-iv.f90

  Log Message:
  -----------
  [Flang][OpenMP] Fix lastprivate store issue (#92777)

Fix an issue where the lastprivate variable type is different from the
type used for the index of the loop.

Fixes #79780


  Commit: 1b377dbeb73ef3abec246fe11fc98ec699625c0c
      https://github.com/llvm/llvm-project/commit/1b377dbeb73ef3abec246fe11fc98ec699625c0c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/test/Analysis/LoopAccessAnalysis/depend_diff_types.ll
    M llvm/test/Analysis/LoopAccessAnalysis/invariant-dependence-before.ll
    M llvm/test/Analysis/LoopAccessAnalysis/loop-invariant-dep-with-backedge-taken-count.ll
    M llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-backward.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll

  Log Message:
  -----------
  [LAA] Check accesses don't overlap early to determine NoDep (#92307)

Use getStartAndEndForAccess to compute the start and end of both src 
and sink (factored out to helper in bce3680f45b57f). If they do not
overlap (i.e. SrcEnd <= SinkStart || SinkEnd <= SrcStart), there is no
dependence, regardless of stride.

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


  Commit: 808fc8406973f958fa76acba2d7648d215d9681b
      https://github.com/llvm/llvm-project/commit/808fc8406973f958fa76acba2d7648d215d9681b
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/test/AST/Interp/functions.cpp

  Log Message:
  -----------
  [clang][Interp] Fix dummy DeclRefExprs for function pointers


  Commit: 375761bcaba9ba5694890ece6eed5db286fc4fd1
      https://github.com/llvm/llvm-project/commit/375761bcaba9ba5694890ece6eed5db286fc4fd1
  Author: Lukacma <Marian.Lukac at arm.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M clang/test/CodeGen/aarch64-byval-temp.c
    M clang/test/CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
    M clang/test/CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.cpp
    M clang/test/CodeGen/nofpclass.c

  Log Message:
  -----------
  [Clang] Emit lifetime markers for non-aggregate temporary allocas (#90849)

This patch extends https://reviews.llvm.org/D68611 and emits lifetime
markers for temporary allocas of non-aggregate types as well.


  Commit: bb3d261f55e72e313fd8ddfefac3b47cfca2f656
      https://github.com/llvm/llvm-project/commit/bb3d261f55e72e313fd8ddfefac3b47cfca2f656
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/Interp.h
    M clang/test/AST/Interp/arrays.cpp

  Log Message:
  -----------
  [clang][Interp] Protect GetPtrField ops from unknown size arrays


  Commit: 9677e8171c19f1a15c0234724f083bc9473c545a
      https://github.com/llvm/llvm-project/commit/9677e8171c19f1a15c0234724f083bc9473c545a
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.h
    M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
    M lldb/test/API/lang/cpp/limit-debug-info/Makefile
    M lldb/test/API/lang/cpp/limit-debug-info/TestWithLimitDebugInfo.py
    M lldb/test/API/lang/cpp/limit-debug-info/base.cpp
    M lldb/test/API/lang/cpp/limit-debug-info/base.h
    M lldb/test/API/lang/cpp/limit-debug-info/derived.cpp
    M lldb/test/API/lang/cpp/limit-debug-info/derived.h
    M lldb/test/API/lang/cpp/limit-debug-info/main.cpp
    M lldb/unittests/SymbolFile/DWARF/DWARFDIETest.cpp

  Log Message:
  -----------
  [lldb/dwarf] Fix DW_IDX_parent processing for split dwarf (#92745)

DWARFDebugInfo only knows how to resolve references in its own file, but
in split dwarf, the index entries will refer to DIEs in the separate
(DWO) file. To resolve the DIERef correctly we'd either need to go
through the SymbolFileDWARF to get the full logic for resolving a
DIERef, or use the fact that ToDIERef already looks up the correct unit
while computing its result.

This patch does the latter.

This bug manifested itself in not being able to find type definitions
for types in namespaces, so I've modified one of our type resolving test
cases to run with debug_names, and added a namespaced class into it (it
originally contained only a top-level class).


  Commit: 45a5d8d6dba6156c24825b3a04378e999f8af82d
      https://github.com/llvm/llvm-project/commit/45a5d8d6dba6156c24825b3a04378e999f8af82d
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [lldb] Clean up unused includes in DebugNamesDWARFIndex


  Commit: d9c27cafdb1c16fff837a3eb0ec0fb2ad912bc50
      https://github.com/llvm/llvm-project/commit/d9c27cafdb1c16fff837a3eb0ec0fb2ad912bc50
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/test/AST/Interp/records.cpp

  Log Message:
  -----------
  [clang][Interp] Fix discarding construct exprs with zero initializers

We need to create the temporary earlier so the
visitZeroRecordInitializer() call has access to it.


  Commit: b7d911b76a6c44a3fcec56dd7e5fde9fbe63f4fe
      https://github.com/llvm/llvm-project/commit/b7d911b76a6c44a3fcec56dd7e5fde9fbe63f4fe
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang-tools-extra/clangd/test/infinite-instantiation.test

  Log Message:
  -----------
  [clangd] Reduce instantiation depth in `infinite-instantiations.test` (#92888)

This patch reduces template instantiation depth in
`infinite-instantiations.test`, because it doesn't seem to be concerned
with the default instantiation depth in particular, but has a very
material impact on testing times of clangd. Which subsequently affects
CI run times for all Clang changes.

The following numbers are taken from
https://buildkite.com/llvm-project/github-pull-requests/builds/65299,
but they are the same for any CI run with clangd:
Linux:
```
Slowest Tests:
--------------------------------------------------------------------------
35.19s: Clangd :: infinite-instantiation.test
5.53s: Clangd :: protocol.test
1.48s: Clang Tools :: clang-tidy/checkers/modernize/use-emplace.cpp
1.40s: Clang Tools :: clang-tidy/checkers/misc/non-private-member-variables-in-classes.cpp
1.17s: Clang Tools :: clang-tidy/checkers/google/upgrade-googletest-case.cpp
1.15s: Clang Tools :: clang-tidy/checkers/bugprone/unsafe-functions.c
1.10s: Clang Tools :: clang-tidy/infrastructure/check_clang_tidy.cpp
1.07s: Clang Tools :: clang-tidy/checkers/readability/redundant-casting.cpp
1.06s: Clang Tools :: clang-tidy/checkers/misc/const-correctness-values.cpp
1.02s: Clang Tools :: clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-char.cpp
1.00s: Clang Tools :: clang-tidy/checkers/modernize/loop-convert-reverse.cpp
0.97s: Clang Tools :: clang-tidy/checkers/modernize/loop-convert-basic.cpp
0.95s: Clang Tools :: clang-tidy/checkers/modernize/use-std-print.cpp
0.93s: Clang Tools :: clang-tidy/checkers/modernize/loop-convert-extra.cpp
0.92s: Clang Tools :: clang-tidy/checkers/altera/single-work-item-barrier.cpp
0.90s: Clang Tools :: clang-tidy/checkers/readability/identifier-naming-hungarian-notation-lower-case-prefix.cpp
0.90s: Clang Tools :: clang-tidy/checkers/modernize/use-auto-min-type-name-length.cpp
0.89s: Clang Tools :: clang-tidy/checkers/readability/identifier-naming-hungarian-notation-cfgfile.cpp
0.88s: Clang Tools :: clang-tidy/checkers/readability/identifier-naming-hungarian-notation.cpp
0.85s: Clangd Unit Tests :: ./ClangdTests/Hover/All
```
Windows:
```
Slowest Tests:
--------------------------------------------------------------------------
244.74s: Clangd :: infinite-instantiation.test
11.42s: Clangd :: protocol.test
8.97s: Clang Tools :: clang-tidy/checkers/misc/non-private-member-variables-in-classes.cpp
7.44s: Clang Tools :: clang-tidy/checkers/altera/single-work-item-barrier.cpp
6.71s: Clang Tools :: clang-tidy/checkers/bugprone/unsafe-functions.c
6.61s: Clang Tools :: clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-char.cpp
6.42s: Clang Tools :: clang-tidy/infrastructure/check_clang_tidy.cpp
6.32s: Clang Tools :: clang-tidy/checkers/modernize/loop-convert-reverse.cpp
6.01s: Clang Tools :: clang-tidy/checkers/readability/redundant-casting.cpp
5.62s: Clang Tools :: clang-tidy/checkers/modernize/use-auto-min-type-name-length.cpp
5.58s: Clang Tools :: clang-tidy/checkers/modernize/replace-disallow-copy-and-assign-macro.cpp
5.46s: Clang Tools :: clang-tidy/checkers/readability/function-cognitive-complexity-flags.cpp
5.08s: Clang Tools :: clang-tidy/checkers/readability/avoid-return-with-void-value.cpp
5.07s: Clang Tools :: clang-tidy/checkers/readability/redundant-declaration.cpp
4.99s: Clang Tools :: clang-tidy/checkers/readability/identifier-naming-hungarian-notation-lower-case-prefix.cpp
4.91s: Clang Tools :: clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-pointer-offset.cpp
4.87s: Clang Tools :: clang-tidy/checkers/readability/identifier-naming-hungarian-notation-cfgfile.cpp
4.79s: Clang Tools :: clang-tidy/checkers/google/upgrade-googletest-case.cpp
4.78s: Clang Tools :: clang-tidy/infrastructure/clean-up-code.cpp
4.76s: Clang Tools :: clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-int.cpp
```


  Commit: 6ff82363dfd21be1af799f47e64115ffe8edb8d5
      https://github.com/llvm/llvm-project/commit/6ff82363dfd21be1af799f47e64115ffe8edb8d5
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M flang/include/flang/Optimizer/HLFIR/Passes.h
    M flang/include/flang/Optimizer/HLFIR/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/HLFIR/Transforms/InlineElementals.cpp
    M flang/test/Driver/mlir-debug-pass-pipeline.f90
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Fir/basic-program.fir

  Log Message:
  -----------
  [flang][HLFIR] Adapt InlineElementals to run on all top level ops (#92734)

This means that this pass will also run on hlfir elemental operations
which are not inside of functions.

See RFC:

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

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

While I was updating the tests I noticed that the optimized
bufferization pass and some cse were missing from the optimized pipeline
in flang/test/Driver/mlir-pass-pipeline.f90. I fixed this in this
commit.


  Commit: a7521fd162cac93da37df9151d233692fd61998f
      https://github.com/llvm/llvm-project/commit/a7521fd162cac93da37df9151d233692fd61998f
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    A clang/test/AST/Interp/sycl.cpp

  Log Message:
  -----------
  [clang][Interp] Implement __builtin_sycl_unique_stable_name


  Commit: 18e7bcbae12bc2e2cf9888844a0b3f12075f508c
      https://github.com/llvm/llvm-project/commit/18e7bcbae12bc2e2cf9888844a0b3f12075f508c
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/test/AST/Interp/cxx11.cpp

  Log Message:
  -----------
  [clang][Interp] Reject inc/dec ops before C++ 14


  Commit: 5693678cae86ac433aa8bd9ed3920c8c93b5817b
      https://github.com/llvm/llvm-project/commit/5693678cae86ac433aa8bd9ed3920c8c93b5817b
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M lld/COFF/DriverUtils.cpp
    A lld/test/COFF/arm64ec-exports.s

  Log Message:
  -----------
  [LLD][COFF] Demangle ARM64EC export names. (#87068)


  Commit: 46d8bb08cfd3798977b4e22881514dc9d77425c2
      https://github.com/llvm/llvm-project/commit/46d8bb08cfd3798977b4e22881514dc9d77425c2
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/Pointer.h
    M clang/test/AST/Interp/arrays.cpp
    M clang/unittests/AST/Interp/Descriptor.cpp

  Log Message:
  -----------
  [clang][Interp] Fix initializing zero-size arrays


  Commit: 1664610130b88ef168e33eddfe973a3f11bd4261
      https://github.com/llvm/llvm-project/commit/1664610130b88ef168e33eddfe973a3f11bd4261
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    A clang/include/clang/Sema/SemaPseudoObject.h
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaPseudoObject.cpp
    M clang/lib/Sema/TreeTransform.h

  Log Message:
  -----------
  [clang] Introduce `SemaPseudoObject` (#92646)

This patch moves `Sema` functions that handle pseudo-objects into the
new `SemaPseudoObject` class. This continues previous efforts to split
`Sema` up. Additional context can be found in #84184.
As usual, in order to help reviewing this, formatting changes are split
into a separate commit.


  Commit: 45293b5edb7f320bc1b14b6ce8ac90ed111baa53
      https://github.com/llvm/llvm-project/commit/45293b5edb7f320bc1b14b6ce8ac90ed111baa53
  Author: YunQiang Su <syq at debian.org>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/lib/Basic/Targets/Mips.h

  Log Message:
  -----------
  MIPS/Clang: handleTargetFeatures, add +fp64 if +msa and no other +-fp (#92728)

Commit: d59bc6b5c75384aa0b1e78cc85e17e8acaccebaf
Clang/MIPS: Add +fp64 if MSA and no explicit -mfp option (#91949)
added +fp64 for `clang`, while not for `clang -cc1`. So

   clang -cc1 -triple=mips -target-feature +msa -S

will emit an asm source file without ".module fp=64".


  Commit: f3aaaafe50697a1d9985836adb0b167aab05047c
      https://github.com/llvm/llvm-project/commit/f3aaaafe50697a1d9985836adb0b167aab05047c
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [AMDGPU] Remove #if 0 code for fences in SIInsertWaitcnts (#92902)

We insert required waits for fences in SIMemoryLegalizer.


  Commit: 4e86b0006b639f10df108a885a54ff0eddb40217
      https://github.com/llvm/llvm-project/commit/4e86b0006b639f10df108a885a54ff0eddb40217
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [AMDGPU] Remove #if 0 code for buffer stores in SIInsertWaitcnts (#92903)


  Commit: 2117136b2b78ef3b83202909ffaf351598da8bd5
      https://github.com/llvm/llvm-project/commit/2117136b2b78ef3b83202909ffaf351598da8bd5
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang-tools-extra/clangd/test/infinite-instantiation.test

  Log Message:
  -----------
  [clangd] Fix bad directory path in `infinite-instantiations.test`

Addresses buildbot failure https://lab.llvm.org/buildbot/#/builders/123/builds/26913 caused by #92888


  Commit: 558f3ea4aef718f953d3f38a45363d8a91988292
      https://github.com/llvm/llvm-project/commit/558f3ea4aef718f953d3f38a45363d8a91988292
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [AMDGPU] Remove #if 0 code for indexed resources in SIInsertWaitcnts (#92905)

I do not understand what optimization this was supposed to implement.
It has never been enabled. I suspect it no longer applies to GCN/RDNA
architectures.


  Commit: f78b1a40864470f7eb30dfda44a6ea8e845346a5
      https://github.com/llvm/llvm-project/commit/f78b1a40864470f7eb30dfda44a6ea8e845346a5
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [InstCombine] Add test for #92887 (NFC)


  Commit: 263224e4481b0850539a93a272184aac4abe86d4
      https://github.com/llvm/llvm-project/commit/263224e4481b0850539a93a272184aac4abe86d4
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [InstCombine] Require poison operand in canEvaluateShuffled transform

This transform works on single-source shuffles, which require that
the second operand is poison, not undef. Otherwise we may convert
undef to poison.

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


  Commit: c1b5b7c19b76f8d153f7ae9350d217b74888ed93
      https://github.com/llvm/llvm-project/commit/c1b5b7c19b76f8d153f7ae9350d217b74888ed93
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M flang/lib/Lower/Bridge.cpp
    M flang/test/Lower/branching-directive.f90
    A flang/test/Lower/unstructured-control-flow.f90

  Log Message:
  -----------
  [flang][Lower] Emit exiting branches from within constructs (#92455)

When lowering IfConstruct, CaseConstruct, and SelectTypeConstruct, emit
branches that exit the construct in each block that is still
unterminated after the FIR has been generated in it.

The same thing may be needed for SelectRankConstruct, once it's
supported.

This eliminates the need for inserting branches in `genFIR(Evaluation)`.

Follow-up to PR https://github.com/llvm/llvm-project/pull/91614.


  Commit: 557a0be3af798cf55b1ef54fc98a84fa5a4ade42
      https://github.com/llvm/llvm-project/commit/557a0be3af798cf55b1ef54fc98a84fa5a4ade42
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [InstCombine] Add test for splat shuffle miscompile (NFC)


  Commit: ecd269e8305330c185bbedbd5a59e887122333ba
      https://github.com/llvm/llvm-project/commit/ecd269e8305330c185bbedbd5a59e887122333ba
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [InstCombine] Check for poison instead of undef in splat shuffle fold

We can't canonicalize these to a splat shuffle, as doing so would
convert undef -> poison.


  Commit: 2f1e2325cfd804cc84eafc63dc775995fd2f3a1b
      https://github.com/llvm/llvm-project/commit/2f1e2325cfd804cc84eafc63dc775995fd2f3a1b
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [InstCombine] Use m_Poison instead of m_Undef in some places (NFCI)

I believe that in these cases other conditions already ensure that
the second operand is not used, this is mostly for clarity.


  Commit: b8e3d8021648478229697edeeb8539c99dbe5503
      https://github.com/llvm/llvm-project/commit/b8e3d8021648478229697edeeb8539c99dbe5503
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [InstCombine] Add test for incorrect shuffle of unop transform (NFC)


  Commit: 8f1c984325bd679b2634a6173db69548da87ac71
      https://github.com/llvm/llvm-project/commit/8f1c984325bd679b2634a6173db69548da87ac71
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [InstCombine] Check for poison instead of undef in shuffle of unop transform

Otherwise this may not actually be a single-source shuffle.


  Commit: a53e568b16db60eaeb4886232841c2a884f484fc
      https://github.com/llvm/llvm-project/commit/a53e568b16db60eaeb4886232841c2a884f484fc
  Author: Qiongsi Wu <274595+qiongsiwu at users.noreply.github.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Analysis/TargetLibraryInfo.cpp

  Log Message:
  -----------
  [AIX] Set memrchr to unavailable (#92588)

`memrchr` is not available on AIX. This patch turns it off so the
optimizer will not generate it to cause link errors.


  Commit: fbc798e4426b322ed0e03019c20d929f2eaade22
      https://github.com/llvm/llvm-project/commit/fbc798e4426b322ed0e03019c20d929f2eaade22
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [InstCombine] Use m_Poison instead of m_Undef (NFCI)

In this case, isIdentityWithExtract() should already ensure that
this is a single-source shuffle. This just makes things more
explicit.


  Commit: a15b685c2d868eaf408d05baa50baa3c9f5cc740
      https://github.com/llvm/llvm-project/commit/a15b685c2d868eaf408d05baa50baa3c9f5cc740
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/OpenACCClauses.def
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/test/AST/ast-print-openacc-compute-construct.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/SemaOpenACC/compute-construct-attach-clause.c
    M clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
    M clang/test/SemaOpenACC/compute-construct-copy-clause.c
    M clang/test/SemaOpenACC/compute-construct-copy-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-copyin-clause.c
    M clang/test/SemaOpenACC/compute-construct-copyin-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-copyout-clause.c
    M clang/test/SemaOpenACC/compute-construct-copyout-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-create-clause.c
    M clang/test/SemaOpenACC/compute-construct-create-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
    M clang/test/SemaOpenACC/compute-construct-deviceptr-clause.c
    M clang/test/SemaOpenACC/compute-construct-firstprivate-clause.c
    M clang/test/SemaOpenACC/compute-construct-firstprivate-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-no_create-clause.c
    M clang/test/SemaOpenACC/compute-construct-no_create-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-present-clause.c
    M clang/test/SemaOpenACC/compute-construct-present-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-private-clause.c
    M clang/test/SemaOpenACC/compute-construct-private-clause.cpp
    A clang/test/SemaOpenACC/compute-construct-reduction-clause.c
    A clang/test/SemaOpenACC/compute-construct-reduction-clause.cpp
    M clang/tools/libclang/CIndex.cpp

  Log Message:
  -----------
  [OpenACC] Implement 'reduction' sema for compute constructs (#92808)

'reduction' has a few restrictions over normal 'var-list' clauses:

1- On parallel, a num_gangs can only have 1 argument when combined with
reduction. These two aren't able to be combined on any other of the
compute constructs however.

2- The vars all must be 'numerical data types' types of some sort, or a
'composite of numerical data types'. A list of types is given in the
standard as a minimum, so we choose 'isScalar', which covers all of
these types and keeps types that are actually numeric. Other compilers
don't seem to implement the 'composite of numerical data types', though
we do.

3- Because of the above restrictions, member-of-composite is not
allowed, so any access via a memberexpr is disallowed. Array-element and
sub-arrays (aka array sections) are both permitted, so long as they meet
the requirements of #2.

This patch implements all of these for compute constructs.


  Commit: d0e0205bfc5a147f8744a176a10f185af7520c26
      https://github.com/llvm/llvm-project/commit/d0e0205bfc5a147f8744a176a10f185af7520c26
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
    M llvm/test/CodeGen/PowerPC/vec_shuffle.ll
    M llvm/test/Transforms/InstCombine/vec_shuffle-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/vec_shuffle.ll

  Log Message:
  -----------
  [InstCombine] Check for poison instead of undef in single shuffle fold

Otherwise we'll convert undef to poison. Alive2 was already flagging
the existing test8 test as a miscompile.


  Commit: 8d5b7d4d11ea47b9903b634f4159986422855383
      https://github.com/llvm/llvm-project/commit/8d5b7d4d11ea47b9903b634f4159986422855383
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [InstCombine] Use m_Poison() instead of m_Undef() (NFCI)

In this case, the isIdentityWithExtract() checks should already
guarantee that these are single-source shuffles, so this is just
for clarity.


  Commit: 7c640d1d43d7a151100e92c678757e0ce897bcc2
      https://github.com/llvm/llvm-project/commit/7c640d1d43d7a151100e92c678757e0ce897bcc2
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang-tools-extra/clangd/test/infinite-instantiation.test

  Log Message:
  -----------
  [clangd] Fix directory separators in `infinite-instatiation.test`

Another take at fixing https://lab.llvm.org/buildbot/#/builders/123/builds/26920 and https://lab.llvm.org/buildbot/#/builders/123/builds/26913 caused by #92888


  Commit: 530d4c9bf3d963f51375a1d7afb32f439d9c94a9
      https://github.com/llvm/llvm-project/commit/530d4c9bf3d963f51375a1d7afb32f439d9c94a9
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [InstCombine] Use m_Poison() instead of m_Undef() (NFCI)

In this case the shuffle mask checks should already guarantee a
single-source shuffle, so this is just for clarity.


  Commit: 4ae896fe979b7db501cabde4b6b3504478958682
      https://github.com/llvm/llvm-project/commit/4ae896fe979b7db501cabde4b6b3504478958682
  Author: jofrn <jofernau at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [AMDGPU] HasOneUse uses (#92534)

#91578 implements `HasOneUse` predicate on `PatFrag`, so this commit
uses it within AMDGPU.


  Commit: 76748119bfd52ff6647740a06e29e3584e22ee16
      https://github.com/llvm/llvm-project/commit/76748119bfd52ff6647740a06e29e3584e22ee16
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    A llvm/test/CodeGen/RISCV/GlobalISel/freeze.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-freeze-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-freeze-rv64.mir

  Log Message:
  -----------
  [GISel][RISCV] Add irtranslator/legalizer/selector support for G_FREEZE. (#92744)

This patch adds support for G_FREEZE on riscv. It will be selected into
a copy instruction.
 
The ll test is copied from the AArch64 patch:
https://github.com/llvm/llvm-project/commit/665da596854bf07ee25f368855156dde43845013.


  Commit: 7c19058d2a8e05383988b92cf4004c4cd8a54951
      https://github.com/llvm/llvm-project/commit/7c19058d2a8e05383988b92cf4004c4cd8a54951
  Author: Steven Wu <stevenwu at apple.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/test/CodeGen/darwin-target-variant.c
    M llvm/lib/IR/Module.cpp
    A llvm/test/Linker/darwin-target-variant.ll
    M llvm/test/MC/MachO/darwin-target-variant-reverse.ll
    M llvm/test/MC/MachO/darwin-target-variant.ll

  Log Message:
  -----------
  [Darwin][IR] Don't error on target_variant mismatch when linking IR (#92297)

Change the ModuleFlag type for target_variant to warning to avoid error
out when the value is different. This matches the linker behavior when
linking object files.

rdar://125874272


  Commit: f52d29c9ab7d3c712d36c28d00adc95fe7d52805
      https://github.com/llvm/llvm-project/commit/f52d29c9ab7d3c712d36c28d00adc95fe7d52805
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/include/clang/AST/Type.h
    M clang/lib/Sema/SemaExpr.cpp

  Log Message:
  -----------
  [Clang][Sema] Refactor handling of vector subscript expressions (NFC) (#92778)


  Commit: ea43a30899df5c3c36412392c8f4db79973a1c43
      https://github.com/llvm/llvm-project/commit/ea43a30899df5c3c36412392c8f4db79973a1c43
  Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/AMDGPU/shufflevector.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/crash_extract_subvector_cost.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/phi-result-use-order.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/reduction.ll

  Log Message:
  -----------
  [AMDGPU] Vectorize more 16 bit shuffles (#90648)

In the case of larger vectors, we should still prefer the vectorized
version (i.e. shufflevector vs extract/insert chains).

In arithmetic chains, vectorization results in chains of packed math
instructions (as opposed to unpack/repack & scalarized arithmetic):
https://godbolt.org/z/c5onaf6G5

In chains with PHIs, vectorization again removes the unnecessary pack /
repack code around BBs: https://godbolt.org/z/vz7zYzvhs


  Commit: 446f66d685c2470bc7744b1d1538c4728e838e43
      https://github.com/llvm/llvm-project/commit/446f66d685c2470bc7744b1d1538c4728e838e43
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/test/CodeGen/fat-lto-objects.c
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/test/CodeGen/X86/fat-lto-section.ll

  Log Message:
  -----------
  [CodeGen] Assign SHT_LLVM_LTO to .llvm.lto section (#92856)

This follows up to SHT_LLVM_LTO (https://reviews.llvm.org/D153215) and
resolves the comment of the FatLTO patch
https://reviews.llvm.org/D146776#4430626


  Commit: cfeb25cd7e92d5e854aa92034f18da2e5fa3e27a
      https://github.com/llvm/llvm-project/commit/cfeb25cd7e92d5e854aa92034f18da2e5fa3e27a
  Author: John Brawn <john.brawn at arm.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    A lld/test/ELF/aarch64-feature-gcs.s

  Log Message:
  -----------
  [lld][AArch64] Add support for GCS (#90732)

This adds the -z gcs and -z gcs-report options, which behave similarly
to -z shtk and -z cet-report, except that -z gcs accepts a parameter:
* -z gcs=implicit is the default behaviour, where the GCS bit is
inferred from the input objects.
 * -z gcs=never clears the GCS bit, ignoring the input objects.
 * -z gcs=always sets the GCS bit, ignoring the input objects.

This is so that there's a means of explicitly disabling GCS even when
all input objects have the GCS bit set.


  Commit: 67e3514692f60f85c69aef9a793d3e43b68fb038
      https://github.com/llvm/llvm-project/commit/67e3514692f60f85c69aef9a793d3e43b68fb038
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    A llvm/test/CodeGen/AMDGPU/call-defs-mode-register.ll

  Log Message:
  -----------
  AMDGPU: Implement getRoundingControlRegisters (#92884)


  Commit: dab1f7c8d3d7bf5021cdb96af74d533753ad2e23
      https://github.com/llvm/llvm-project/commit/dab1f7c8d3d7bf5021cdb96af74d533753ad2e23
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll
    M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll

  Log Message:
  -----------
  AMDGPU: Emit 1/llvm.sqrt(x) instead of rsqrt calls in libcall handling (#92863)

With the contract flag we should end up codegening to the rsqrt
instruction, or denormal corrected rsqrt sequence present in the
library.


  Commit: 0c8bc08868e7bf051e9683851726747def85765a
      https://github.com/llvm/llvm-project/commit/0c8bc08868e7bf051e9683851726747def85765a
  Author: Alan Zhao <ayzhao at google.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/CFG.h
    M llvm/lib/Analysis/CFG.cpp
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    A llvm/test/Transforms/Coroutines/coro-lifetime-end.ll

  Log Message:
  -----------
  Reapply "[coro][CoroSplit] Use `llvm.lifetime.end` to compute putting objects on the frame vs the stack (#90265) (#91372)

This reverts commit 924384161ffceda08099536dd07a953299a69b53.

This reland addresses the performance regressions seen in #90265 by
retaining the original definition of
`isPotentiallyReachableFromMany(...)` instead of reimplementing it with
`isManyPotentiallyReachableFromMany(...)`.

Fixes #86580


  Commit: 557bf3835b96ef5839013b1e821a1cb869660aa3
      https://github.com/llvm/llvm-project/commit/557bf3835b96ef5839013b1e821a1cb869660aa3
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  [RISCV][ISel] Allow opaque constants in `hasAndNotCompare` (#92926)

See the following code:

https://github.com/llvm/llvm-project/blob/4ae896fe979b7db501cabde4b6b3504478958682/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp#L9334-L9357

> Combining: t47: i64 = xor t43, OpaqueConstant:i64<31808>
X: i64 = Constant<0>
Y: i64 = OpaqueConstant<31808>

The assertion failed because both `X` and `Y` are constants.
This patch allows opaque constants in `hasAndNotCompare` to fix the
issue.

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


  Commit: 4636b66de513dfa15da1ba071f279b64ad68903f
      https://github.com/llvm/llvm-project/commit/4636b66de513dfa15da1ba071f279b64ad68903f
  Author: Felix Schneider <fx.schn at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M mlir/test/Dialect/Arith/int-range-interface.mlir
    M mlir/test/Dialect/Arith/int-range-opts.mlir
    M mlir/test/lib/Dialect/Test/TestOpDefs.cpp

  Log Message:
  -----------
  [mlir][intrange] Represent bounds of `ReflectBoundsOp` as `si`/`ui` (#92641)

This patch adapts the `test.reflect_bounds` test Op to use explicitly
signed and unsigned representation for signed and unsigned bounds of
`IntegerType`s.

This is mostly a cosmetic change as the internal representation of the
ranges is unchanged. However, it improves readability of tests.


  Commit: 0eca2655843e1b79e6c65c7239bce8c9a1509568
      https://github.com/llvm/llvm-project/commit/0eca2655843e1b79e6c65c7239bce8c9a1509568
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td

  Log Message:
  -----------
  [flang][cuda] Fix memory side effects on cuf.data_transfer op (#92928)

The memory side effects on the `cuf.data_transfer` operation were
swapped between the src and dst operands. We read from source and write
to destination not the opposite.


  Commit: 3e15c97fa3812993bdc319827a5c6d867b765ae8
      https://github.com/llvm/llvm-project/commit/3e15c97fa3812993bdc319827a5c6d867b765ae8
  Author: A. Jiang <de34 at live.cn>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/include/locale
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_double.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_float.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long_double.pass.cpp

  Log Message:
  -----------
  [libc++] LWG2381: Inconsistency in parsing floating point numbers (#77948)

This PR implements [LWG2381](https://cplusplus.github.io/LWG/issue2381)
by rejecting `'i'`, `'I'`, `'n'`, `'N'` in FP parsing, as inf and NaN
are intendedly rejected by that LWG issue.

The source character array used for parsing is
`"0123456789abcdefABCDEFxX+-pPiInN"`, whose first 26 or 28 characters
are used for parsing integers or floating-point values respectively.
Previously, libc++ used 32 characters, including `'i'`, `'I'`, `'n'`,
`'N'`, for FP parsing, which was inconsistent with LWG2381. This PR also
replaces magic numbers 26 and 28 (formerly 32) with named constants.

Drive-by change: when the first character (possibly after the leading
`'+'` or `'-'`) is not a decimal digit but an acceptable character
(e.g., `'p'` or `'e'`), the character is not accumulated now (per Stage
2 in [facet.num.get.virtuals]/3).

#65168 may be rendered invalid, see
https://github.com/llvm/llvm-project/pull/65168#issuecomment-1868533342.

Apple back-deployment targets remain broken, likely due to dylib. XFAIL
is marked in related tests.

---------

Co-authored-by: Mark de Wever <koraq at xs4all.nl>


  Commit: 98f105a1304e8d3fd0a0234d1d488ed513833df8
      https://github.com/llvm/llvm-project/commit/98f105a1304e8d3fd0a0234d1d488ed513833df8
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M lldb/source/Commands/CommandObjectThread.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp

  Log Message:
  -----------
  [lldb] Add the word "backtrace" to bt help string (#92618)

We noticed that `apropos backtrace` did not return the `bt` alias. This change adds the 
word "backtrace" to the help for `bt`. It also updates `thread backtrace` to keep the 
language used roughly in sync.


  Commit: 253c28fa829cee0104c2fc59ed1a958980b5138c
      https://github.com/llvm/llvm-project/commit/253c28fa829cee0104c2fc59ed1a958980b5138c
  Author: Vassil Vassilev <v.g.vassilev at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/lib/Interpreter/IncrementalParser.cpp
    M clang/lib/Sema/SemaDecl.cpp
    A clang/test/Interpreter/execute.c

  Log Message:
  -----------
  [clang-repl] Extend the C support. (#89804)

The IdResolver chain is the main way for C to implement lookup rules.
Every new partial translation unit caused clang to exit the top-most
scope which in turn cleaned up the IdResolver chain. That was not an
issue for C++ because its lookup is implemented on the level of
declaration contexts.

This patch keeps the IdResolver chain across partial translation units
maintaining proper C-style lookup infrastructure.


  Commit: 315a83145b6d83134eee49570632f3ee2a5a38a9
      https://github.com/llvm/llvm-project/commit/315a83145b6d83134eee49570632f3ee2a5a38a9
  Author: Konstantin Zhuravlyov <kzhuravl_dev at outlook.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst
    M llvm/include/llvm/BinaryFormat/ELF.h

  Log Message:
  -----------
  AMDGPU/NFC: Reserve 0x056 and 0x057 EF_AMDGPU_MACHs (#92917)


  Commit: 70fc23946bc241a154c13140af9a597049715723
      https://github.com/llvm/llvm-project/commit/70fc23946bc241a154c13140af9a597049715723
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  RegisterPressure: Check empty instead of size == 0


  Commit: 2805e6faad7795ed0846010e3e7ad41460030758
      https://github.com/llvm/llvm-project/commit/2805e6faad7795ed0846010e3e7ad41460030758
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/test/tools/llvm-driver/symlink-call.test
    M llvm/tools/llvm-cxxfilt/CMakeLists.txt
    M utils/bazel/llvm-project-overlay/llvm/driver.bzl

  Log Message:
  -----------
  [llvm-driver] Add driver alias for c++filt (#92803)

Similar to 9d955a63c7b0d2d547a63d4074e03cd5ebd1f162, this allows the
driver to respond to `c++filt`.


  Commit: 194e7cc7aabe2ffb153ca66527ffb6b500fa4c50
      https://github.com/llvm/llvm-project/commit/194e7cc7aabe2ffb153ca66527ffb6b500fa4c50
  Author: Zaara Syeda <syzaara at ca.ibm.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/test/Driver/tocdata-cc1.c
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.td
    M llvm/test/CodeGen/PowerPC/toc-data.ll

  Log Message:
  -----------
  [PowerPC][AIX] 64-bit large code-model support for toc-data (#90619)

This patch adds support for toc-data for 64-bit large code-model on AIX.
The sequence ADDIStocHA8/ADDItocL8 is used to access the data directly
from the TOC.
When emitting the instruction ADDIStocHA8, we check if the symbol has
toc-data attribute before creating a toc entry for it. When emitting the
instruction ADDItocL8, we use the LA8 instruction to load the address.


  Commit: e6b14b6f8bfeeea8d24c8dccb17053ba491d5879
      https://github.com/llvm/llvm-project/commit/e6b14b6f8bfeeea8d24c8dccb17053ba491d5879
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang-tools-extra/clangd/test/infinite-instantiation.test

  Log Message:
  -----------
  [clangd] Fix directory separators in `infinite-instantiation.test`

Fixing https://lab.llvm.org/buildbot/#/builders/123/builds/26934 caused by #92888. Third time the charm!


  Commit: 3c3e71d929457daf4be425a35920cc53ed875fab
      https://github.com/llvm/llvm-project/commit/3c3e71d929457daf4be425a35920cc53ed875fab
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    A llvm/test/CodeGen/X86/coalescer-add-implicit-def-subreg-to-reg-regression.ll
    A llvm/test/CodeGen/X86/issue76416.ll

  Log Message:
  -----------
  X86: Add regression test from issue #76416

Also add another testcase reported at the same regression commit. Make
sure this assert is fixed when the patch is eventually reapplied.


  Commit: 1fc3ce1cdb8390ed64feea939a9555d3642439ea
      https://github.com/llvm/llvm-project/commit/1fc3ce1cdb8390ed64feea939a9555d3642439ea
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf

  Log Message:
  -----------
  [flang][cuda] Enable data transfer for descriptors (#92804)

Remove the TODO when data transfer is done with descriptor variables.


  Commit: 172759492a162592da7ae9e03888661c108b1be4
      https://github.com/llvm/llvm-project/commit/172759492a162592da7ae9e03888661c108b1be4
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  RegisterPressure: Add parameter name comment


  Commit: 7847b1ca00fb4649799125592f01cd38c5509b45
      https://github.com/llvm/llvm-project/commit/7847b1ca00fb4649799125592f01cd38c5509b45
  Author: Valentin Clement <clementval at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp

  Log Message:
  -----------
  [flang][cuda][NFC] Silence warning triggered in buildbot


  Commit: ce1d28e645b53ba9518d295dad35a4578dd8e8dc
      https://github.com/llvm/llvm-project/commit/ce1d28e645b53ba9518d295dad35a4578dd8e8dc
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/test/Sema/builtins.c

  Log Message:
  -----------
  Fix diagnostic wording style; NFC


  Commit: 8cb19ebd219668ef8efa9ffb4a72e39b18dd91d4
      https://github.com/llvm/llvm-project/commit/8cb19ebd219668ef8efa9ffb4a72e39b18dd91d4
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  InstCombine: Stop handling bitcast in PointerReplacer (#92937)

These should be irrelevant since opaque pointers.


  Commit: 67ae86d700b899979db39883f4063257513498d5
      https://github.com/llvm/llvm-project/commit/67ae86d700b899979db39883f4063257513498d5
  Author: lolloz98 <lorenzocarpaneto at yahoo.it>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/test/CodeGen/functions.c

  Log Message:
  -----------
  [clang] Fix crash passing function pointer without prototype. (#90255)

Fixes use-after-free iterating over the uses of the function.

Closes #88917


  Commit: e67f2cc3fc38cec2041cfb197ac4688ed3d16e7e
      https://github.com/llvm/llvm-project/commit/e67f2cc3fc38cec2041cfb197ac4688ed3d16e7e
  Author: Edwin Vane <revane at google.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-outofline.cpp

  Log Message:
  -----------
  [clang-tidy] Rename out-of-line function definitions (#91954)

Member function templates defined out-of-line were resulting in
conflicting naming failures with overlapping usage sets. With this
change, out-of-line definitions are treated as a usage of the failure
which is the inline declaration.


  Commit: cec1eab9bd6bfffcf39d0962c7ce220284fc7c1a
      https://github.com/llvm/llvm-project/commit/cec1eab9bd6bfffcf39d0962c7ce220284fc7c1a
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  MachineScheduler: Add parameter name comments


  Commit: 01c600dec6f506ae305abf04cf955e08aa59b234
      https://github.com/llvm/llvm-project/commit/01c600dec6f506ae305abf04cf955e08aa59b234
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/test/Parser/altivec.c
    M clang/test/Parser/cxx-altivec.cpp

  Log Message:
  -----------
  Reword a diagnostic for style; NFC


  Commit: 32cf7a25f2f8174bc448ae7032e419dc0375fd6a
      https://github.com/llvm/llvm-project/commit/32cf7a25f2f8174bc448ae7032e419dc0375fd6a
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/test/SemaCXX/warn-thread-safety-analysis.cpp

  Log Message:
  -----------
  Fix another diagnostic for style; NFC


  Commit: 87a6865d2c8eba802a7e9f42fa8b6ac1edd0664e
      https://github.com/llvm/llvm-project/commit/87a6865d2c8eba802a7e9f42fa8b6ac1edd0664e
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/test/Parser/lax-conv.cpp

  Log Message:
  -----------
  Fix another diagnostic wording for style; NFC


  Commit: 337e633bb75640bb6e04eb874c7114dfac6fa754
      https://github.com/llvm/llvm-project/commit/337e633bb75640bb6e04eb874c7114dfac6fa754
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M libcxx/utils/libcxx/test/features.py

  Log Message:
  -----------
  [libcxx] [test] Detect mingw-w64 headers compatible with C++ module builds (#92893)

This fixes running the tests/CI with a newer mingw toolchain that has
been fixed to work with building libc++ as a module.


  Commit: 57a507930b50c445140feb68bffe1c21af53319e
      https://github.com/llvm/llvm-project/commit/57a507930b50c445140feb68bffe1c21af53319e
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M compiler-rt/lib/msan/msan.cpp

  Log Message:
  -----------
  [msan] Increase kNumStackOriginDescrs constant (#92838)

This increases the constant size of kNumStackOriginDescrs to 4M (64GB of
BSS across two arrays), which ought to be enough for anybody.

This is the easier alternative suggested by eugenis@ in
https://github.com/llvm/llvm-project/pull/92826.


  Commit: 0bc710f7c19910817ccff254c43496602635bbc9
      https://github.com/llvm/llvm-project/commit/0bc710f7c19910817ccff254c43496602635bbc9
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf

  Log Message:
  -----------
  [flang][cuda] Accept constant as src for cuf.data_tranfer (#92951)

Assignment of a constant (host) to a device variable is a special case
that can be further lowered to `cudaMemset` or similar functions. This
patch update the lowering to avoid the creation of a temporary when we
assign a constant to a device variable.


  Commit: 687039bce91e90f87d68fb0c409baffaae16649e
      https://github.com/llvm/llvm-project/commit/687039bce91e90f87d68fb0c409baffaae16649e
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    A llvm/test/CodeGen/X86/pr90703.ll

  Log Message:
  -----------
  [X86] Return true for opaque constants in hasAndNotCompare. (#92944)

This is the X86 equivalent of #92926


  Commit: 243611ed4ce69c3c6f94092f12fa5703dfcb2c9f
      https://github.com/llvm/llvm-project/commit/243611ed4ce69c3c6f94092f12fa5703dfcb2c9f
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M .ci/generate-buildkite-pipeline-premerge

  Log Message:
  -----------
  Disable compiling and testing Flang on Clang changes (#92740)

This patch aims to rectify the Windows CI situation by decoupling Clang
changes from Flang test suite, which is causing Windows CI to "pause"
for 20 minutes (details can be found
[here](https://discourse.llvm.org/t/flang-tests-are-extremely-slow-on-windows/78591/11)).
This even seems desirable in the long run, because it was highlighted
that the only part of Clang that Flang depends on is Driver ([Discourse
post](https://discourse.llvm.org/t/flang-tests-are-extremely-slow-on-windows/78591/14)).

Importantly, this patch leaves the question of _entirely_ disabling
Flang tests on Windows CI out of scope.


  Commit: 3eb7711e929f9b7ffaa0049a56ad70c4d99e4917
      https://github.com/llvm/llvm-project/commit/3eb7711e929f9b7ffaa0049a56ad70c4d99e4917
  Author: Igor Kudrin <ikudrin at accesssoftek.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
    M llvm/lib/Target/AArch64/AArch64PointerAuth.h

  Log Message:
  -----------
  [AArch64][PAC][NFC] Make checkAuthenticatedRegister() return void (#92507)

The return value is not used. This change simplifies the upcoming fix


  Commit: 9f2313829fd210f9923375e93bc11fe9685c26d5
      https://github.com/llvm/llvm-project/commit/9f2313829fd210f9923375e93bc11fe9685c26d5
  Author: shaw young <58664393+shawbyoung at users.noreply.github.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M bolt/lib/Profile/StaleProfileMatching.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp

  Log Message:
  -----------
  [BOLT] Add NamedRegionTimer to inferStaleProfile (#92621)


  Commit: 32c9d5ef4fb171ad24dce91cdaa67683ccca2d78
      https://github.com/llvm/llvm-project/commit/32c9d5ef4fb171ad24dce91cdaa67683ccca2d78
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M bolt/lib/Profile/StaleProfileMatching.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp

  Log Message:
  -----------
  Revert "[BOLT] Add NamedRegionTimer to inferStaleProfile (#92621)"

This reverts commit 9f2313829fd210f9923375e93bc11fe9685c26d5.

Creates a dependency cycle: lib/Rewrite depends on lib/Profile.


  Commit: df626dd11c360c58eddae813ce6a0524d0a53696
      https://github.com/llvm/llvm-project/commit/df626dd11c360c58eddae813ce6a0524d0a53696
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M compiler-rt/lib/msan/msan.cpp

  Log Message:
  -----------
  Revert "[msan] Increase kNumStackOriginDescrs constant (#92838)"

This reverts commit 57a507930b50c445140feb68bffe1c21af53319e.

Reason: buildbot breakage
(https://lab.llvm.org/buildbot/#/builders/57/builds/35160)


  Commit: 3b3d622be993faa985ed9cbb9ab098c8d6b8f681
      https://github.com/llvm/llvm-project/commit/3b3d622be993faa985ed9cbb9ab098c8d6b8f681
  Author: Andrew Browne <browneee at google.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M compiler-rt/lib/dfsan/dfsan_custom.cpp
    M compiler-rt/test/dfsan/custom.cpp

  Log Message:
  -----------
  [DFSan] Fix recvmsg wrapper to support MSG_TRUNC flag. (#92599)

The MSG_TRUNC flag makes recvmsg return the real length of the packet,
even if it was too big to fit in the provided buffer. This is commonly
used together with MSG_PEEK.

Without this patch, dfsan's clear_msghdr_labels expects the return value
of recvmsg (size recieved) to be less than or equal to the iov buffer
length where recvmsg writes data, resulting in a crash.


  Commit: 3a913d30bef061be9786740e14bacd3fa6d76adc
      https://github.com/llvm/llvm-project/commit/3a913d30bef061be9786740e14bacd3fa6d76adc
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaTemplate.cpp

  Log Message:
  -----------
  [clang][NFC] Refactor `Sema::TagUseKind` (#92689)

This patch makes `TagUseKind` a scoped enumeration, and moves it outside
of `Sema` class, making it eligible for forward declaring.


  Commit: 0012b1ea84e671a9e0c9f7f2d1564315ed9cbcca
      https://github.com/llvm/llvm-project/commit/0012b1ea84e671a9e0c9f7f2d1564315ed9cbcca
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/try_lock.pass.cpp

  Log Message:
  -----------
  [libc++] Refactor flaky tests for std::shared_lock (#91779)

This makes the tests non-flaky.


  Commit: f6ff87dd90074b694e420d93389c749189bca0ec
      https://github.com/llvm/llvm-project/commit/f6ff87dd90074b694e420d93389c749189bca0ec
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M libunwind/include/__libunwind_config.h
    M libunwind/src/UnwindLevel1.c
    M libunwind/src/UnwindRegistersRestore.S
    M libunwind/src/UnwindRegistersSave.S
    M libunwind/src/libunwind.cpp

  Log Message:
  -----------
  [libunwind][WebAssembly] Make libunwind compilable (#92192)

This tries to make Wasm compilable in LLVM tree with CMake for
non-Emscripten platform.

This
- Adds `-D__USING_WASM_EXCEPTIONS__` when you compile with
`-fwasm-exceptions` (like other EH options) in Clang
- Exclude `UnwindLevel1.c`, `UnwindRegistersSave.S`, and
`UnwindRegistersRestore.S` when compiling with Wasm
- Changed some `__USING_WASM_EXCEPTIONS__` to `__wasm__`; they should be
applied when compiling with Wasm w/o exceptions.
- Define some unused macros to make it compile

Fixes #72771.


  Commit: b3e71ec9f7efe15f7fd3dd4fc398860e1e857c11
      https://github.com/llvm/llvm-project/commit/b3e71ec9f7efe15f7fd3dd4fc398860e1e857c11
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M libc/cmake/modules/LLVMLibCObjectRules.cmake
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    A libc/startup/baremetal/CMakeLists.txt
    A libc/startup/baremetal/fini.cpp
    A libc/startup/baremetal/init.cpp

  Log Message:
  -----------
  [libc] Provide __libc_{init,fini}_array for baremetal (#90828)

These are provided by newlib and many baremetal projects assume they're
available rather than providing their own implementation.


  Commit: 5442e15a152614628e2e2bef250c91eacf75fc9c
      https://github.com/llvm/llvm-project/commit/5442e15a152614628e2e2bef250c91eacf75fc9c
  Author: Nick Desaulniers (paternity leave) <nickdesaulniers at users.noreply.github.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M libc/src/__support/threads/CMakeLists.txt
    A libc/src/__support/threads/CndVar.h
    M libc/src/__support/threads/linux/CMakeLists.txt
    A libc/src/__support/threads/linux/CndVar.cpp
    M libc/src/threads/linux/CMakeLists.txt
    R libc/src/threads/linux/CndVar.h
    M libc/src/threads/linux/cnd_broadcast.cpp
    M libc/src/threads/linux/cnd_destroy.cpp
    M libc/src/threads/linux/cnd_init.cpp
    M libc/src/threads/linux/cnd_signal.cpp
    M libc/src/threads/linux/cnd_wait.cpp

  Log Message:
  -----------
  [libc][__support] move CndVar to __support (#89329)

We should be able to reuse this between the implementation of C11 cnd_t
condition variables and POSIX pthread_cond_t condition variables.

The current implementation is hyper linux specific, making use of Futex. That
obviously wont work outside of linux, so split the OS specific functions off
into their own source outside of the header.

Modifies the return values of the to-be-shared impl to return 0 on success and
-1 on error.  This pattern was shamelessly stolen from Bionic's
[__bionic_thrd_error](https://android.googlesource.com/platform/bionic/+/refs/heads/main/libc/include/bits/threads_inlines.h#41).

Fixes: #88580
Link: #88583


  Commit: 2e7365eabe4dd2a56b0b1b4053a95558c4f4bb97
      https://github.com/llvm/llvm-project/commit/2e7365eabe4dd2a56b0b1b4053a95558c4f4bb97
  Author: Thomas Fransham <fsfod11 at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/include/llvm/Object/ObjectFile.h

  Log Message:
  -----------
  [lldb] Set ObjectFile's assignment operator to also be deleted like its copy constructor (#92942)

This will also fix a warning when ObjectFile is dllexport'ed on Windows
for my GSOC project for adding support Clang plugins on windows with
@vgvassilev and @compnerd.


  Commit: 42ba740afffa16f991be6aa36626bd872d41ebc0
      https://github.com/llvm/llvm-project/commit/42ba740afffa16f991be6aa36626bd872d41ebc0
  Author: Damien L-G <dalg24 at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/Status/Cxx20Papers.csv
    M libcxx/include/CMakeLists.txt
    A libcxx/include/__atomic/atomic_ref.h
    M libcxx/include/__atomic/atomic_sync.h
    M libcxx/include/__atomic/check_memory_order.h
    M libcxx/include/__atomic/cxx_atomic_impl.h
    A libcxx/include/__atomic/to_gcc_order.h
    M libcxx/include/atomic
    A libcxx/include/libcxx.imp
    M libcxx/include/module.modulemap
    M libcxx/modules/std/atomic.inc
    A libcxx/test/libcxx/atomics/atomics.ref/assert.compare_exchange_strong.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/assert.compare_exchange_weak.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/assert.ctor.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/assert.load.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/assert.store.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/assert.wait.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/assign.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/bitwise_and_assign.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/bitwise_or_assign.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/bitwise_xor_assign.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/compare_exchange_strong.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/compare_exchange_weak.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/convert.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/ctor.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/deduction.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/exchange.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/fetch_add.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/fetch_and.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/fetch_or.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/fetch_sub.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/fetch_xor.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/increment_decrement.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/is_always_lock_free.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/load.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/member_types.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/notify_all.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/notify_one.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/operator_minus_equals.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/operator_plus_equals.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/required_alignment.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/requires-trivially-copyable.verify.cpp
    A libcxx/test/std/atomics/atomics.ref/store.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/test_helper.h
    A libcxx/test/std/atomics/atomics.ref/wait.pass.cpp

  Log Message:
  -----------
  [libc++] Implement C++20 atomic_ref (#76647)

Implement the std::atomic_ref class template by reusing atomic_base_impl.
Based on the work from https://reviews.llvm.org/D72240


  Commit: a5bab70d0667d3bd709720c5c78870b8ad280545
      https://github.com/llvm/llvm-project/commit/a5bab70d0667d3bd709720c5c78870b8ad280545
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [libc] Fix scudo integration test (#92967)

When scudo is built with LLVM-libc's headers, certain functions also
need to be linked from LLVM-libc. This patch adds those functions to the
list to be linked into the specific scudo test, which uses a minimal
subset of libc.

Fixes #92861 and #59453


  Commit: b90861498b5b5c06ba24a122b6987738560acf99
      https://github.com/llvm/llvm-project/commit/b90861498b5b5c06ba24a122b6987738560acf99
  Author: Heewon Cho <heewon6752 at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M bolt/include/bolt/Passes/StokeInfo.h

  Log Message:
  -----------
  [BOLT][NFC] Use const reference in range-based for loop (#92932)

Addressing #91195


  Commit: e42b799bb28815431f2c5a95f7e13fde3f1b36a1
      https://github.com/llvm/llvm-project/commit/e42b799bb28815431f2c5a95f7e13fde3f1b36a1
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/IncorrectEnableIfCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
    M clang-tools-extra/clangd/Hover.cpp
    M clang/include/clang/AST/ASTNodeTraverser.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/DeclPrinter.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/ODRDiagsEmitter.cpp
    M clang/lib/AST/ODRHash.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    M clang/lib/Index/IndexDecl.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/unittests/AST/ASTImporterTest.cpp

  Log Message:
  -----------
  [clang] NFCI: use TemplateArgumentLoc for type-param DefaultArgument (#92854)

This is an enabler for a future patch.

This allows an type-parameter default argument to be set as an arbitrary
TemplateArgument, not just a type.
This allows template parameter packs to have default arguments in the
AST, even though the language proper doesn't support the syntax for it.

This will be used in a later patch which synthesizes template parameter
lists with arbitrary default arguments taken from template
specializations.

There are a few places we used SubsType, because we only had a type, now
we use SubstTemplateArgument.
SubstTemplateArgument was missing arguments for setting Instantiation
location and entity names.
Adding those is needed so we don't regress in diagnostics.


  Commit: 219ea26733f96e0c63796bed8e507f7bb1a02140
      https://github.com/llvm/llvm-project/commit/219ea26733f96e0c63796bed8e507f7bb1a02140
  Author: Heewon Cho <heewon6752 at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M bolt/runtime/instr.cpp

  Log Message:
  -----------
  [BOLT][NFC] Remove dead initialization code (#92952)

Addressing #81441


  Commit: 7630775e3ad34c426cde91732e8e7816c2a1ef5a
      https://github.com/llvm/llvm-project/commit/7630775e3ad34c426cde91732e8e7816c2a1ef5a
  Author: Thomas Fransham <fsfod11 at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/include/llvm/Object/ObjectFile.h

  Log Message:
  -----------
  Revert "Set ObjectFile's assignment operator to also be deleted like its copy constructor" (#92973)

Reverts llvm/llvm-project#92942


  Commit: fd1e511440702aa098f8da97ea35f3f6d9d19cae
      https://github.com/llvm/llvm-project/commit/fd1e511440702aa098f8da97ea35f3f6d9d19cae
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [gn build] Port 42ba740afffa


  Commit: 79a32609759af317a62184c2c7b1300263a336c8
      https://github.com/llvm/llvm-project/commit/79a32609759af317a62184c2c7b1300263a336c8
  Author: Evgenii Stepanov <eugeni.stepanov at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    A llvm/test/Instrumentation/HWAddressSanitizer/mem-attr.ll

  Log Message:
  -----------
  [hwasan] Remove memory attrs from instrumented functions. (#92974)

HWASan instrumentation makes writeonly attribute on function parameters,
as well as most memory(*) attributes invalid. This causes
miscompilations with LTO, when more optimizations are run after the
HWASan pass.


  Commit: 0170bd5d111f55f45f993a749727ce2815cc0b16
      https://github.com/llvm/llvm-project/commit/0170bd5d111f55f45f993a749727ce2815cc0b16
  Author: Joachim Meyer <5982050+fodinabor at users.noreply.github.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/IR/MDBuilder.cpp
    M llvm/unittests/IR/MDBuilderTest.cpp

  Log Message:
  -----------
  [MDBuilder] `mergeCallbackEncodings` fails due to inspecting the wrong node (#92466)

Given the following metadata as, with `!6` as `ExistingCallbacks` and
`!8` as `NewCB`:
```
!6 = !{!7}
!7 = !{i64 0, i1 false}
!8 = !{i64 2, i64 3, i1 false}
```
The merge function should add `!8` to the list of `!6`, i.e. `!6 =
!{!7,!8}`. However, at the moment the check if this is legal, tries to
interpret `!7` as integer instead of it's operand.


  Commit: 203232ffbd80e9f4631213a3876f14dde155a92d
      https://github.com/llvm/llvm-project/commit/203232ffbd80e9f4631213a3876f14dde155a92d
  Author: Connor Sughrue <55301806+cpsughrue at users.noreply.github.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Support/raw_socket_stream.cpp
    M llvm/unittests/Support/raw_socket_stream_test.cpp

  Log Message:
  -----------
  [llvm][Support] ListeningSocket::accept returns operation_canceled if FD is set to -1 (#89479)

If `::poll` returns and `FD` equals -1, then `ListeningSocket::shutdown`
has been called. So, regardless of any other information that could be
gleaned from `FDs.revents` or `PollStatus`, it is appropriate to return
`std::errc::operation_canceled`. `ListeningSocket::shutdown` copies
`FD`'s value to `ObservedFD` then sets `FD` to -1 before canceling
`::poll` by calling `::close(ObservedFD)` and writing to the pipe.


  Commit: dfdf1c5fe45a82b9c578306f3d7627fd251d63f8
      https://github.com/llvm/llvm-project/commit/dfdf1c5fe45a82b9c578306f3d7627fd251d63f8
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/lib/Interpreter/IncrementalParser.cpp
    M clang/lib/Sema/SemaDecl.cpp
    R clang/test/Interpreter/execute.c

  Log Message:
  -----------
  Revert "[clang-repl] Extend the C support. (#89804)"

This reverts commit 253c28fa829cee0104c2fc59ed1a958980b5138c.

This commit is causing failures on the lldb CI bots, e.g.
https://ci.swift.org/view/all/job/llvm.org/view/LLDB/job/as-lldb-cmake/4307/

On my local macOS desktop build,
```
bin/lldb-dotest -p TestImportBuiltinFileID.py
Assertion failed: (D->getLexicalDeclContext() == this && "Decl inserted into wrong lexical context"), function addHiddenDecl, file DeclBase.cpp, line 1692.

6  libsystem_c.dylib        0x0000000185f0b8d0 abort + 128
7  libsystem_c.dylib        0x0000000185f0abc8 err + 0
8  liblldb.19.0.0git.dylib  0x00000001311e5800 clang::DeclContext::addHiddenDecl(clang::Decl*) + 120
9  liblldb.19.0.0git.dylib  0x00000001311e5978 clang::DeclContext::addDecl(clang::Decl*) + 32
10 liblldb.19.0.0git.dylib  0x000000012f617b48 clang::Sema::ActOnStartTopLevelStmtDecl(clang::Scope*) + 64
11 liblldb.19.0.0git.dylib  0x000000012eaf76c8 clang::Parser::ParseTopLevelStmtDecl() + 208
12 liblldb.19.0.0git.dylib  0x000000012ec051fc clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) + 3412
13 liblldb.19.0.0git.dylib  0x000000012ec03274 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) + 2020
14 liblldb.19.0.0git.dylib  0x000000012eaca860 clang::ParseAST(clang::Sema&, bool, bool) + 604
15 liblldb.19.0.0git.dylib  0x000000012e8554c0 clang::ASTFrontendAction::ExecuteAction() + 308
16 liblldb.19.0.0git.dylib  0x000000012e854c78 clang::FrontendAction::Execute() + 124
17 liblldb.19.0.0git.dylib  0x000000012e76dcfc clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 984
18 liblldb.19.0.0git.dylib  0x000000012e784500 compileModuleImpl(clang::CompilerInstance&, clang::SourceLocation, llvm::StringRef, clang::FrontendInputFile, llvm::StringRef, llvm::StringRef, llvm::function_ref<void (clang::CompilerInstance&)>, llvm::function_ref<void (clang::CompilerInstance&)>)::$_1::operator()() const + 52
```
Reverting until Vassil has a chance to look int oit.


  Commit: f0d1ae83b046ff0eeffc72a103f7c8b01ad33787
      https://github.com/llvm/llvm-project/commit/f0d1ae83b046ff0eeffc72a103f7c8b01ad33787
  Author: csstormq <swust_xiaoqiangxu at 163.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/ScheduleDAG.cpp
    A llvm/test/CodeGen/X86/misched-critical-path.ll

  Log Message:
  -----------
  [llvm][ScheduleDAG] SUnit::biasCriticalPath() does not find the critical path consistently (#92368)


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


  Commit: a9b67490b2baaa311100a64191792186ea5f2c1e
      https://github.com/llvm/llvm-project/commit/a9b67490b2baaa311100a64191792186ea5f2c1e
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M bolt/include/bolt/Passes/BinaryPasses.h
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/test/X86/bolt-address-translation-yaml.test

  Log Message:
  -----------
  [BOLT] Report adjusted program stats from perf2bolt in BAT mode (#91683)


  Commit: c2e0afe95efd495f5c76bbea410730a321a69e9c
      https://github.com/llvm/llvm-project/commit/c2e0afe95efd495f5c76bbea410730a321a69e9c
  Author: Yuxuan Chen <ych at fb.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [Coroutines][NFC] Remove @llvm.coro.id.async intrinsics from CoroElide (#92956)


  Commit: 511077df763752fd2c187e4ca1a3ada335b77804
      https://github.com/llvm/llvm-project/commit/511077df763752fd2c187e4ca1a3ada335b77804
  Author: Wu Yingcong <yingcong.wu at intel.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M compiler-rt/lib/dfsan/dfsan_allocator.cpp
    M compiler-rt/lib/lsan/lsan_allocator.cpp
    M compiler-rt/lib/msan/msan_allocator.cpp

  Log Message:
  -----------
  [sanitizers] Bump malloc limit to 1TB for MSAN, LSAN & DFSAN (#89728)

We already have `const uptr kMaxAllowedMallocSize = 1ULL << 40;` set for
ASAN, HWASAN, memprof, TSAN. This patch bumps the malloc limit for MSAN,
LSAN and DFSAN to 1TB as well. 8GB is simply not enough nowadays.


  Commit: a6d97dec899b880f0c3f674d6b3361a70b68ca09
      https://github.com/llvm/llvm-project/commit/a6d97dec899b880f0c3f674d6b3361a70b68ca09
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [clang-format] Correctly annotate C++ alternative operators in C (#92880)

PR #90161 uncovered a bug that annotates C++ xor as UnaryOperator if
followed by a binary operator. This patch fixes that and all other C++
alternative operator keywords when followed by a binary operator in C.

Fixes #92688.


  Commit: 935b946b1fdeeb9d67f1c42903dc15e88407208f
      https://github.com/llvm/llvm-project/commit/935b946b1fdeeb9d67f1c42903dc15e88407208f
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Profile/YAMLProfileWriter.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    A bolt/test/X86/ignored-interprocedural-reference.s

  Log Message:
  -----------
  [BOLT] Process cross references between ignored functions in BAT mode (#92484)

To align YAML and fdata profiles produced in BAT mode, lift two
restrictions applied in non-relocation mode when BAT is present:
1) register secondary entry points from ignored functions,
2) treat functions with secondary entry points as simple.

This allows constructing CFG for non-simple functions in non-relocation
mode and emitting YAML profile for them, which can then be used for
optimizations in relocation mode.

Test Plan: added test ignored-interprocedural-reference.s


  Commit: 97025bd9d5b32f984f07d6ae20a3ce6ddb3fbe2a
      https://github.com/llvm/llvm-project/commit/97025bd9d5b32f984f07d6ae20a3ce6ddb3fbe2a
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M bolt/include/bolt/Profile/DataAggregator.h
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Profile/YAMLProfileWriter.cpp
    M bolt/test/X86/register-fragments-bolt-symbols.s
    M bolt/test/link_fdata.py

  Log Message:
  -----------
  [BOLT] Use getLocationName in YAMLProfileWriter (#92493)

Disambiguate local functions using the containing file symbol in BAT
mode. Make local function naming consistent across BAT fdata and YAML
profiles.

Test Plan: updated register-fragments-bolt-symbols.s


  Commit: 64f640680f7b1ddc8d2015eac75865f231166f8c
      https://github.com/llvm/llvm-project/commit/64f640680f7b1ddc8d2015eac75865f231166f8c
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M libcxxabi/include/cxxabi.h
    M libcxxabi/src/cxa_exception.cpp
    M libcxxabi/src/cxa_exception.h
    M libcxxabi/src/cxa_personality.cpp
    M libunwind/src/Unwind-wasm.c
    M libunwind/src/libunwind.cpp

  Log Message:
  -----------
  [WebAssembly] __USING_WASM_EXCEPTIONS__ -> __WASM_EXCEPTIONS__ (#92840)

We've decided to change `__USING_WASM_EXCEPTIONS__` preprocessor to
`__WASM_EXCEPTIONS__` given that it's more concise.


  Commit: d53c6cdbc108729ce5dc7d4e9184db025206fefc
      https://github.com/llvm/llvm-project/commit/d53c6cdbc108729ce5dc7d4e9184db025206fefc
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx940.cl
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td

  Log Message:
  -----------
  [AMDGPU][Clang] Builtin for GLOBAL_LOAD_LDS on GFX940 (#92962)

Fixes: SWDEV-459212


  Commit: b66779b5bf0f3c839114681bb4aca80a9dc144c3
      https://github.com/llvm/llvm-project/commit/b66779b5bf0f3c839114681bb4aca80a9dc144c3
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [nfc][InstrProfReader]Store header fields in native endianness (#92947)

- Use `Header.Version` directly and remove Header::formatVersion

---------

Co-authored-by: Kazu Hirata <kazu at google.com>


  Commit: 130e93cc26ca9d3ac50ec5a92e3109577ca2e702
      https://github.com/llvm/llvm-project/commit/130e93cc26ca9d3ac50ec5a92e3109577ca2e702
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2024-05-22 (Wed, 22 May 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:
  -----------
  Reland "[clang] Enable sized deallocation by default in C++14 onwards" (#90373)


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.

The original commit cf5a8b4 was reverted by 2e5035a due to some
failures (see #83774).

Fixes #60061


  Commit: 7370b109b44a187e55d032d9628e41a7b94c3914
      https://github.com/llvm/llvm-project/commit/7370b109b44a187e55d032d9628e41a7b94c3914
  Author: csstormq <swust_xiaoqiangxu at 163.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/ScheduleDAG.cpp
    R llvm/test/CodeGen/X86/misched-critical-path.ll

  Log Message:
  -----------
  Revert "[llvm][ScheduleDAG] SUnit::biasCriticalPath() does not find the critical path consistently (#92368)" (#92992)

This reverts commit f0d1ae83b046ff0eeffc72a103f7c8b01ad33787.

This commit breaks tests: http://45.33.8.238/linux/138572/step_11.txt


  Commit: 108575f02ea9927009ed81231474d3a6f053602f
      https://github.com/llvm/llvm-project/commit/108575f02ea9927009ed81231474d3a6f053602f
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/test/Analysis/builtin_signbit.cpp
    M clang/test/CodeGen/catch-nullptr-and-nonzero-offset.c
    M clang/test/CodeGen/constantexpr-fneg.c
    M clang/test/CodeGenCXX/cxx11-thread-local.cpp
    M clang/test/CodeGenCXX/ubsan-nullability-arg.cpp
    M clang/test/CodeGenCXX/weak-external.cpp
    M clang/test/Driver/linker-wrapper-image.c
    M clang/test/OpenMP/threadprivate_codegen.cpp
    M llvm/include/llvm/Analysis/TargetFolder.h
    M llvm/include/llvm/IR/ConstantFolder.h
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/IR/ConstantFold.cpp
    M llvm/test/Assembler/ConstantExprFold.ll
    M llvm/test/Assembler/ConstantExprNoFold.ll
    M llvm/test/Assembler/vector-cmp.ll
    M llvm/test/CodeGen/AMDGPU/lower-ctor-dtor-constexpr-alias.ll
    M llvm/test/CodeGen/AMDGPU/lower-ctor-dtor.ll
    M llvm/test/CodeGen/AMDGPU/lower-multiple-ctor-dtor.ll
    M llvm/test/Instrumentation/MemorySanitizer/check-constant-shadow.ll
    M llvm/test/Instrumentation/SanitizerBinaryMetadata/atomics.ll
    M llvm/test/Transforms/Attributor/value-simplify.ll
    M llvm/test/Transforms/InstCombine/binop-select-cast-of-select-cond.ll
    M llvm/test/Transforms/InstCombine/constant-fold-address-space-pointer.ll
    M llvm/test/Transforms/InstCombine/getelementptr.ll
    M llvm/test/Transforms/InstCombine/hoist-xor-by-constant-from-xor-by-value.ll
    M llvm/test/Transforms/InstCombine/pr33453.ll
    M llvm/test/Transforms/InstCombine/pr83947.ll
    M llvm/test/Transforms/InstCombine/rem.ll
    M llvm/test/Transforms/InstCombine/select-and-or.ll
    M llvm/test/Transforms/InstCombine/select-safe-transforms.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/bitcast.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/icmp-global.ll
    M llvm/test/Transforms/InstSimplify/bitcast-vector-fold.ll
    M llvm/test/Transforms/InstSimplify/compare.ll
    M llvm/test/Transforms/InstSimplify/past-the-end.ll
    M llvm/test/Transforms/JumpThreading/constant-fold-status.ll
    M llvm/test/Transforms/LowerTypeTests/cfi-direct-call1.ll
    M llvm/test/Transforms/LowerTypeTests/function-weak.ll
    M llvm/test/Transforms/SCCP/conditions-ranges.ll
    M llvm/test/Transforms/SimplifyCFG/phi-to-select-constexpr-icmp.ll

  Log Message:
  -----------
  [IR] Avoid creating icmp/fcmp constant expressions (#92885)

Do not create icmp/fcmp constant expressions in IRBuilder etc anymore,
i.e. treat them as "undesirable". This is in preparation for removing
them entirely.

Part of:
https://discourse.llvm.org/t/rfc-remove-most-constant-expressions/63179


  Commit: 89e1f7784be40bea96d5e65919ce8d34151c1d69
      https://github.com/llvm/llvm-project/commit/89e1f7784be40bea96d5e65919ce8d34151c1d69
  Author: Carlos Alberto Enciso <Carlos.Enciso at sony.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/LoopInfo.h
    M llvm/include/llvm/Transforms/Utils/LoopUtils.h
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    A llvm/test/Transforms/IndVarSimplify/pr51735-1.ll
    A llvm/test/Transforms/IndVarSimplify/pr51735-2.ll
    A llvm/test/Transforms/IndVarSimplify/pr51735-3.ll
    A llvm/test/Transforms/IndVarSimplify/pr51735.ll

  Log Message:
  -----------
  [indvars] Missing variables at Og (#88270)

https://bugs.llvm.org/show_bug.cgi?id=51735
https://github.com/llvm/llvm-project/issues/51077

In the given test case:
 ```
4 ...
 5 void bar() {
 6   int End = 777;
 7   int Index = 27;
 8   char Var = 1;
 9   for (; Index < End; ++Index)
10     ;
11   nop(Index);
12 }
13 ...
```
Missing local variable `Index` after loop `Induction Variable Elimination`.
When adding a breakpoint at line `11`, LLDB does not have information
on the variable. But it has info on `Var` and `End`.


  Commit: c769079b1098f6b108544176c0bd8b5bba986f2c
      https://github.com/llvm/llvm-project/commit/c769079b1098f6b108544176c0bd8b5bba986f2c
  Author: AtariDreams <gfunni234 at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/fp_to_sint.ll
    M llvm/test/CodeGen/AMDGPU/fp_to_uint.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp10.ll
    M llvm/test/CodeGen/AMDGPU/shl.ll

  Log Message:
  -----------
  [AMDGPU] Update test results to fix build (#92982)


  Commit: c609c04e32ef43f63a6ee54025fadf649c3247cc
      https://github.com/llvm/llvm-project/commit/c609c04e32ef43f63a6ee54025fadf649c3247cc
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/test/CodeGenCXX/weak-external.cpp

  Log Message:
  -----------
  [CodeGen] Use fixed triple in weak-external test (NFC)

The codegen here differs substantially if UseARMMethodPtrABI is
enabled. Use a fixed x86 triple to avoid this.


  Commit: 874a5dab419240af0a02a3fc70accd926105aa31
      https://github.com/llvm/llvm-project/commit/874a5dab419240af0a02a3fc70accd926105aa31
  Author: Ivan Murashko <ivan.murashko at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/include/clang/Basic/FileManager.h
    M clang/lib/Basic/FileManager.cpp
    A clang/test/Modules/implicit-module-remap.cpp

  Log Message:
  -----------
  [clang] Processing real directories added as virtual ones (#91645)

The `FileManager` might create a virtual directory that can be used
later as a search path. This is the case when we use remapping, as
demonstrated in the suggested LIT test.

We might encounter a 'false cache miss' and add the same directory
twice into `FileManager::SeenDirEntries` if the added record is a real
directory that is present on a disk:
- Once as a virtual directory 
- And once as a real one

This isn't a problem if the added directories have the same name, as in
this case, we will get a cache hit. However, it could lead to
compilation errors if the directory names are different but point to the
same folder. For example, one might use an absolute name and another a
relative one. For instance, the **implicit-module-remap.cpp** LIT test
will fail with the following message:
```
/.../implicit-module-remap.cpp.tmp/test.cpp:1:2: fatal error: module 'a' 
was built in directory '/.../implicit-module-remap.cpp.tmp' but now 
resides in directory '.'
    1 | #include "a.h"
      |  ^
1 error generated.
```

The suggested fix checks if the added virtual directory is present on
the disk and handles it as a real one if that is the case.


  Commit: b00e0c167186d69e1e6bceda57c09b272bd6acfc
      https://github.com/llvm/llvm-project/commit/b00e0c167186d69e1e6bceda57c09b272bd6acfc
  Author: Christian Ulmann <christianulmann at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M mlir/include/mlir/Analysis/SliceAnalysis.h
    A mlir/include/mlir/Analysis/TopologicalSortUtils.h
    M mlir/include/mlir/Transforms/RegionUtils.h
    R mlir/include/mlir/Transforms/TopologicalSortUtils.h
    M mlir/lib/Analysis/CMakeLists.txt
    M mlir/lib/Analysis/SliceAnalysis.cpp
    A mlir/lib/Analysis/TopologicalSortUtils.cpp
    M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
    M mlir/lib/Dialect/Affine/Utils/LoopFusionUtils.cpp
    M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenACC/OpenACCToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/lib/Transforms/Mem2Reg.cpp
    M mlir/lib/Transforms/SROA.cpp
    M mlir/lib/Transforms/TopologicalSort.cpp
    M mlir/lib/Transforms/Utils/CMakeLists.txt
    M mlir/lib/Transforms/Utils/RegionUtils.cpp
    R mlir/lib/Transforms/Utils/TopologicalSortUtils.cpp
    M mlir/lib/Transforms/ViewOpGraph.cpp
    M mlir/test/Analysis/test-topoligical-sort.mlir
    A mlir/test/Analysis/test-toposort.mlir
    M mlir/test/Dialect/Affine/slicing-utils.mlir
    R mlir/test/Transforms/test-toposort.mlir
    M mlir/test/lib/Analysis/CMakeLists.txt
    M mlir/test/lib/Analysis/TestSlice.cpp
    A mlir/test/lib/Analysis/TestTopologicalSort.cpp
    M mlir/test/lib/Transforms/CMakeLists.txt
    R mlir/test/lib/Transforms/TestTopologicalSort.cpp
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [MLIR][Analysis] Consolidate topological sort utilities  (#92563)

This PR attempts to consolidate the different topological sort utilities
into one place. It adds them to the analysis folder because the
`SliceAnalysis` uses some of these.

There are now two different sorting strategies: 
1. Sort only according to SSA use-def chains
2. Sort while taking regions into account. This requires a much more
elaborate traversal and cannot be applied on graph regions that easily.

This additionally reimplements the region aware topological sorting
because the previous implementation had an exponential space complexity.

I'm open to suggestions on how to combine this further or how to fuse
the test passes.


  Commit: 1cf75cc77e1d019613644491fb3f2923d4d29774
      https://github.com/llvm/llvm-project/commit/1cf75cc77e1d019613644491fb3f2923d4d29774
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/fp_to_sint.ll
    M llvm/test/CodeGen/AMDGPU/fp_to_uint.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp10.ll
    M llvm/test/CodeGen/AMDGPU/shl.ll

  Log Message:
  -----------
  Revert "[AMDGPU] Update test results to fix build (#92982)"

This reverts commit c769079b1098f6b108544176c0bd8b5bba986f2c.

This doesn't fix the build, it breaks it.


  Commit: 1015f51dd94a6154df7183004743e1a86e566858
      https://github.com/llvm/llvm-project/commit/1015f51dd94a6154df7183004743e1a86e566858
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
    M llvm/lib/Target/AArch64/AArch64Subtarget.h
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/test/Analysis/CostModel/AArch64/cast.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-vector-shuffle-tbl.ll
    M llvm/test/CodeGen/AArch64/sve-fp-reduce-fadda.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-and-combine.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bit-counting.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitcast.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitselect.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-build-vector.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-concat.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ext-loads.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-extract-subvector.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-extract-vector-elt.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-arith.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-compares.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-convert.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-extend-trunc.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-fma.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-minmax.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce-fa64.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-rounding.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-select.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-to-int.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-insert-vector-elt.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-arith.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-compares.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-div.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-extends.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-immediates.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-log.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-minmax.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mla-neon-fa64.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mulh.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-rem.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-select.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-shifts.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-to-fp.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ld2-alloca.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-limit-duplane.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-loads.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-log-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-load.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-store.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-optimize-ptrue.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-permute-rev.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-permute-zip-uzp-trn.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ptest.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-reshuffle.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-rev.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-sdiv-pow2.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-shuffle.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-splat-vector.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-stores.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-subvector.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc-stores.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-vector-shuffle.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-test-register-mov.ll
    M llvm/test/Transforms/InterleavedAccess/AArch64/fixed-deinterleave-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/streaming-compatible-sve-no-maximize-bandwidth.ll
    M llvm/test/Transforms/ScalarizeMaskedMemIntrin/AArch64/streaming-compatible-expand-masked-gather-scatter.ll

  Log Message:
  -----------
  [AArch64] NFC: Rename -force-streaming-compatible-sve to -force-streaming-compatible (#92774)

The behaviour of the flag should be equivalent to
__arm_streaming_compatible.

At the moment, the name suggests that '-force-streaming-compatible-sve'
on its own (i.e. without specifying `+sve`) enables the compiler to use
the streaming-compatible subset of SVE instructions, but the semantics
merely are that the function can be called with either PSTATE.SM=0 or
PSTATE.SM=1.


  Commit: 2034f2fc8729bd4645ef7caa3c5c6efa284d2d3f
      https://github.com/llvm/llvm-project/commit/2034f2fc8729bd4645ef7caa3c5c6efa284d2d3f
  Author: Felix Schneider <fx.schn at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M mlir/include/mlir/Interfaces/Utils/InferIntRangeCommon.h
    M mlir/lib/Dialect/Arith/IR/InferIntRangeInterfaceImpls.cpp
    M mlir/lib/Dialect/Index/IR/InferIntRangeInterfaceImpls.cpp
    M mlir/lib/Interfaces/Utils/InferIntRangeCommon.cpp
    M mlir/test/Dialect/Arith/int-range-interface.mlir
    M mlir/test/Dialect/Arith/int-range-opts.mlir

  Log Message:
  -----------
  [mlir][intrange] Use `nsw`,`nuw` flags in inference (#92642)

This patch includes the "no signed wrap" and "no unsigned wrap" flags,
which can be used to annotate some Ops in the `arith` dialect and also
in LLVMIR, in the integer range inference.

The general approach is to use saturating arithmetic operations to infer
bounds which are assumed to not wrap and use overflowing arithmetic
operations in the normal case. If overflow is detected in the normal
case,
special handling makes sure that we don't underestimate the result
range.


  Commit: 235465e40475a3bce1c11b21032844c0c8e14f28
      https://github.com/llvm/llvm-project/commit/235465e40475a3bce1c11b21032844c0c8e14f28
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-sat-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-sat-rv64.mir

  Log Message:
  -----------
  [RISCV][GISel] Legalize G_{U|S}{ADD|SUB}SAT (#92935)

This patch adds support for G_UADDSAT/G_SADDSAT/G_USUBSAT/G_SSUBSAT by
lowering it into add/sub with selects. When zbb is available,
min/max/minu/maxu will be selected.


  Commit: 89c23f7683efbdf896670218be9095d57ae3e348
      https://github.com/llvm/llvm-project/commit/89c23f7683efbdf896670218be9095d57ae3e348
  Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
    M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_shader_clock/shader_clock.ll

  Log Message:
  -----------
  [SPIR-V] Add cl_khr_kernel_clock / SPV_KHR_shader_clock extension (#92771)

Recognize `cl_khr_kernel_clock` builtins and translate them to
`OpReadClockKHR` instructions. The `Scope` operand is deduced from the
builtin function name.

spirv-val does not pass yet due to OpReadClockKHR only supporting the
valid scopes for Vulkan (Device and Subgroup, but not Workgroup), so
leave validation disabled with a TODO.


  Commit: c7e9b4918e5bd4936dbc036ba65eae178f5cc994
      https://github.com/llvm/llvm-project/commit/c7e9b4918e5bd4936dbc036ba65eae178f5cc994
  Author: Mateusz Zych <mte.zych at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M libcxx/include/vector

  Log Message:
  -----------
  [libc++][vector] Inline remaining constructors filling vector with the same value (#82068)

Placing physically next to each other remaining constructors filling
vector with the same value
will make code better, since they all have nearly identical
implementation, which needs to be kept in sync.

Co-authored-by: Mark de Wever <koraq at xs4all.nl>


  Commit: 058e4454e8965f0d96ecbec61395d5a788c37f7c
      https://github.com/llvm/llvm-project/commit/058e4454e8965f0d96ecbec61395d5a788c37f7c
  Author: ZhangYin <zhangyin2018 at iscas.ac.cn>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M libcxx/docs/Status/ParallelismProjects.csv
    M libcxx/include/experimental/__simd/scalar.h
    M libcxx/include/experimental/__simd/simd.h
    M libcxx/include/experimental/__simd/simd_mask.h
    M libcxx/include/experimental/__simd/vec_ext.h
    A libcxx/test/std/experimental/simd/simd.class/simd_copy.pass.cpp
    A libcxx/test/std/experimental/simd/simd.mask.class/simd_mask_copy.pass.cpp

  Log Message:
  -----------
  [libc++] <experimental/simd> Add copy functions for class simd/simd_mask (#78935)


  Commit: a640a2e0205fc23a27913d3e7c69c7cc60e4f7b9
      https://github.com/llvm/llvm-project/commit/a640a2e0205fc23a27913d3e7c69c7cc60e4f7b9
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    A clang/include/clang/Sema/SemaRISCV.h
    M clang/lib/Parse/ParsePragma.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaCast.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaRISCV.cpp

  Log Message:
  -----------
  [clang] Introduce `SemaRISCV` (#92682)

This patch moves `Sema` functions that are specific for RISC-V into the
new `SemaRISCV` class. This continues previous efforts to split `Sema`
up. Additional context can be found in
https://github.com/llvm/llvm-project/pull/84184.

This PR is somewhat different from previous PRs on this topic:
1. Splitting out target-specific functions wasn't previously discussed.
It felt quite natural to do, though.
2. I had to make some static function in `SemaChecking.cpp` member
functions of `Sema` in order to use them in `SemaRISCV`.
3. I dropped "RISCV" from identifiers, but decided to leave "RVV"
(RISC-V "V" vector extensions) intact. I think it's an idiomatic
abbreviation at this point, but I'm open to input from contributors in
that area.
4. I repurposed `SemaRISCVVectorLookup.cpp` for `SemaRISCV`.

I think this was a successful experiment, which both helps the goal of
splitting `Sema` up, and shows a way to approach `SemaChecking.cpp`,
which I wasn't sure how to approach before. As we move more
target-specific function out of there, we'll gradually make the checking
"framework" inside `SemaChecking.cpp` public, which is currently a whole
bunch of static functions. This would enable us to move more functions
outside of `SemaChecking.cpp`.


  Commit: a56e6dfd2e6b141b5475c05ad62c378906f565ba
      https://github.com/llvm/llvm-project/commit/a56e6dfd2e6b141b5475c05ad62c378906f565ba
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll

  Log Message:
  -----------
  [LV] Add test for header mask and invariant compare cost-modeling.

Additional test coverage for the VPlan-based cost model work.


  Commit: f98a3dd7a23ca1a85f62b38a2a7e82a53f80070b
      https://github.com/llvm/llvm-project/commit/f98a3dd7a23ca1a85f62b38a2a7e82a53f80070b
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M libcxx/test/std/containers/associative/map/map.value_compare/types.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.value_compare/types.pass.cpp
    M libcxx/test/std/iterators/predef.iterators/counted.iterator/implicit_ctad.pass.cpp
    M libcxx/test/std/iterators/predef.iterators/insert.iterators/back.insert.iterator/implicit_ctad.pass.cpp
    M libcxx/test/std/iterators/predef.iterators/insert.iterators/front.insert.iterator/implicit_ctad.pass.cpp
    M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iterator/implicit_ctad.pass.cpp
    M libcxx/test/std/strings/string.view/string.view.deduct/implicit.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/implicit_ctad.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/implicit_ctad.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/implicit_ctad.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/implicit_ctad.pass.cpp
    M libcxx/test/std/utilities/function.objects/func.search/func.search.bm/implicit_ctad.pass.cpp
    M libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/implicit_ctad.pass.cpp
    M libcxx/test/std/utilities/function.objects/func.search/func.search.default/implicit_ctad.pass.cpp
    M libcxx/test/std/utilities/function.objects/operations.implicit_ctad.pass.cpp

  Log Message:
  -----------
  [NFC][libc++][test] Removes C++98 support. (#92930)

Libc++ has no separate C++98 support, it uses C++03 instead. This
removes some obsolete c++98 markers in the test.

Thanks to @StephanTLavavej for spotting this.


  Commit: 4351787fb650da6d1bfb8d6e58753c90dcd4c418
      https://github.com/llvm/llvm-project/commit/4351787fb650da6d1bfb8d6e58753c90dcd4c418
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  AMDGPU: Fix redundant condition

Fixes #93003


  Commit: 15710bbdadddbf03428fd16aed53e6be54960703
      https://github.com/llvm/llvm-project/commit/15710bbdadddbf03428fd16aed53e6be54960703
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M flang/test/Semantics/OpenMP/allocate01.f90
    M flang/test/Semantics/OpenMP/allocate02.f90
    M flang/test/Semantics/OpenMP/allocate03.f90
    M flang/test/Semantics/OpenMP/allocate04.f90
    M flang/test/Semantics/OpenMP/allocate05.f90
    M flang/test/Semantics/OpenMP/allocate06.f90
    M flang/test/Semantics/OpenMP/allocate07.f90
    M flang/test/Semantics/OpenMP/allocate08.f90
    M flang/test/Semantics/OpenMP/allocate09.f90
    M flang/test/Semantics/OpenMP/allocators01.f90
    M flang/test/Semantics/OpenMP/allocators02.f90
    M flang/test/Semantics/OpenMP/allocators03.f90
    M flang/test/Semantics/OpenMP/allocators04.f90
    M flang/test/Semantics/OpenMP/allocators05.f90
    M flang/test/Semantics/OpenMP/allocators06.f90
    M flang/test/Semantics/OpenMP/atomic.f90
    M flang/test/Semantics/OpenMP/atomic01.f90
    M flang/test/Semantics/OpenMP/atomic02.f90
    M flang/test/Semantics/OpenMP/atomic03.f90
    M flang/test/Semantics/OpenMP/atomic04.f90
    M flang/test/Semantics/OpenMP/atomic05.f90
    M flang/test/Semantics/OpenMP/barrier.f90

  Log Message:
  -----------
  [Flang][OpenMP] Re-enable tests on windows 1/n (#92904)

Re-enable tests starting with a or b.


  Commit: 91d415b8d94b15023e6c39d5376274a2b21ee448
      https://github.com/llvm/llvm-project/commit/91d415b8d94b15023e6c39d5376274a2b21ee448
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/CodeGen/aarch64-sve-vector-subscript-ops.c

  Log Message:
  -----------
  [Clang][AArch64][SVE] Allow write to SVE vector elements using the subscript operator (#91965)

The patch at https://reviews.llvm.org/D122732 introduced using the array
subscript operator for SVE vectors, however it also causes an ICE when
the subscripting expression is used as an lvalue.

This patches fixes the error. Lvalue subscripting expressions are
emitted as LLVM IR `insertelement`.


  Commit: 758e1199f6dbcddc0a8d425753c56a42507dd313
      https://github.com/llvm/llvm-project/commit/758e1199f6dbcddc0a8d425753c56a42507dd313
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  [X86] Simplify the code for EFLAGS copy lowering, NFCI

1. MF.begin() == MF.end() -> MF.empty()
2. Set FlagsKilled by API modifiesRegister
3. Utilize APIs in X86GenMnemonicTables.inc to check arithmetic op
4. Merge duplicated code for rewrite*
5. Clang format

This is to address review comments in #91849


  Commit: 775d7ccc0fa1de4bb02e2f5cdf4ca38a021e873e
      https://github.com/llvm/llvm-project/commit/775d7ccc0fa1de4bb02e2f5cdf4ca38a021e873e
  Author: Lukacma <Marian.Lukac at arm.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/test/Driver/aarch64-v95a.c
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SystemOperands.td
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/test/MC/AArch64/FP8/system-regs.s
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  [AArch64] Fix feature flags dependecies (#90612)

This patch removes FEAT_FPMR from list of available of architecture
features, instead enabling FMPR register by default.
Additionally dependencies between architectural features are added and
fixed.


  Commit: 1f5cd3accd7e98abbf31d45b1ed59fbda0c91d30
      https://github.com/llvm/llvm-project/commit/1f5cd3accd7e98abbf31d45b1ed59fbda0c91d30
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/Pointer.h

  Log Message:
  -----------
  [clang][Interp][NFC] Fix getType() of pointers pointing to vector elems


  Commit: f156b9ce7aae520046c926458ed17d73ed33fc2a
      https://github.com/llvm/llvm-project/commit/f156b9ce7aae520046c926458ed17d73ed33fc2a
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    A flang/test/Integration/debug-module-2.f90
    A flang/test/Transforms/debug-module-1.fir
    A flang/test/Transforms/debug-module-2.fir

  Log Message:
  -----------
  [flang] Add debug information for module variables. (#91582)

This PR add debug info for module variables. The module variables are
added as global variables but their scope is set to module instead of
compile unit. The scope of function declared inside a module is also set
accordingly.

After this patch, a module variable could be evaluated in the GDB as `p
helper::gli` where helper is name of the module and gli is the name of
the variable. A future patch will add the import module functionality
which will remove the need to prefix the name with helper::.

The line number where is module is declared is a best guess at the
moment as this information is not part of the GlobalOp.


  Commit: 1b066437085b7906a70539aad170e3e52fb9f685
      https://github.com/llvm/llvm-project/commit/1b066437085b7906a70539aad170e3e52fb9f685
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/stack-folding-fp-avx512fp16.ll

  Log Message:
  -----------
  [X86] stack-folding-fp-avx512fp16.ll - remove broken CHECK-LABEl prefix lines

Typo identified in #91854


  Commit: 6381cfe8910bfd8cefb91b565b7640529e2f75f2
      https://github.com/llvm/llvm-project/commit/6381cfe8910bfd8cefb91b565b7640529e2f75f2
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/stack-frame-layout-remarks.ll

  Log Message:
  -----------
  [X86] stack-frame-layout-remarks.ll - fix BOTH-Next -> BOTH-NEXT typo

Typo identified in #91854


  Commit: 0873b4ca295234d697172e32fa4e597ebbb63ee0
      https://github.com/llvm/llvm-project/commit/0873b4ca295234d697172e32fa4e597ebbb63ee0
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/PowerPC/optimal-epilog-vectorization-profitability.ll

  Log Message:
  -----------
  [LoopVectorize] optimal-epilog-vectorization-profitability.ll - fix LABLE -> LABEL typo

Typo identified in #91854


  Commit: 5d833c65da74d83a9b5df19da52d67ea1c0ecc10
      https://github.com/llvm/llvm-project/commit/5d833c65da74d83a9b5df19da52d67ea1c0ecc10
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Remove unneeded CheckRange call

This doesn't do anything with the current tests and is unnecessary in
general.


  Commit: 11b97da83141db857361ec9535dcd637ffcd0439
      https://github.com/llvm/llvm-project/commit/11b97da83141db857361ec9535dcd637ffcd0439
  Author: Balázs Kéri <balazs.keri at ericsson.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/docs/analyzer/checkers.rst
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
    A clang/lib/StaticAnalyzer/Checkers/SetgidSetuidOrderChecker.cpp
    A clang/test/Analysis/setgid-setuid-order-notes.c
    A clang/test/Analysis/setgid-setuid-order.c

  Log Message:
  -----------
  [clang][analyzer] Add checker 'security.SetgidSetuidOrder' (#91445)


  Commit: 5cb2ea5704c733102ae93a50b10b80c1ae06112e
      https://github.com/llvm/llvm-project/commit/5cb2ea5704c733102ae93a50b10b80c1ae06112e
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Remove VarDecl requirement in diagnoseUnknownDecl()

We can call diagnoseNonConstVariable() for all ValueDecls just fine.


  Commit: e5936b245e9af0cea69a7e4eae22a05b7ffcf5a3
      https://github.com/llvm/llvm-project/commit/e5936b245e9af0cea69a7e4eae22a05b7ffcf5a3
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Fix toAPValue() for array root pointers

isArrayElement() returns false for them, so we used to add the decl
to the path, causing wrong APValues to be generated.


  Commit: 9807f25baa98be3bcce579302b2348b8abaf5cbd
      https://github.com/llvm/llvm-project/commit/9807f25baa98be3bcce579302b2348b8abaf5cbd
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M flang/include/flang/Optimizer/HLFIR/Passes.h
    M flang/include/flang/Optimizer/HLFIR/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Fir/basic-program.fir

  Log Message:
  -----------
  [flang][HLFIR] Adapt OptimizedBufferization to run on all top level ops (#92898)

This means that this pass will also run on hlfir elemental operations
which are not inside of functions.

See RFC:

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

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


  Commit: 3c5738f3ec185fbf56da2c18929f5b33126cd98b
      https://github.com/llvm/llvm-project/commit/3c5738f3ec185fbf56da2c18929f5b33126cd98b
  Author: Carlos Alberto Enciso <Carlos.Enciso at sony.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/LoopInfo.h
    M llvm/include/llvm/Transforms/Utils/LoopUtils.h
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    R llvm/test/Transforms/IndVarSimplify/pr51735-1.ll
    R llvm/test/Transforms/IndVarSimplify/pr51735-2.ll
    R llvm/test/Transforms/IndVarSimplify/pr51735-3.ll
    R llvm/test/Transforms/IndVarSimplify/pr51735.ll

  Log Message:
  -----------
  Revert "[indvars] Missing variables at Og (#88270)" (#93016)

This reverts commit 89e1f7784be40bea96d5e65919ce8d34151c1d69.

https://github.com/llvm/llvm-project/pull/88270#discussion_r1609559724
https://github.com/llvm/llvm-project/pull/88270#discussion_r1609552972

Main concerns from @nikic are the interaction between the
'IndVars' and 'LoopDeletion' passes, increasing build times
and adding extra complexity.


  Commit: 5bd210ace6c165d5093220811ba8d5fc300ac1f9
      https://github.com/llvm/llvm-project/commit/5bd210ace6c165d5093220811ba8d5fc300ac1f9
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/test/Analysis/LoopAccessAnalysis/depend_diff_types.ll
    M llvm/test/Analysis/LoopAccessAnalysis/forward-loop-independent.ll
    M llvm/test/Analysis/LoopAccessAnalysis/pr64637.ll
    M llvm/test/Analysis/LoopAccessAnalysis/stride-access-dependence.ll

  Log Message:
  -----------
  [NFC][LLVM] Autogenerate check lines for some Analysis/LoopAccessAnalysis tests.


  Commit: 9051fc706fd5f4517fa880e6cb7a1ba9e4c0483d
      https://github.com/llvm/llvm-project/commit/9051fc706fd5f4517fa880e6cb7a1ba9e4c0483d
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    A llvm/test/MC/AArch64/SVE/condition-codes.s
    R llvm/test/MC/AArch64/SVE/condtion-codes.s
    M llvm/test/MC/AArch64/SVE/sqdecd-diagnostics.s
    M llvm/test/MC/AArch64/SVE/sqincp-diagnostics.s

  Log Message:
  -----------
  [NFC][LLVM] Fix typos in llvm/test/MC/AArch64/SVE


  Commit: 25c021a8638d203022128edb1be9000134bfe24f
      https://github.com/llvm/llvm-project/commit/25c021a8638d203022128edb1be9000134bfe24f
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/test/Transforms/Util/add-TLI-mappings.ll

  Log Message:
  -----------
  [NFC] Fix typo in llvm/test/Transforms/Util/add-TLI-mappings.ll


  Commit: c912f0e773386cc309155b78e2441ee5f1052c13
      https://github.com/llvm/llvm-project/commit/c912f0e773386cc309155b78e2441ee5f1052c13
  Author: pranavm-nvidia <49246958+pranavm-nvidia at users.noreply.github.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M mlir/lib/Bindings/Python/IRAttributes.cpp
    M mlir/test/python/ir/array_attributes.py

  Log Message:
  -----------
  [mlir][python] Add bindings for mlirDenseElementsAttrGet (#91389)

This change adds bindings for `mlirDenseElementsAttrGet` which accepts a
list of MLIR attributes and constructs a DenseElementsAttr. This allows
for creating `DenseElementsAttr`s of types not natively supported by
Python (e.g. BF16) without requiring other dependencies (e.g. `numpy` +
`ml-dtypes`).


  Commit: 9604e5ce8b5607cd88ba130314fc7ae8545542e1
      https://github.com/llvm/llvm-project/commit/9604e5ce8b5607cd88ba130314fc7ae8545542e1
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/Pointer.h
    M clang/test/AST/Interp/arrays.cpp

  Log Message:
  -----------
  [clang][Interp] Allow stepping back from a one-past-the-end pointer

... back into range of the array.


  Commit: 8619054fb76ad0ceb9c3b1c90e643bd469daecf8
      https://github.com/llvm/llvm-project/commit/8619054fb76ad0ceb9c3b1c90e643bd469daecf8
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 11b97da83141


  Commit: bbc4c2e047107c62d49ce1e0474635ea55a2b006
      https://github.com/llvm/llvm-project/commit/bbc4c2e047107c62d49ce1e0474635ea55a2b006
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/AArch64/arm64-vhadd.ll

  Log Message:
  -----------
  [DAG] SimplifyDemandedBits - ensure we have simplified the shift operands before folding to AVG

Pulled out of #92096 - ensure we have completed a topological simplification of the SRA/SRL shift operands before we try to combine to a AVG node, as its difficult to later simplify through AVG nodes.


  Commit: f68548135b8f9a02beac842646ab89bcaad9d400
      https://github.com/llvm/llvm-project/commit/f68548135b8f9a02beac842646ab89bcaad9d400
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/EvaluationResult.cpp
    A clang/test/AST/Interp/unions.cpp

  Log Message:
  -----------
  [clang][Interp] Fix checking unions for initialization


  Commit: ba0e871db81d8527382a051a0abf1ce2a171d8bf
      https://github.com/llvm/llvm-project/commit/ba0e871db81d8527382a051a0abf1ce2a171d8bf
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/test/Transforms/ConstraintElimination/sext-unsigned-predicates.ll
    M llvm/test/Transforms/ConstraintElimination/transfer-signed-facts-to-unsigned.ll

  Log Message:
  -----------
  [ConstraintElim] Look through SExt with precond Op sge 0.

Look through SExt with a precondition that the operand is signed
positive.

https://alive2.llvm.org/ce/z/zvVVHj


  Commit: cf128305bdada3ffb34054813a855d80b3948025
      https://github.com/llvm/llvm-project/commit/cf128305bdada3ffb34054813a855d80b3948025
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/AArch64/bitfield-insert.ll
    M llvm/test/CodeGen/AArch64/trunc-to-tbl.ll
    A llvm/test/CodeGen/X86/pr92720.ll

  Log Message:
  -----------
  [SDAG] Don't treat ISD::SHL as a uniform binary operator in `ShrinkDemandedOp` (#92753)

In `TargetLowering::ShrinkDemandedOp`, types of lhs and rhs may differ
before legalization.
In the original case, `VT` is `i64` and `SmallVT` is `i32`, but the type
of rhs is `i8`. Then invalid truncate nodes will be created.

See the description of ISD::SHL for further information:
> After legalization, the type of the shift amount is known to be
TLI.getShiftAmountTy(). Before legalization, the shift amount can be any
type, but care must be taken to ensure it is large enough.


https://github.com/llvm/llvm-project/blob/605ae4e93be8976095c7eedf5c08bfdb9ff71257/llvm/include/llvm/CodeGen/ISDOpcodes.h#L691-L712

This patch stops handling ISD::SHL in `TargetLowering::ShrinkDemandedOp`
and duplicates the logic in `TargetLowering::SimplifyDemandedBits`.
Additionally, it adds some additional checks like
`isNarrowingProfitable` and `isTypeDesirableForOp` to improve the
codegen on AArch64.

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


  Commit: 2aa218c247eef03f4ea922d635b7a9f46d061119
      https://github.com/llvm/llvm-project/commit/2aa218c247eef03f4ea922d635b7a9f46d061119
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/test/Lower/OpenMP/invalid-reduction-modifier.f90
    A flang/test/Semantics/OpenMP/reduction-modifiers.f90

  Log Message:
  -----------
  [flang][OpenMP] Diagnose invalid reduction modifiers (#92406)

Emit diagnostic messages for invalid modifiers in "reduction" clause.

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


  Commit: 71b1fbdff6cf567ad278c51f0acdcdf23de0ac28
      https://github.com/llvm/llvm-project/commit/71b1fbdff6cf567ad278c51f0acdcdf23de0ac28
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  [MISched][NFC] Add documentation comment in pickNode for ReadyQueue maintenence (#92976)

I had some trouble understanding why `removeReady` removed nodes from
the Pending queue, since my intuition told me that the Pending queue did
not represent a node that was ready. I took a deeper look and found that
pickOnlyNode and pickNodeFromQueue only picked nodes from the Available
queue too.

I found that need to nodes from the Available and Pending queues that
correspond to the opposite direction that we ended up choosing from
(IsTopNode vs !IsTopNode).

It took me a little longer than I would have liked to understand this
fact, so I figured that I would add a comment in the code that makes it
clear for future readers.


  Commit: 9120562dfcc09cb4caf3052c6744049b4d9c8481
      https://github.com/llvm/llvm-project/commit/9120562dfcc09cb4caf3052c6744049b4d9c8481
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/include/clang/Sema/SemaOpenMP.h
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/test/OpenMP/tile_codegen.cpp
    M clang/test/OpenMP/tile_codegen_for_dependent.cpp
    M clang/test/OpenMP/tile_codegen_tile_for.cpp
    M openmp/runtime/test/lit.cfg
    A openmp/runtime/test/transform/tile/foreach.cpp
    A openmp/runtime/test/transform/tile/iterfor.cpp
    A openmp/runtime/test/transform/tile/parallel-wsloop-collapse-foreach.cpp
    A openmp/runtime/test/transform/unroll/factor_foreach.cpp
    A openmp/runtime/test/transform/unroll/factor_intfor.c
    A openmp/runtime/test/transform/unroll/factor_iterfor.cpp
    A openmp/runtime/test/transform/unroll/factor_parallel-wsloop-collapse-foreach.cpp
    A openmp/runtime/test/transform/unroll/factor_parallel-wsloop-collapse-intfor.cpp
    A openmp/runtime/test/transform/unroll/full_intfor.c
    A openmp/runtime/test/transform/unroll/heuristic_intfor.c
    A openmp/runtime/test/transform/unroll/partial_intfor.c

  Log Message:
  -----------
  [Clang][OpenMP] Enable tile/unroll on iterator- and foreach-loops (#91459)

OpenMP loop transformation did not work on a for-loop using an iterator
or range-based for-loops. The first reason is that it combined the
iterator's type for generated loops with the type of `NumIterations` as
generated for any `OMPLoopBasedDirective` which is an integer. Fixed by
basing all generated loop variables on `NumIterations`.

Second, C++11 range-based for-loops include syntactic sugar that needs
to be executed before the loop. This additional code is now added to the
construct's Pre-Init lists.

Third, C++20 added an initializer statement to range-based for-loops
which is also added to the pre-init statement. PreInits used to be a
`DeclStmt` which made it difficult to add arbitrary statements from
`CXXRangeForStmt`'s syntactic sugar, especially the for-loops init
statement which does not need to be a declaration. Change it to be a
general `Stmt` that can be a `CompoundStmt` to hold arbitrary Stmts,
including DeclStmts. This also avoids the `PointerUnion` workaround used
by `checkTransformableLoopNest`.

End-to-end tests are added to verify the expected number and order of
loop execution and evaluations of expressions (such as iterator
dereference). The order and number of evaluations of expressions in
canonical loops is explicitly undefined by OpenMP but checked here for
clarification and for changes to be noticed.


  Commit: 0748a98ab009d4fd97438970e7d92660967a0652
      https://github.com/llvm/llvm-project/commit/0748a98ab009d4fd97438970e7d92660967a0652
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/load-cmp.ll

  Log Message:
  -----------
  [InstCombine] Handle ConstantFoldCompareInstOperands() failure

This function will return nullptr instead of returning a constant
expression now, so be sure to handle that.

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


  Commit: cdcd65350bdeafccda33a5d4185c04f4bbe59495
      https://github.com/llvm/llvm-project/commit/cdcd65350bdeafccda33a5d4185c04f4bbe59495
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  [X86] combineBitcast - merge isa<>/cast<> into single dyn_cast<> call. NFC.


  Commit: a699ccbf0c2d4bc5c912e096a8834cf4e04ce98b
      https://github.com/llvm/llvm-project/commit/a699ccbf0c2d4bc5c912e096a8834cf4e04ce98b
  Author: Janek van Oirschot <janek.vanoirschot at amd.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
    M llvm/lib/Target/AMDGPU/SIDefines.h
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTInfo.h
    M llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.h
    M llvm/lib/Target/AMDGPU/Utils/CMakeLists.txt
    A llvm/test/CodeGen/AMDGPU/kernel_code_t_recurse.ll
    A llvm/test/MC/AMDGPU/amd_kernel_code_t.s

  Log Message:
  -----------
  MCExpr-ify amd_kernel_code_t (#91587)

Redefines the amd_kernel_code_t struct with MCExprs for members that would be
derived from SIProgramInfo MCExpr members.


  Commit: 527276832f7e8f109dbab8eb3b01631f68cfe50e
      https://github.com/llvm/llvm-project/commit/527276832f7e8f109dbab8eb3b01631f68cfe50e
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  [clang-tidy][NFCI] Simplify bugprone-sizeof-expression (#93024)

This commit eliminates a redundant matcher subexpression from the
implementation of the "sizeof-pointer-to-aggregate" part of the
clang-tidy check `bugprone-sizeof-expression`.

I'm fairly certain that anything that was previously matched by the
deleted matcher `StructAddrOfExpr` is also covered by the more general
`PointerToStructExpr` (which remains in the same `anyOf`).

This commit is made to "prepare the ground" for a followup change that
would merge the functionality of the Clang Static Analyzer checker
`alpha.core.SizeofPtr` into this clang-tidy check.


  Commit: b99b6b78f0c611fa1241dfcc7cdd8970f8b6369c
      https://github.com/llvm/llvm-project/commit/b99b6b78f0c611fa1241dfcc7cdd8970f8b6369c
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M flang/test/Driver/fopenmp.f90

  Log Message:
  -----------
  [flang][Driver][test] add missing run lines to fopenmp test (#92784)

I believe these were forgotten when copying the clang in #86816.

This was flagged because the CHECK lines for CHECK-LD-ANY* had no
associated RUN line. See
https://github.com/llvm/llvm-project/pull/92387#issuecomment-2119170354


  Commit: f78febf7a87832fb2078961a6d8881b527c917bb
      https://github.com/llvm/llvm-project/commit/f78febf7a87832fb2078961a6d8881b527c917bb
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/AArch64/hadd-combine.ll

  Log Message:
  -----------
  [DAG] ComputeNumSignBits - add AVGCEILS/AVGFLOORS handling (#93021)

Pulled from #92096


  Commit: e3bd627f53b6c7e1c16368803c3f119910cc5c84
      https://github.com/llvm/llvm-project/commit/e3bd627f53b6c7e1c16368803c3f119910cc5c84
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Retrieve active union field in Pointer::toRValue()


  Commit: 7d9634e527fe52bf20a9036be6e5771f8fc4de17
      https://github.com/llvm/llvm-project/commit/7d9634e527fe52bf20a9036be6e5771f8fc4de17
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Propagate IsActive state in unions properly

This resolves an older FIXME comment.


  Commit: 267de8543c8671baa7e12c4d181e6c4e6e2342cd
      https://github.com/llvm/llvm-project/commit/267de8543c8671baa7e12c4d181e6c4e6e2342cd
  Author: Rin Dobrescu <irina.dobrescu at arm.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-clear-upper-regs.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-clear-upper-regs.s

  Log Message:
  -----------
  [llvm-mca][AArch64] Add AArch64 version of clearsSuperRegisters. (#92548)

This patch overrides the clearsSuperRegisters method defined in
MCInstrAnalysis to identify register writes that clear the upper portion
of all super-registers on AArch64 architecture.

On AArch64, a write to a general-purpose register of 32-bit data size is
defined to use the lower 32-bits of the register and zero extend the
upper 32-bits.
Similarly, SIMD and FP instructions operating on scalar data only access
the lower bits of the SIMD&FP register. The unused upper bits are
cleared to zero on a write.
This also applies to SIMD vector registers when the element size in bits
multiplied by the number of lanes is lower than 128. The upper 64 bits
of the vector register are cleared to zero on a write.


  Commit: 7630379156ec08c9d7b1ea3c03c09e7dc89ef4ee
      https://github.com/llvm/llvm-project/commit/7630379156ec08c9d7b1ea3c03c09e7dc89ef4ee
  Author: Corentin Ferry <corentin.ferry at amd.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
    M mlir/test/Conversion/ArithToEmitC/arith-to-emitc-unsupported.mlir
    M mlir/test/Conversion/ArithToEmitC/arith-to-emitc.mlir

  Log Message:
  -----------
  [mlir][emitc] Add EmitC lowering for arith.trunci, arith.extsi, arith.extui

This commit adds conversion to EmitC for arith dialect casts between integer types (trunc, extsi, extui), excluding indexes for now.


  Commit: 183beb33d7f8847c04870e425d75f27db1cf5847
      https://github.com/llvm/llvm-project/commit/183beb33d7f8847c04870e425d75f27db1cf5847
  Author: Alexey Karyakin <akaryaki at quicinc.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    A llvm/test/tools/llvm-objcopy/tool-options.test
    M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp

  Log Message:
  -----------
  [llvm-objcopy] Check for missing argument values (#70710)

Report an error if a required value for a command line argument is
missing.


  Commit: 831d1435193e73026e03e006a5b86591f3d202b3
      https://github.com/llvm/llvm-project/commit/831d1435193e73026e03e006a5b86591f3d202b3
  Author: Ye Luo <yeluo at anl.gov>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M offload/plugins-nextgen/amdgpu/CMakeLists.txt
    M offload/plugins-nextgen/cuda/CMakeLists.txt

  Log Message:
  -----------
  [Offload] libomptarget force dlopen vendor libraries by default. (#92788)

Since #87009, libomptarget directly links all the plugins statically.
All the dependencies of plugins got exposed to libomptarget. The CUDA
plugin depends on libcuda and the amdgpu plugin depends on libhsa if not
forced using dlopen. On a cluster with different compute node
architectures, libomptarget can be built and run on different nodes. In
the build stage, if cmake founds libcuda and
`LIBOMPTARGET_FORCE_DLOPEN_LIBCUDA=OFF`, libomptarget links libcuda.so
directly and the result libomptarget may not run a node without a NVIDIA
driver for example a CPU or AMD GPU only machine with a complaint that
libcuda.so not found.

The solution is setting `LIBOMPTARGET_FORCE_DLOPEN_LIBCUDA` and
`LIBOMPTARGET_FORCE_DLOPEN_LIBHSA` `ON`. Preferably this should be
default to maximize the usability of libomptarget. If cmake detects
NVIDIA or AMD software on an OS imaging building node, the resulted
libomptarget may not be able to function on the user side due to the
requirement the existence of vendor runtime libraries.


  Commit: c8dc6b59d68635f73d2970b7fc8bc9c6c2684098
      https://github.com/llvm/llvm-project/commit/c8dc6b59d68635f73d2970b7fc8bc9c6c2684098
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
    M llvm/test/CodeGen/RISCV/mul.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zba.ll
    M llvm/test/CodeGen/RISCV/rv64zba.ll
    M llvm/test/CodeGen/RISCV/sextw-removal.ll
    M llvm/test/CodeGen/Thumb2/mve-vecreduce-add.ll
    M llvm/test/CodeGen/X86/combine-srem.ll
    M llvm/test/CodeGen/X86/pmul.ll
    M llvm/test/CodeGen/X86/shrink_vmul.ll

  Log Message:
  -----------
  [SDAG] Improve `SimplifyDemandedBits` for mul (#90034)

If the RHS is a constant with X trailing zeros, then the X MSBs of the
LHS are not demanded.

Alive2: https://alive2.llvm.org/ce/z/F5CyJW
Fixes https://github.com/llvm/llvm-project/issues/56645.


  Commit: 1d4772f24d19b36ed07b2434e9e6382e18ffbe08
      https://github.com/llvm/llvm-project/commit/1d4772f24d19b36ed07b2434e9e6382e18ffbe08
  Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  [bazel] add bolt address translation header to Passes (#93014)

to avoid circular dependency introduced in
a9b67490b2baaa311100a64191792186ea5f2c1e


  Commit: 9276a03b5492d0ac62c48c4313139dbf32d7b9e1
      https://github.com/llvm/llvm-project/commit/9276a03b5492d0ac62c48c4313139dbf32d7b9e1
  Author: YunQiang Su <syq at debian.org>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/lib/Basic/Targets/Mips.cpp

  Log Message:
  -----------
  MIPS/Clang: Add more false option pairs into validateTarget (#91968)

The option pairs include:
	-mfpxx -mips1
	-msoft-float -mmsa
	-mmsa -mabi=32 with 32bit pre-R2 CPUs
	-mfpxx -mmsa
	-mfp32 -mmsa


  Commit: 9e0be65f24bca1bd95c25d3191c75461a080af49
      https://github.com/llvm/llvm-project/commit/9e0be65f24bca1bd95c25d3191c75461a080af49
  Author: Emma Pilkington <emma.pilkington95 at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-trap-gfx11.mir
    M llvm/test/CodeGen/AMDGPU/trap-abis.ll

  Log Message:
  -----------
  [AMDGPU] Fix broken MIR generated by gfx11 simulated trap lowering (#91652)

This was breaking the CFG connection between uses of virtual registers
after the trap and their definitions before it. Fixes SWDEV-460384.

Fixes a bug in #85854.


  Commit: a70ecfb267e1fe7d72c94a3cf1675b1f8df99860
      https://github.com/llvm/llvm-project/commit/a70ecfb267e1fe7d72c94a3cf1675b1f8df99860
  Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  [bazel] fix build for b00e0c167186d69e1e6bceda57c09b272bd6acfc


  Commit: d41dde70c44a10f9761242df73fdd288c4660c8d
      https://github.com/llvm/llvm-project/commit/d41dde70c44a10f9761242df73fdd288c4660c8d
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  LiveRangeEdit: Replace setIsDead with an assert (#92964)

I noticed this was possibly buggy with implicit operands with the same
dest register, and should maybe be using addRegisterDead. However, this
is never called in a situation where the operand wasn't already marked
dead. This is eliminateDeadDef, implying the def was already known to be
dead.

Add an assert to detect inconsistencies in dead flags. This was
apparently added in 9a16d655c71826bef98b7d6e9590e4494ac0e1a9.


  Commit: bd46067abf6a3ed712f24670cf7c4b1e574a9739
      https://github.com/llvm/llvm-project/commit/bd46067abf6a3ed712f24670cf7c4b1e574a9739
  Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  [bazel] fix build for 7630379156ec08c9d7b1ea3c03c09e7dc89ef4ee


  Commit: 154d93b7f258cdf1157b5e5d61dd9477ffd3db53
      https://github.com/llvm/llvm-project/commit/154d93b7f258cdf1157b5e5d61dd9477ffd3db53
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/dpp_combine.ll

  Log Message:
  -----------
  [AMDGPU] Add a negative test for DPP combine into v_mul_lo_u32


  Commit: 30d484fa994577216736e797b6c6e74483a56641
      https://github.com/llvm/llvm-project/commit/30d484fa994577216736e797b6c6e74483a56641
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/RISCV/scatter-vectorize-reversed.ll

  Log Message:
  -----------
  [SLP]Fix a crash when trying to convert masked gather nodes to strided.

Need to check if the loads node is masked gather. Only vectorized loads
can be converted to strided.


  Commit: 2bde13cda1e389599413132028731f18fb5c03c3
      https://github.com/llvm/llvm-project/commit/2bde13cda1e389599413132028731f18fb5c03c3
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang-tools-extra/clangd/Hover.cpp
    M clang/include/clang/AST/ASTNodeTraverser.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTDiagnostic.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/DeclPrinter.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/ODRDiagsEmitter.cpp
    M clang/lib/AST/ODRHash.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    M clang/lib/Index/IndexDecl.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/test/AST/ast-dump-decl.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/unittests/AST/ASTImporterTest.cpp

  Log Message:
  -----------
  [clang] NFCI: use TemplateArgumentLoc for NTTP DefaultArgument (#92852)

This is an enabler for https://github.com/llvm/llvm-project/pull/92855

This allows an NTTP default argument to be set as an arbitrary
TemplateArgument, not just an expression.
This allows template parameter packs to have default arguments in the
AST, even though the language proper doesn't support the syntax for it.

This allows NTTP default arguments to be other kinds of arguments, like
packs, integral constants, and such.


  Commit: cb6a62369a353f506a1dde087eeaf5ebea5d5c26
      https://github.com/llvm/llvm-project/commit/cb6a62369a353f506a1dde087eeaf5ebea5d5c26
  Author: Thomas Symalla <5754458+tsymalla at users.noreply.github.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/lib/IR/IRBuilder.cpp

  Log Message:
  -----------
  Add `AddNull` argument to `CreateGlobalString`. (#93036)

There's currently no way to control whether a null terminator should be
appended to the string created in `CreateGlobalString` /
`CreateGlobalStringPtr`, since the methods don't expose an additional
argument.
This change adds an additional argument to the methods that has the same
default value, `true`, as in `ConstantDataArray::getString`, and passes
it down to this internal method.


  Commit: 5b205956e16e09af117c45e2eab625fce7a05b95
      https://github.com/llvm/llvm-project/commit/5b205956e16e09af117c45e2eab625fce7a05b95
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  [SLP] NFC. Reduce newTreeEntry usage. (#92994)


  Commit: 3c67c227f2e16accd3cdb3aeb4c845edabd2f6c4
      https://github.com/llvm/llvm-project/commit/3c67c227f2e16accd3cdb3aeb4c845edabd2f6c4
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/Interp.cpp
    M clang/test/AST/Interp/unions.cpp

  Log Message:
  -----------
  [clang][Interp] Test non-active union access


  Commit: 821bcba00d5c22c4a829323f8920e0f2dfc1d665
      https://github.com/llvm/llvm-project/commit/821bcba00d5c22c4a829323f8920e0f2dfc1d665
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    A llvm/test/CodeGen/RISCV/GlobalISel/constbarrier-rv32.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/constbarrier-rv64.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-constbarrier-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-constbarrier-rv64.mir

  Log Message:
  -----------
  [GISel] Add narrowScalar/widenScalar support for `G_CONSTANT_FOLD_BARRIER` (#93031)

Fixes an error that llc fails to legalize `G_CONSTANT_FOLD_BARRIER` with
i16/i128: https://godbolt.org/z/f9n6xM3sv


  Commit: c0de13b05f9905dbbc582d234214081dd410db1d
      https://github.com/llvm/llvm-project/commit/c0de13b05f9905dbbc582d234214081dd410db1d
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-lshr-rv64.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/shift.ll

  Log Message:
  -----------
  [GISel][RISCV] Legalize shifts with non-trivial shamt types (#93019)

This patch widens the illegal shamt type `i48` -> `i64` to fix
legalization failure: https://godbolt.org/z/4zMTnoW7h


  Commit: 919df9d75ac2a721a8072327c803f34486884571
      https://github.com/llvm/llvm-project/commit/919df9d75ac2a721a8072327c803f34486884571
  Author: Balazs Benics <benicsbalazs at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/Decl.h
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/unittests/AST/DeclTest.cpp

  Log Message:
  -----------
  [clang][AST] Fix end location of DeclarationNameInfo on instantiated methods (#92654)

Fixes #71161

[D64087](https://reviews.llvm.org/D64087) updated some locations of the
instantiated method but forgot `DNLoc`.

`FunctionDecl::getNameInfo()` constructs a `DeclarationNameInfo` using
`Decl::Loc` as the beginning of the declaration name, and
`FunctionDecl::DNLoc` to compute the end of the declaration name. The
former was updated, but the latter was not, so
`DeclarationName::getSourceRange()` would return a range where the end
of the declaration name could come before its beginning.

Patch by Alejandro Alvarez Ayllon
Co-authored-by: steakhal

CPP-5166

Co-authored-by: Alejandro Alvarez Ayllon <alejandro.alvarez at sonarsource.com>


  Commit: eeb9fcddf5f29ce967442437f15dea174bb04345
      https://github.com/llvm/llvm-project/commit/eeb9fcddf5f29ce967442437f15dea174bb04345
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  [flang][HLFIR][NFC] Use tablegen to reduce assignment pass boilerplate (#93030)

This pass is module-level and then runs on all operations implementing
the ordered assignment interface. It should not matter which top-level
operation the assignment is inside of.

This commit removes some unnecessary boilerplate that we can generate
automatically with tablegen.


  Commit: 101f977f2c218f4a27f3a04b3b324b61c80570d6
      https://github.com/llvm/llvm-project/commit/101f977f2c218f4a27f3a04b3b324b61c80570d6
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp

  Log Message:
  -----------
  [flang][CodeGen] Avoid out-of-bounds memory access in SelectCaseOp (#92955)

`SelectCaseOp::getCompareOperands` may return an empty range for the
"default" case. Do not dereference the range until it is expected to be
non-empty.

This was detected by address-sanitizer.


  Commit: ac1dc05b331d35f341631f798673fe8aafdda53d
      https://github.com/llvm/llvm-project/commit/ac1dc05b331d35f341631f798673fe8aafdda53d
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M lldb/include/lldb/Symbol/CompilerType.h
    M lldb/include/lldb/Symbol/TypeSystem.h
    M lldb/source/Core/ValueObject.cpp
    M lldb/source/Core/ValueObjectConstResultImpl.cpp
    M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.cpp
    M lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
    M lldb/source/Symbol/CompilerType.cpp

  Log Message:
  -----------
  Change GetChildCompilerTypeAtIndex to return Expected (NFC) (#92979)

This change is a general improvement of the internal API. My motivation
is to use this in the Swift typesystem plugin.


  Commit: 4fbc95d1360147e9c4aceeadd1bda17d68364b85
      https://github.com/llvm/llvm-project/commit/4fbc95d1360147e9c4aceeadd1bda17d68364b85
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/EvaluationResult.cpp
    M clang/test/AST/Interp/unions.cpp

  Log Message:
  -----------
  [clang][Interp] Skip union members in default initializers


  Commit: c44fa3e8a9a44c2e9a575768a3c185354b9f6c17
      https://github.com/llvm/llvm-project/commit/c44fa3e8a9a44c2e9a575768a3c185354b9f6c17
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Parse/Parser.h
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Sema/SemaStmtAttr.cpp
    R clang/test/CodeGen/assume_attr.c
    M clang/test/CodeGenCXX/assume_attr.cpp
    M clang/test/OpenMP/assumes_codegen.cpp
    M clang/test/OpenMP/assumes_print.cpp
    M clang/test/OpenMP/assumes_template_print.cpp
    M clang/test/OpenMP/remarks_parallel_in_multiple_target_state_machines.c
    M clang/test/OpenMP/remarks_parallel_in_target_state_machine.c
    R clang/test/Sema/attr-assume.c
    M clang/test/SemaCXX/cxx23-assume.cpp
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/test/Transforms/OpenMP/custom_state_machines.ll
    M llvm/test/Transforms/OpenMP/custom_state_machines_pre_lto.ll
    M llvm/test/Transforms/OpenMP/custom_state_machines_remarks.ll
    M llvm/test/Transforms/OpenMP/spmdization.ll
    M llvm/test/Transforms/OpenMP/spmdization_guarding.ll
    M llvm/test/Transforms/OpenMP/spmdization_remarks.ll
    M openmp/docs/remarks/OMP121.rst
    M openmp/docs/remarks/OMP133.rst
    M openmp/docs/remarks/OptimizationRemarks.rst

  Log Message:
  -----------
  [Clang] Refactor `__attribute__((assume))` (#84934)

This is a followup to #81014 and #84582: Before this patch, Clang 
would accept `__attribute__((assume))` and `[[clang::assume]]` as 
nonstandard spellings for the `[[omp::assume]]` attribute; this 
resulted in a potentially very confusing name clash with C++23’s 
`[[assume]]` attribute (and GCC’s `assume` attribute with the same
semantics).

This pr replaces every usage of `__attribute__((assume))`  with 
`[[omp::assume]]` and makes `__attribute__((assume))` and 
`[[clang::assume]]` alternative spellings for C++23’s `[[assume]]`; 
this shouldn’t cause any problems due to differences in appertainment
and because almost no-one was using this variant spelling to begin
with (a use in libclc has already been changed to use a different
attribute).


  Commit: dbfedc6b270256d62439271274ed2314fed9ca9c
      https://github.com/llvm/llvm-project/commit/dbfedc6b270256d62439271274ed2314fed9ca9c
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M offload/plugins-nextgen/cuda/dynamic_cuda/cuda.h

  Log Message:
  -----------
  [Offload] Use newer CUDA API functions when dynamically loaded (#93057)

Summary:
CUDA does its versioning by putting a redirection in the header so the
API functions remain the same while the symbol changes. These weren't
being used for some functions that required it in the dynamic cuda
version.

These functions have newer verisons that should be used. These are
fairly old as far as I'm aware so we should be able to sweep backward
compatibility under the rug.


  Commit: b586149475d71440e4ef444f5df34630101bc669
      https://github.com/llvm/llvm-project/commit/b586149475d71440e4ef444f5df34630101bc669
  Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Tensor/Transforms/Transforms.h
    M mlir/lib/Dialect/Tensor/Transforms/EmptyOpPatterns.cpp
    M mlir/test/Dialect/Tensor/canonicalize.mlir
    M mlir/test/Dialect/Tensor/fold-empty-op.mlir

  Log Message:
  -----------
  [mlir][tensor] Fold pack and unpack of empty input tensor (#92247)

Extends `tensor.empty` folding patterns with pack and unpack consumers
to fold away the operations when their source is empty.


  Commit: 7c5c8b2f479fbed6afcd4072bdef76ea867577de
      https://github.com/llvm/llvm-project/commit/7c5c8b2f479fbed6afcd4072bdef76ea867577de
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M bolt/include/bolt/Profile/BoltAddressTranslation.h
    M bolt/lib/Profile/BoltAddressTranslation.cpp

  Log Message:
  -----------
  [BOLT][NFC] Move BAT::fetchParentAddress to header (#93061)

Unbreak shared build after
https://github.com/llvm/llvm-project/pull/91683


  Commit: c8fc234ee28d0e2a10bd88bae391cb3e32e2ee77
      https://github.com/llvm/llvm-project/commit/c8fc234ee28d0e2a10bd88bae391cb3e32e2ee77
  Author: shaw young <58664393+shawbyoung at users.noreply.github.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M bolt/include/bolt/Profile/BoltAddressTranslation.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryEmitter.cpp
    M bolt/lib/Core/DynoStats.cpp
    M bolt/lib/Passes/BinaryFunctionCallGraph.cpp
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/lib/Passes/CacheMetrics.cpp
    M bolt/lib/Passes/Inliner.cpp
    M bolt/lib/Profile/StaleProfileMatching.cpp

  Log Message:
  -----------
  [BOLT][NFC] Eliminate uses of throwing std::map::at (#92950)

Remove calls to std::unordered_map::at, std::map::at, and
std::vector::at.


  Commit: 37e4945a8ac26fbeccb1626dbc4a1ffa7b5825d6
      https://github.com/llvm/llvm-project/commit/37e4945a8ac26fbeccb1626dbc4a1ffa7b5825d6
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M bolt/include/bolt/Passes/MCF.h
    M bolt/lib/Passes/MCF.cpp

  Log Message:
  -----------
  [BOLT][NFC] Clean up MCF (#93065)

Drop unimplemented solveMCF and remnants of it.


  Commit: 4ea21a0261cd8599a9ffa15f5c554ab0d4bbbe27
      https://github.com/llvm/llvm-project/commit/4ea21a0261cd8599a9ffa15f5c554ab0d4bbbe27
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [Clang] [NFC] Add release note about libstdc++ bug (#93059)

Adding a release note about this as discussed in #92439. 

---------

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


  Commit: e8dd4df72bb5f63a235359d46d7825fe46761ed2
      https://github.com/llvm/llvm-project/commit/e8dd4df72bb5f63a235359d46d7825fe46761ed2
  Author: Tyler Lanphear <tylanphear at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  [NFC][TTI] Mark `getReplicationShuffleCost()` as `const` (#92194)


  Commit: 271eb0686b7b0f9d2e016751399b948ccbbe7925
      https://github.com/llvm/llvm-project/commit/271eb0686b7b0f9d2e016751399b948ccbbe7925
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M libcxx/include/__exception/exception_ptr.h
    M libcxx/include/__locale
    M libcxxabi/include/cxxabi.h
    M libcxxabi/src/cxa_exception.cpp
    M libcxxabi/src/cxa_exception.h

  Log Message:
  -----------
  [WebAssembly] Upstream misc. EH changes (#92990)

This upstreams more recent, mostly EH changes from libcxx and libcxxabi:
- `__cxa_init_primary_exception`-related changes made when updating to
LLVM 18.1.2 (https://github.com/emscripten-core/emscripten/pull/21638)
- Removes ctype macros
(https://github.com/emscripten-core/emscripten/pull/20960)
- Guard destructor changes with `__wasm__`
(https://github.com/emscripten-core/emscripten/pull/21974)


  Commit: 6262763341fcd71a2b0708cf7485f9abd1d26ba8
      https://github.com/llvm/llvm-project/commit/6262763341fcd71a2b0708cf7485f9abd1d26ba8
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/include/llvm/Bitcode/BitcodeWriter.h
    M llvm/include/llvm/LTO/legacy/ThinLTOCodeGenerator.h
    M llvm/include/llvm/Transforms/IPO/FunctionImport.h
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/test/ThinLTO/X86/import_callee_declaration.ll
    M llvm/tools/llvm-lto/llvm-lto.cpp

  Log Message:
  -----------
  [ThinLTO][Bitcode] Generate import type in bitcode (#87600)

For distributed ThinLTO, the LTO indexing step generates combined
summary for each module, and postlink pipeline reads the combined
summary which stores the information for link-time optimization.

This patch populates the 'import type' of a summary in bitcode, and
updates bitcode reader to parse the bit correctly.


  Commit: 135ddd80bedc747405bd8d93be1dd1da1bee4bcc
      https://github.com/llvm/llvm-project/commit/135ddd80bedc747405bd8d93be1dd1da1bee4bcc
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86FixupBWInsts.cpp
    M llvm/test/CodeGen/X86/opt-pipeline.ll

  Log Message:
  -----------
  [X86] Remove unused MachineLoopInfo from X86FixupBWInsts. NFC (#92984)


  Commit: 9f0e59f3c1a56fd14025df973c9f944010efe09a
      https://github.com/llvm/llvm-project/commit/9f0e59f3c1a56fd14025df973c9f944010efe09a
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M flang/test/Semantics/OpenMP/single01.f90
    M flang/test/Semantics/OpenMP/single02.f90
    M flang/test/Semantics/OpenMP/symbol01.f90
    M flang/test/Semantics/OpenMP/symbol02.f90
    M flang/test/Semantics/OpenMP/symbol03.f90
    M flang/test/Semantics/OpenMP/symbol04.f90
    M flang/test/Semantics/OpenMP/symbol05.f90
    M flang/test/Semantics/OpenMP/symbol06.f90
    M flang/test/Semantics/OpenMP/symbol07.f90
    M flang/test/Semantics/OpenMP/symbol08.f90
    M flang/test/Semantics/OpenMP/symbol09.f90
    M flang/test/Semantics/OpenMP/threadprivate01.f90
    M flang/test/Semantics/OpenMP/threadprivate02.f90
    M flang/test/Semantics/OpenMP/threadprivate03.f90
    M flang/test/Semantics/OpenMP/threadprivate04.f90
    M flang/test/Semantics/OpenMP/threadprivate05.f90
    M flang/test/Semantics/OpenMP/threadprivate06.f90
    M flang/test/Semantics/OpenMP/threadprivate07.f90

  Log Message:
  -----------
  [Flang][OpenMP] Re-enable tests on windows 2/n (#93013)

Re-enables the single, symbol and threadprivate tests


  Commit: 8df5a37b848c6ac5a68b56eeddb4a7746b84d288
      https://github.com/llvm/llvm-project/commit/8df5a37b848c6ac5a68b56eeddb4a7746b84d288
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.cpp

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

This patch fixes:

  lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.cpp:839:7: error:
  ignoring return value of function declared with 'nodiscard'
  attribute [-Werror,-Wunused-result]


  Commit: f203cb03d93240cfd79e603b742006f96227a00b
      https://github.com/llvm/llvm-project/commit/f203cb03d93240cfd79e603b742006f96227a00b
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/test/CXX/expr/expr.unary/expr.sizeof/p5-0x.cpp

  Log Message:
  -----------
  Fix a benign typo in a test; NFC

We were still matching the expected diagnostic, but this ensures we
match the opening quotation mark as well.


  Commit: f2bbb4cb3e211de82987b280aa98565bd3ff6ce7
      https://github.com/llvm/llvm-project/commit/f2bbb4cb3e211de82987b280aa98565bd3ff6ce7
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-div-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-div-rv64.mir

  Log Message:
  -----------
  [GISel][RISCV] Legalize `G_{U|S}DIVREM` (#93067)

This patch expands `G_{U|S}DIVREM` into `G_{U|S}DIV + G_{U|S}REM`.
`G_{U|S}DIVREM` is generated by the following fold:

https://github.com/llvm/llvm-project/blob/4ea21a0261cd8599a9ffa15f5c554ab0d4bbbe27/llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp#L1410-L1471

It always folds `div + rem` pairs into `divrem` during pre-legalization.
I tried to change `isLegalOrBeforeLegalizer` to `isLegal`, but it
produced worse codegen on AArch64.


  Commit: e558d21e87882d40e29d858b1269ee8f1ddf2a38
      https://github.com/llvm/llvm-project/commit/e558d21e87882d40e29d858b1269ee8f1ddf2a38
  Author: Kevin Frei <kevinfrei at users.noreply.github.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M lldb/include/lldb/Host/Config.h.cmake
    M lldb/packages/Python/lldbsuite/test/decorators.py
    M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
    M lldb/source/API/SBDebugger.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
    M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
    A lldb/test/API/debuginfod/Normal/Makefile
    A lldb/test/API/debuginfod/Normal/TestDebuginfod.py
    A lldb/test/API/debuginfod/Normal/main.c
    A lldb/test/API/debuginfod/SplitDWARF/Makefile
    A lldb/test/API/debuginfod/SplitDWARF/TestDebuginfodDWP.py
    A lldb/test/API/debuginfod/SplitDWARF/main.c

  Log Message:
  -----------
  [lldb] Added Debuginfod tests and fixed a couple issues (#92572)

Here we go with attempt number five. Again, no changes to the LLDB code
diff, which has been reviewed several times.

For the tests, I added a `@skipIfCurlSupportMissing` annotation so that
the Debuginfod mocked server stuff won't run, and I also disabled
non-Linux/FreeBSD hosts altogether, as they fail for platform reasons on
macOS and Windows. In addition, I updated the process for extracting the
GNU BuildID to no create a target, per some feedback on the previous
diff.

For reference, previous PR's (landed, backed out after the fact for
various reasons) #90622, #87676, #86812, #85693

---------

Co-authored-by: Kevin Frei <freik at meta.com>


  Commit: dfc6a1936731b545ad0880a9c52bd043e4c4309d
      https://github.com/llvm/llvm-project/commit/dfc6a1936731b545ad0880a9c52bd043e4c4309d
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/test/OpenMP/distribute_firstprivate_messages.cpp
    M clang/test/OpenMP/distribute_parallel_for_firstprivate_messages.cpp
    M clang/test/OpenMP/distribute_parallel_for_lastprivate_messages.cpp
    M clang/test/OpenMP/distribute_parallel_for_private_messages.cpp
    M clang/test/OpenMP/distribute_parallel_for_reduction_messages.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_private_messages.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_shared_messages.cpp
    M clang/test/OpenMP/distribute_simd_firstprivate_messages.cpp
    M clang/test/OpenMP/distribute_simd_lastprivate_messages.cpp
    M clang/test/OpenMP/distribute_simd_loop_messages.cpp
    M clang/test/OpenMP/distribute_simd_private_messages.cpp
    M clang/test/OpenMP/distribute_simd_reduction_messages.cpp
    M clang/test/OpenMP/reduction_implicit_map.cpp
    M clang/test/OpenMP/requires_default_atomic_mem_order_messages.cpp
    M clang/test/OpenMP/requires_messages.cpp
    M clang/test/OpenMP/target_device_ancestor_messages.cpp
    M clang/test/OpenMP/target_firstprivate_messages.cpp
    M clang/test/OpenMP/target_map_messages.cpp
    M clang/test/OpenMP/target_parallel_for_private_messages.cpp
    M clang/test/OpenMP/target_parallel_for_simd_private_messages.cpp
    M clang/test/OpenMP/target_private_messages.cpp
    M clang/test/OpenMP/target_simd_private_messages.cpp
    M clang/test/OpenMP/target_teams_distribute_firstprivate_messages.cpp
    M clang/test/OpenMP/teams_distribute_loop_messages.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_loop_messages.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_loop_messages.cpp
    M clang/test/OpenMP/teams_distribute_simd_loop_messages.cpp

  Log Message:
  -----------
  Reword OpenMP diagnostics for style; NFC

Three different OpenMP diagnostics were starting with a capital letter,
so this makes them all lowercase and updates the tests accordingly.


  Commit: 50574638140dc5083d0f272c5279f2ee5d97a833
      https://github.com/llvm/llvm-project/commit/50574638140dc5083d0f272c5279f2ee5d97a833
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M bolt/include/bolt/Profile/BoltAddressTranslation.h
    M bolt/lib/Profile/BoltAddressTranslation.cpp

  Log Message:
  -----------
  [BOLT][NFC] Make BAT methods const (#91823)


  Commit: 562c479c6e953f547f95bf6adfb1b17d4c9976be
      https://github.com/llvm/llvm-project/commit/562c479c6e953f547f95bf6adfb1b17d4c9976be
  Author: Thomas Fransham <tfransham at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/include/llvm/Object/ObjectFile.h

  Log Message:
  -----------
  Set ObjectFile's assignment operator to also be deleted like its copy constructor (#93072)

Reapply https://github.com/llvm/llvm-project/pull/92942, this time
double checking it compiles. @vgvassilev, @compnerd.


  Commit: 554c47c8e925c5a1d26bd8590695155086a15ab7
      https://github.com/llvm/llvm-project/commit/554c47c8e925c5a1d26bd8590695155086a15ab7
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/crash_extract_subvector_cost.ll
    M llvm/test/Transforms/SLPVectorizer/X86/blending-shuffle.ll

  Log Message:
  -----------
  [SLP]Fix undef poison vector values shuffles with poisonous vectors.

If trying to find vector value in shuffling of the extractelements and
one of the vector values is undef value, need to generate real mask value
for such vector and either undef vector, or incoming second vector, if
  non-poisonous.


  Commit: cc3b6c3ba9c0dd7df0fd7ac23c8609c4675dd62a
      https://github.com/llvm/llvm-project/commit/cc3b6c3ba9c0dd7df0fd7ac23c8609c4675dd62a
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/test/Sema/x86-eval-method.c
    M clang/test/Sema/x86_64-eval-method.c

  Log Message:
  -----------
  Fix more diagnostic wording for style; NFC


  Commit: 96378b3da8c5980471af0046feb0427c77f16c60
      https://github.com/llvm/llvm-project/commit/96378b3da8c5980471af0046feb0427c77f16c60
  Author: shaw young <58664393+shawbyoung at users.noreply.github.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M bolt/lib/Profile/StaleProfileMatching.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Utils/CommandLineOpts.cpp

  Log Message:
  -----------
  [BOLT] Add NamedRegionTimer to inferStaleProfile (#93078)


  Commit: c618ae17341315af5fcc97ffd3ed2b19f6d9e412
      https://github.com/llvm/llvm-project/commit/c618ae17341315af5fcc97ffd3ed2b19f6d9e412
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M offload/CMakeLists.txt
    M offload/cmake/Modules/LibomptargetGetDependencies.cmake
    M offload/plugins-nextgen/amdgpu/CMakeLists.txt
    M offload/plugins-nextgen/cuda/CMakeLists.txt
    M openmp/docs/SupportAndFAQ.rst

  Log Message:
  -----------
  [Offload] Rework handling for loading vendor runtimes (#93073)

Summary:
We previously had multiple options for this, this patch replaces them
with `LIBOMPTARGET_DLOPEN_PLUGINS=` to be a list of plugins to
dynamically use. It defaults to everything right now. This ignores the
`host` plugin because the `libffi` dependency is going to be removed
soon hopefully in https://github.com/llvm/llvm-project/pull/91264.


  Commit: 29456e9bcc478d458f40a93d309f992f0a314523
      https://github.com/llvm/llvm-project/commit/29456e9bcc478d458f40a93d309f992f0a314523
  Author: Zaara Syeda <syzaara at ca.ibm.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    A llvm/test/CodeGen/PowerPC/toc-data-no-data-sections.ll

  Log Message:
  -----------
  [PowerPC] Fix assembler error with toc-data and data-sections (#91976)

We should not emit the label for the toc-data variable when
data-sections=false.


  Commit: 0370beb230a35f00b7d07c50ab95f8777662a0c6
      https://github.com/llvm/llvm-project/commit/0370beb230a35f00b7d07c50ab95f8777662a0c6
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/Sema.h
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/Sema/SemaLambda.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/test/CXX/drs/cwg28xx.cpp
    M clang/test/CodeGenCXX/cxx2b-deducing-this.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [Clang] Perform derived-to-base conversion on explicit object parameter in lambda (#89828)

Consider this code:
```c++
template <typename... Ts>
struct Overloaded : Ts... { using Ts::operator()...; };

template <typename... Ts>
Overloaded(Ts...) -> Overloaded<Ts...>;

void f() {
  int x;
  Overloaded o {
    [&](this auto& self) {
      return &x;
    }
  };
  o();
}
```

To access `x` in the lambda, we need to perform derived-to-base
conversion on `self` (since the type of `self` is not the lambda type,
but rather `Overloaded<(lambda type)>`). We were previously missing this
step, causing us to attempt to load the entire lambda (as the base
class, it would end up being the ‘field’ with index `0` here), which
would then assert later on in codegen.

Moreover, this is only valid in the first place if there is a unique and
publicly accessible cast path from the derived class to the lambda’s
type, so this also adds a check in Sema to diagnose problematic
cases.

This fixes #87210 and fixes #89541.


  Commit: 9329b20d5d906c59f7d21ac013b908930d496374
      https://github.com/llvm/llvm-project/commit/9329b20d5d906c59f7d21ac013b908930d496374
  Author: Kunwar Grover <groverkss at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/SCF/Transforms/TileUsingInterface.h
    M mlir/include/mlir/Interfaces/TilingInterface.td
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/MeshShardingInterfaceImpl.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
    M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
    M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
    M mlir/test/Dialect/Linalg/transform-tile-reduction.mlir

  Log Message:
  -----------
  [mlir][TilingInterface] Allow multiple results in PartialReductionOpInterface (#92624)

This patch adds support for reducing operations with multiple results
using PartialReductionOpInterface. Also adds an implementation of
PartialReductionOpInterface for multiple results for linalg.generic.


  Commit: da88e7fbd74cef33411bb5115f20e4b474d2d8b1
      https://github.com/llvm/llvm-project/commit/da88e7fbd74cef33411bb5115f20e4b474d2d8b1
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  [Clang] Remove parameter that shouldn't be there (#93086)

The parameter of `getAddress()` was not being used, as I recall, and
seems to have been removed in the meantime. Merging this w/o review
since this is breaking builds.


  Commit: 8baf96f3060bc26a308b3614feed4117e5299d3c
      https://github.com/llvm/llvm-project/commit/8baf96f3060bc26a308b3614feed4117e5299d3c
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/test/Analysis/builtin_signbit.cpp
    M clang/test/CodeGen/catch-nullptr-and-nonzero-offset.c
    M clang/test/CodeGen/constantexpr-fneg.c
    M clang/test/CodeGenCXX/cxx11-thread-local.cpp
    M clang/test/CodeGenCXX/ubsan-nullability-arg.cpp
    M clang/test/CodeGenCXX/weak-external.cpp
    M clang/test/Driver/linker-wrapper-image.c
    M clang/test/OpenMP/threadprivate_codegen.cpp
    M llvm/include/llvm/Analysis/TargetFolder.h
    M llvm/include/llvm/IR/ConstantFolder.h
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/IR/ConstantFold.cpp
    M llvm/test/Assembler/ConstantExprFold.ll
    M llvm/test/Assembler/ConstantExprNoFold.ll
    M llvm/test/Assembler/vector-cmp.ll
    M llvm/test/CodeGen/AMDGPU/lower-ctor-dtor-constexpr-alias.ll
    M llvm/test/CodeGen/AMDGPU/lower-ctor-dtor.ll
    M llvm/test/CodeGen/AMDGPU/lower-multiple-ctor-dtor.ll
    M llvm/test/Instrumentation/MemorySanitizer/check-constant-shadow.ll
    M llvm/test/Instrumentation/SanitizerBinaryMetadata/atomics.ll
    M llvm/test/Transforms/Attributor/value-simplify.ll
    M llvm/test/Transforms/InstCombine/binop-select-cast-of-select-cond.ll
    M llvm/test/Transforms/InstCombine/constant-fold-address-space-pointer.ll
    M llvm/test/Transforms/InstCombine/getelementptr.ll
    M llvm/test/Transforms/InstCombine/hoist-xor-by-constant-from-xor-by-value.ll
    M llvm/test/Transforms/InstCombine/pr33453.ll
    M llvm/test/Transforms/InstCombine/pr83947.ll
    M llvm/test/Transforms/InstCombine/rem.ll
    M llvm/test/Transforms/InstCombine/select-and-or.ll
    M llvm/test/Transforms/InstCombine/select-safe-transforms.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/bitcast.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/icmp-global.ll
    M llvm/test/Transforms/InstSimplify/bitcast-vector-fold.ll
    M llvm/test/Transforms/InstSimplify/compare.ll
    M llvm/test/Transforms/InstSimplify/past-the-end.ll
    M llvm/test/Transforms/JumpThreading/constant-fold-status.ll
    M llvm/test/Transforms/LowerTypeTests/cfi-direct-call1.ll
    M llvm/test/Transforms/LowerTypeTests/function-weak.ll
    M llvm/test/Transforms/SCCP/conditions-ranges.ll
    M llvm/test/Transforms/SimplifyCFG/phi-to-select-constexpr-icmp.ll

  Log Message:
  -----------
  Revert "[IR] Avoid creating icmp/fcmp constant expressions" (#93087)

Reverts llvm/llvm-project#92885 due to LLDB CI breakages.


  Commit: 0a62a99aa610a7a8cf739208603646bc01b37347
      https://github.com/llvm/llvm-project/commit/0a62a99aa610a7a8cf739208603646bc01b37347
  Author: David Green <david.green at arm.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectOptimize.cpp
    M llvm/test/CodeGen/AArch64/selectopt-not.ll

  Log Message:
  -----------
  [SelectOpt] Add handling for not conditions. (#92517)

This patch attempts to help the SelectOpt pass detect select groups made
up of conditions and not(conditions). Usually these are canonicalized in
instcombine to remove the not and invert the true/false values, but this
will not happen for Loginal operations, which can be beneficial to
convert if they are part of a larger select group. The handling for
not's are mostly handled in the SelectLike, which can be marked as
Inverted in order to reverse the TrueValue and FalseValue.

This helps fix a regression in fortran minloc constructs, after #84628
helped simplify a loop with branches into a loop with selects.


  Commit: 990bed64fb2df0857471b954f9f9ef0e1a0a8fc4
      https://github.com/llvm/llvm-project/commit/990bed64fb2df0857471b954f9f9ef0e1a0a8fc4
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.pops.exiting.wave.id.ll

  Log Message:
  -----------
  [AMDGPU] New intrinsic llvm.amdgcn.pops.exiting.wave.id (#89612)

This provides access to the special scalar source value
SRC_POPS_EXITING_WAVE_ID on GFX9 and GFX10.


  Commit: f3dc732b3623c86164f9d95f7563f982cecc5558
      https://github.com/llvm/llvm-project/commit/f3dc732b3623c86164f9d95f7563f982cecc5558
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M bolt/include/bolt/Passes/MCF.h
    M bolt/lib/Passes/MCF.cpp
    M bolt/lib/Profile/DataReader.cpp
    M bolt/lib/Profile/YAMLProfileReader.cpp
    M bolt/lib/Rewrite/BinaryPassManager.cpp

  Log Message:
  -----------
  [BOLT][NFC] Make estimateEdgeCounts a BinaryFunctionPass (#93074)


  Commit: ff3f41deb04c03ba57658776e4e0dc26ef01187d
      https://github.com/llvm/llvm-project/commit/ff3f41deb04c03ba57658776e4e0dc26ef01187d
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/test/CXX/temp/temp.decls/temp.alias/p2.cpp
    M clang/test/SemaTemplate/cwg2398.cpp

  Log Message:
  -----------
  [clang] Implement CWG2398 provisional TTP matching to class templates (#92855)

This solves some ambuguity introduced in P0522 regarding how template
template parameters are partially ordered, and should reduce the
negative impact of enabling `-frelaxed-template-template-args` by
default.

When performing template argument deduction, we extend the provisional
wording introduced in https://github.com/llvm/llvm-project/pull/89807 so
it also covers deduction of class templates.

Given the following example:
```C++
template <class T1, class T2 = float> struct A;
template <class T3> struct B;

template <template <class T4> class TT1, class T5> struct B<TT1<T5>>;   // #1
template <class T6, class T7>                      struct B<A<T6, T7>>; // #2

template struct B<A<int>>;
```
Prior to P0522, `#2` was picked. Afterwards, this became ambiguous. This
patch restores the pre-P0522 behavior, `#2` is picked again.

This has the beneficial side effect of making the following code valid:
```C++
template<class T, class U> struct A {};
A<int, float> v;
template<template<class> class TT> void f(TT<int>);

// OK: TT picks 'float' as the default argument for the second parameter.
void g() { f(v); }
```

---

Since this changes provisional implementation of CWG2398 which has not
been released yet, and already contains a changelog entry, we don't
provide a changelog entry here.


  Commit: 47ed2bfa711efe85b1149c3800f9c66fdc83ae70
      https://github.com/llvm/llvm-project/commit/47ed2bfa711efe85b1149c3800f9c66fdc83ae70
  Author: dpalermo <dan.palermo at amd.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M flang/CMakeLists.txt

  Log Message:
  -----------
  [flang] cmake fix for FLANG_RUNTIME_F128_MATH_LIB build (#93054)

Remove an extra '-D' in the call to add_compile_definitions. The extra
-D causes -D-DFLANG_RUNTIME_F128_MATH_LIB=libquadmath to appear in
compile options which results in a compilation failure. This occurs only
on systems using cmake versions 3.22.1 or 3.24.3. Using cmake 3.28.1
seems to automatically remove the duplicate -D.

Fixes https://github.com/llvm/llvm-project/pull/81971


  Commit: bd3f5a4bd3d9d7ee8ae801c24c5081073b20abd4
      https://github.com/llvm/llvm-project/commit/bd3f5a4bd3d9d7ee8ae801c24c5081073b20abd4
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M libcxx/include/__algorithm/pstl_copy.h
    M libcxx/include/__algorithm/pstl_count.h
    M libcxx/include/__algorithm/pstl_equal.h
    M libcxx/include/__algorithm/pstl_fill.h
    M libcxx/include/__algorithm/pstl_find.h
    M libcxx/include/__algorithm/pstl_generate.h
    M libcxx/include/__algorithm/pstl_is_partitioned.h
    M libcxx/include/__algorithm/pstl_merge.h
    M libcxx/include/__algorithm/pstl_replace.h
    M libcxx/include/__algorithm/pstl_sort.h
    R libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.modifying.operations/alg.move/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.nonmodifying/alg.any_of/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.nonmodifying/alg.none_of/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.sorting/alg.merge/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/numeric.ops/reduce/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/numeric.ops/reduce/pstl.reduce.pass.cpp
    R libcxx/test/std/algorithms/numeric.ops/transform.reduce/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/numeric.ops/transform.reduce/pstl.transform_reduce.binary.pass.cpp
    R libcxx/test/std/algorithms/numeric.ops/transform.reduce/pstl.transform_reduce.unary.pass.cpp
    A libcxx/test/std/algorithms/pstl.exception_handling.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/reduce/pstl.reduce.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/transform.reduce/pstl.transform_reduce.binary.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/transform.reduce/pstl.transform_reduce.unary.pass.cpp

  Log Message:
  -----------
  [libc++][pstl] Improve exception handling (#88998)

There were various places where we incorrectly handled exceptions in the
PSTL. Typical issues were missing `noexcept` and taking iterators by
value instead of by reference.

This patch fixes those inconsistent and incorrect instances, and adds
proper tests for all of those. Note that the previous tests were often
incorrectly turned into no-ops by the compiler due to copy ellision,
which doesn't happen with these new tests.


  Commit: d635b860f3d660b1b31692a231284afe47a9c8a2
      https://github.com/llvm/llvm-project/commit/d635b860f3d660b1b31692a231284afe47a9c8a2
  Author: Boian Petkantchin <boian.petkantchin at amd.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Mesh/IR/MeshBase.td
    M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.h
    M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.h
    M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.td
    M mlir/lib/Dialect/Linalg/Transforms/MeshShardingInterfaceImpl.cpp
    M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
    M mlir/lib/Dialect/Mesh/Interfaces/ShardingInterface.cpp
    M mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp
    M mlir/lib/Dialect/Mesh/Transforms/Spmdization.cpp
    A mlir/test/Dialect/Linalg/mesh-sharding-propagation.mlir
    M mlir/test/Dialect/Mesh/sharding-propagation.mlir
    M mlir/test/Dialect/Mesh/spmdization.mlir

  Log Message:
  -----------
  [mlir][mesh] Insert resharding during sharding propagation (#84514)

If there are conflicts between the sharding annotations of some op,
insert resharding.
Make the Spmdization pass more forgiving to allow for more than 2
chained `mesh.shard` ops.

Implement `getReductionLoopIteratorKinds` in ShardingInterface for
linalg ops.


  Commit: 6de14c61e40aa12b85d97bdd91e037a2def824d2
      https://github.com/llvm/llvm-project/commit/6de14c61e40aa12b85d97bdd91e037a2def824d2
  Author: Miguel Saldivar <miguel.saldivar at hpe.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    A llvm/test/CodeGen/AArch64/sve-pr92779.ll

  Log Message:
  -----------
  [AArch64][SVE2] UZP should only have one result (#93041)

`UZP1` and `UZP2` are only expecting one result value, so this `getNode`
call should be updated to match that.

This is in response to #92779.


  Commit: 25b65be43df56c1b7bea3fe2596fb36c2788d7af
      https://github.com/llvm/llvm-project/commit/25b65be43df56c1b7bea3fe2596fb36c2788d7af
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/CodeGen/RISCV/loop-strength-reduce-loop-invar.ll

  Log Message:
  -----------
  [RISCV][LSR] Account for temporary register for base addition (#92296)

An LSR formula may require the addition of multiple base or scale
registers, this sum reduction requires a temporary register to perform.
Since the formulas are independent, we only need one temporary,
regardless of the number of unique formula. Each formula can reuse the
same temporary. A later CSE pass may come along and combine
sub-expressions - but then the register pressure would be that passes
problem to consider.

This change fixes up the costing in the RISCV specific way, but this is
really a generic LSR problem. I just didn't feel like fighting with LSR
and dealing with all the various targets swinging slightly in hard to
reason about ways. This problem is more pronounced on RISCV than any
other target due to our lack of addressing modes.

This change is not hugely important on it's own, but I have an upcoming
change to add support fo shNadd in LSR which biases us fairly strongly
towards adding more "base adds". Without this change, we see net
regression due to the increase in register pressure which is not
accounted for.


  Commit: 848bef5d8549cdc79bb0eb3c5a8e0495e432b577
      https://github.com/llvm/llvm-project/commit/848bef5d8549cdc79bb0eb3c5a8e0495e432b577
  Author: Chinmay Deshpande <chinmay1dd at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/include/llvm/MCA/InstrBuilder.h
    M llvm/lib/MCA/InstrBuilder.cpp
    A llvm/test/tools/llvm-mca/X86/call-latency.s
    M llvm/tools/llvm-mca/llvm-mca.cpp
    M llvm/unittests/tools/llvm-mca/MCATestBase.cpp
    M llvm/unittests/tools/llvm-mca/X86/TestIncrementalMCA.cpp

  Log Message:
  -----------
  [llvm-mca] Add command line option -call-latency (#92958)

Currently we assume a constant latency of 100 cycles for call
instructions. This commit allows the user to specify a custom value for
the same as a command line argument. Default latency is set to 100.


  Commit: 1529ec085a31e60fa4de0bed27a5ba88b1a7d7fa
      https://github.com/llvm/llvm-project/commit/1529ec085a31e60fa4de0bed27a5ba88b1a7d7fa
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M bolt/lib/Profile/CMakeLists.txt
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp

  Log Message:
  -----------
  [BOLT][NFC] Move out PrintProgramStats from Profile into Rewrite (#93075)

Eliminate the dependence of Profile on Passes.

Test Plan: NFC


  Commit: c93a67038dcc1adeafa74e105fba02714732097a
      https://github.com/llvm/llvm-project/commit/c93a67038dcc1adeafa74e105fba02714732097a
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M lldb/include/lldb/Host/Config.h.cmake
    M lldb/packages/Python/lldbsuite/test/decorators.py
    M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
    M lldb/source/API/SBDebugger.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
    M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
    R lldb/test/API/debuginfod/Normal/Makefile
    R lldb/test/API/debuginfod/Normal/TestDebuginfod.py
    R lldb/test/API/debuginfod/Normal/main.c
    R lldb/test/API/debuginfod/SplitDWARF/Makefile
    R lldb/test/API/debuginfod/SplitDWARF/TestDebuginfodDWP.py
    R lldb/test/API/debuginfod/SplitDWARF/main.c

  Log Message:
  -----------
  Revert "[lldb] Added Debuginfod tests and fixed a couple issues" (#93094)

Reverts llvm/llvm-project#92572 due to Fuchsia CI breakages (using CLI
tools in tests that weren't necessarily built).


  Commit: a79acb0ce56422aeaadf82b8eeb5001108c23f94
      https://github.com/llvm/llvm-project/commit/a79acb0ce56422aeaadf82b8eeb5001108c23f94
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/lib/Rewrite/RewriteInstance.cpp

  Log Message:
  -----------
  [BOLT] Fix setHasSymbolsWithFileName (#92625)

The function is used to ignore the parameter and set
`HasSymbolsWithFileName` unconditionally.


  Commit: 3061fed2f05cde574c84a26c702b1e7932fa4d7e
      https://github.com/llvm/llvm-project/commit/3061fed2f05cde574c84a26c702b1e7932fa4d7e
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M bolt/include/bolt/Profile/BoltAddressTranslation.h

  Log Message:
  -----------
  [BOLT][NFC] Simplify FuncHashesTy (#91815)

Make EntryTy a thin wrapper struct.


  Commit: 0ee6646d6fb3b0b9a3655b14bd1cbc18a4e99600
      https://github.com/llvm/llvm-project/commit/0ee6646d6fb3b0b9a3655b14bd1cbc18a4e99600
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M flang/test/Semantics/OpenMP/allocate-clause01.f90
    M flang/test/Semantics/OpenMP/allocate-directive.f90
    M flang/test/Semantics/OpenMP/atomic-hint-clause.f90
    M flang/test/Semantics/OpenMP/clause-validity01.f90
    M flang/test/Semantics/OpenMP/combined-constructs.f90
    M flang/test/Semantics/OpenMP/common-block.f90
    M flang/test/Semantics/OpenMP/compiler-directive.f90
    M flang/test/Semantics/OpenMP/copyin01.f90
    M flang/test/Semantics/OpenMP/copyin02.f90
    M flang/test/Semantics/OpenMP/copyin03.f90
    M flang/test/Semantics/OpenMP/copyin04.f90
    M flang/test/Semantics/OpenMP/copyin05.f90
    M flang/test/Semantics/OpenMP/copying.f90
    M flang/test/Semantics/OpenMP/copyprivate01.f90
    M flang/test/Semantics/OpenMP/copyprivate02.f90
    M flang/test/Semantics/OpenMP/copyprivate03.f90
    M flang/test/Semantics/OpenMP/critical-empty.f90
    M flang/test/Semantics/OpenMP/critical-hint-clause.f90

  Log Message:
  -----------
  [Flang][OpenMP] Re-enable tests on windows 3/n (#93070)

Enables copying, copyprivate, critical, and a few other tests


  Commit: c98a79939234e41f5b95ddfa1651c732daa10cda
      https://github.com/llvm/llvm-project/commit/c98a79939234e41f5b95ddfa1651c732daa10cda
  Author: David Blaikie <dblaikie at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  NFC: DebugInfo: use early return to reduce indentation


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

  Changed paths:
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/Numeric.h
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
    A flang/test/Lower/Intrinsics/selected_logical_kind.f90

  Log Message:
  -----------
  [flang] Lower selected_logical_kind to its runtime call (#93091)

Runtime support has been added in #89691. This patch adds lowering in a
similar way than `selected_int_kind` and `selected_real_kind`.


  Commit: 66db7c609cebb8aa7db17f83fbc9f79be0cd5af1
      https://github.com/llvm/llvm-project/commit/66db7c609cebb8aa7db17f83fbc9f79be0cd5af1
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/Numeric.h
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
    A flang/test/Lower/Intrinsics/selected_char_kind.f90

  Log Message:
  -----------
  [flang] Lower selected_char_kind to runtime call (#93095)

Runtime support has been added in
https://github.com/llvm/llvm-project/pull/89691. This patch adds
lowering in a similar way than `selected_int_kind`, `selected_real_kind`
and `selected_logical_kind` added in #93091.

Some gfortran tests can be enabled after this patch is landed.

- `Fortran/gfortran/regression/selected_char_kind_1.f90`
- `Fortran/gfortran/regression/selected_char_kind_4.f90`


  Commit: ab29203e465aefc158eb718cbb478edae1535db6
      https://github.com/llvm/llvm-project/commit/ab29203e465aefc158eb718cbb478edae1535db6
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
    M mlir/include/mlir/Dialect/Polynomial/IR/PolynomialAttributes.td
    M mlir/lib/Dialect/Polynomial/IR/PolynomialAttributes.cpp
    M mlir/lib/Dialect/Polynomial/IR/PolynomialOps.cpp
    M mlir/test/Dialect/Polynomial/ops.mlir

  Log Message:
  -----------
  [mlir][polynomial] use typed attributes for polynomial.constant op (#92818)

Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>


  Commit: bd5c6367bd79c01665ff8ab9848afbf5b1249ce6
      https://github.com/llvm/llvm-project/commit/bd5c6367bd79c01665ff8ab9848afbf5b1249ce6
  Author: David Blaikie <dblaikie at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
    M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
    M llvm/test/DebugInfo/X86/debug-names-types.ll

  Log Message:
  -----------
  DWARF: debug_names: Don't emit entries for skeleton type units

When a type unit is emitted, the CU referencing the type unit ends up
with a little DW_TAG_*_type with the DW_AT_signature and
DW_AT_declaration sometimes referred to (by me? maybe other people?) as
a skeleton type.

We shouldn't produce .debug_names reference to these - only to the
actual type definition in the type unit. So this patch does that.

But, inversely, the .debug_gnu_pubtypes /does/ need to reference the
skeleton type (& gcc does this too, when it produces a skeleton type
(gcc doesn't always produce these - if the type is only referenced once
via DW_AT_type, gcc uses a direct DW_FORM_ref_sig8 on the DW_AT_type
without the intermediate skeleton type)) - so there's a little special
case added in to preserve that behavior which is covered by existing
tests.


  Commit: e53c53559bb6ca6d69b9c0f45988e33fd0cefb6e
      https://github.com/llvm/llvm-project/commit/e53c53559bb6ca6d69b9c0f45988e33fd0cefb6e
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M lld/test/ELF/compress-debug-sections-zstd.s
    M lld/test/ELF/compress-sections-special.s
    M lld/test/ELF/compress-sections.s
    M lld/test/ELF/compressed-debug-level.test
    M lld/test/ELF/linkerscript/compress-debug-sections.s
    M lld/test/ELF/linkerscript/compress-sections.s

  Log Message:
  -----------
  [ELF,test] Improve --compress-debug-sections/--compress-sections tests

Make sections larger so that compressed content will be smaller than
uncompressed content. Add a few dedicated tests where compressed content
is larger.


  Commit: cfa97699f76761f25c4c4b686a503466c427afce
      https://github.com/llvm/llvm-project/commit/cfa97699f76761f25c4c4b686a503466c427afce
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M lld/ELF/Options.td
    M lld/ELF/OutputSections.cpp
    M lld/docs/ld.lld.1
    M lld/test/ELF/compress-debug-sections-zstd.s
    M lld/test/ELF/compress-sections.s

  Log Message:
  -----------
  [ELF] Retain uncompressed if compressed content is larger

--compress-debug-sections in GNU ld, gas, and LLVM integrated assembler
retain the uncompressed content if the compressed content is larger.

This patch also updates the manpage (-O2 does not enable zlib level 6)
and fixes a crash of --compress-sections when the uncompressed section
is empty.


  Commit: 7c937df05b7c636287e6058bb2e700618ff57c2f
      https://github.com/llvm/llvm-project/commit/7c937df05b7c636287e6058bb2e700618ff57c2f
  Author: Jessica Clarke <jrtc27 at jrtc27.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/ValueTypes.h
    M llvm/include/llvm/CodeGen/ValueTypes.td
    M llvm/include/llvm/CodeGenTypes/MachineValueType.h
    M llvm/lib/CodeGen/ValueTypes.cpp

  Log Message:
  -----------
  [CodeGen] Forbid passing a PointerType to MVT::getVT and EVT::getEVT (#92671)

There is the expectation throughout CodeGen that, for types representing
"real" values, the MVT or EVT is self-contained. However, MVT::iPTR is
challenging, because it has no address space, and even if it did, there
often is no DataLayout immediately accessible to determine what actually
is the underlying type.

Historically it was documented as being TableGen-only, but that was lost
in 631bfdbee5b45eda9f99dff6a716d63c5698e4bd's conversion to using the
generated defines. Let's preserve that intent by not allowing it to
originate through accidental calls to get(E)VT with a PointerType. If
you need to support that, be sure to use something like TargetLowering's
getValueType, which takes a DataLayout and can map pointers to their
concrete MVTs. Whilst here, reintroduce documentation about these value
types being TableGen-only.


  Commit: 465bfd41fa27383d93521a31458e6496ebfc590d
      https://github.com/llvm/llvm-project/commit/465bfd41fa27383d93521a31458e6496ebfc590d
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M bolt/include/bolt/Profile/BoltAddressTranslation.h
    M bolt/lib/Profile/DataAggregator.cpp

  Log Message:
  -----------
  [BOLT][NFC] Simplify BBHashMapTy (#91812)


  Commit: bc0cdefffe621af7d79eb637f570297752d215c8
      https://github.com/llvm/llvm-project/commit/bc0cdefffe621af7d79eb637f570297752d215c8
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp

  Log Message:
  -----------
  [mlir] Fix warnings

This patch fixes:

  mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp:73:27:
  error: unused function 'operator<<' [-Werror,-Wunused-function]

  mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp:97:27:
  error: unused function 'operator<<' [-Werror,-Wunused-function]


  Commit: f049d72ac2bcc40fd91d4e95148658021fb24bf1
      https://github.com/llvm/llvm-project/commit/f049d72ac2bcc40fd91d4e95148658021fb24bf1
  Author: yronglin <yronglin777 at gmail.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/AST/ast-dump-default-init-json.cpp
    M clang/test/AST/ast-dump-default-init.cpp
    M clang/test/Analysis/lifetime-extended-regions.cpp
    M clang/test/CXX/drs/cwg16xx.cpp
    M clang/test/CXX/drs/cwg18xx.cpp
    M clang/test/CXX/special/class.temporary/p6.cpp
    M clang/test/SemaCXX/constexpr-default-arg.cpp
    M clang/test/SemaCXX/cxx11-default-member-initializers.cpp
    M clang/test/SemaCXX/eval-crashes.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  Reapply "[Clang][CWG1815] Support lifetime extension of temporary created by aggregate initialization using a default member initializer" (#92527)

This PR reapply https://github.com/llvm/llvm-project/pull/87933

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


  Commit: b91b8fea8c58e9b414e291df677b12ca44197784
      https://github.com/llvm/llvm-project/commit/b91b8fea8c58e9b414e291df677b12ca44197784
  Author: Charlie Barto <chbarto at microsoft.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M compiler-rt/test/asan/TestCases/Windows/bitfield_uaf.cpp
    M compiler-rt/test/asan/TestCases/Windows/calloc_left_oob.cpp
    M compiler-rt/test/asan/TestCases/Windows/calloc_right_oob.cpp
    M compiler-rt/test/asan/TestCases/Windows/calloc_uaf.cpp

  Log Message:
  -----------
  [asan][windows] Further relax how deep in the callstack main can be in some asan tests (#92329)

This is needed because there will be an extra layer of wrapper when
linking to the static-CRT after the static asan runtime is removed by
#81677.


  Commit: 5ae8567640e495296acc0e20c966548aec401119
      https://github.com/llvm/llvm-project/commit/5ae8567640e495296acc0e20c966548aec401119
  Author: Ayke <aykevanlaethem at gmail.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M lld/ELF/Arch/AVR.cpp
    M lld/test/ELF/avr-reloc-error.s
    M lld/test/ELF/avr-reloc.s

  Log Message:
  -----------
  Fix R_AVR_7_PCREL and R_AVR_13_PCREL range checking (#92695)

Fix incorrect range check of R_AVR_7_PCREL. R_AVR_7_PCREL has 7 bits
available, but it works in instruction words and the actual range is [-128, 126].

Disable range check of R_AVR_13_PCREL. This matches the behavior of avr-ld,
and is needed for devices like the ATtiny85 which only have rjmp/rcall but have
8KiB flash memory.


  Commit: 282d2ab58f56c89510f810a43d4569824a90c538
      https://github.com/llvm/llvm-project/commit/282d2ab58f56c89510f810a43d4569824a90c538
  Author: Freddy Ye <freddy.ye at intel.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/BuiltinsX86.def
    M clang/include/clang/Basic/DiagnosticCommonKinds.td
    M clang/include/clang/Driver/Options.td
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/Headers/CMakeLists.txt
    R clang/lib/Headers/avx512erintrin.h
    R clang/lib/Headers/avx512pfintrin.h
    M clang/lib/Headers/immintrin.h
    M clang/lib/Headers/module.modulemap
    M clang/lib/Sema/SemaChecking.cpp
    R clang/test/CodeGen/X86/avx512er-builtins.c
    R clang/test/CodeGen/X86/avx512pf-builtins.c
    M clang/test/CodeGen/attr-cpuspecific.c
    M clang/test/CodeGen/attr-target-x86.c
    M clang/test/CodeGen/function-target-features.c
    M clang/test/CodeGen/target-builtin-noerror.c
    M clang/test/Driver/cl-x86-flags.c
    M clang/test/Driver/x86-target-features.c
    M clang/test/Frontend/x86-target-cpu.c
    M clang/test/Preprocessor/predefined-arch-macros.c
    M clang/test/Preprocessor/x86_target_features.c
    M clang/test/Sema/builtins-x86.c
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/IR/IntrinsicsX86.td
    M llvm/include/llvm/TargetParser/X86TargetParser.def
    M llvm/lib/Target/X86/X86.td
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.h
    M llvm/lib/Target/X86/X86Instr3DNow.td
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrFragments.td
    M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
    M llvm/lib/Target/X86/X86InstrPredicates.td
    M llvm/lib/Target/X86/X86IntrinsicsInfo.h
    M llvm/lib/Target/X86/X86Subtarget.h
    M llvm/lib/TargetParser/Host.cpp
    M llvm/lib/TargetParser/X86TargetParser.cpp
    M llvm/test/CodeGen/X86/avx512-cmp-kor-sequence.ll
    M llvm/test/CodeGen/X86/avx512-gather-scatter-intrin-deprecated.ll
    M llvm/test/CodeGen/X86/avx512-gather-scatter-intrin.ll
    R llvm/test/CodeGen/X86/avx512er-intrinsics.ll
    M llvm/test/CodeGen/X86/crc32-target-feature.ll
    M llvm/test/CodeGen/X86/insert-prefetch-invalid-instr.ll
    M llvm/test/CodeGen/X86/prefetch.ll
    M llvm/test/CodeGen/X86/speculative-load-hardening-gather.ll
    M llvm/test/CodeGen/X86/unfoldMemoryOperand.mir
    M llvm/test/Transforms/LoopStrengthReduce/X86/pr40514.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr23997.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr54634.ll
    M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vector_gep.ll

  Log Message:
  -----------
  [X86] Remove knl/knm specific ISAs supports (#92883)

Cont. patch after https://github.com/llvm/llvm-project/pull/75580


  Commit: 0fc8d663f4f7d432d8596c68c3433677e1a0d217
      https://github.com/llvm/llvm-project/commit/0fc8d663f4f7d432d8596c68c3433677e1a0d217
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M .ci/generate-buildkite-pipeline-premerge
    M .github/workflows/issue-release-workflow.yml
    M .github/workflows/issue-subscriber.yml
    M .github/workflows/llvm-bugs.yml
    M .github/workflows/merged-prs.yml
    M .github/workflows/new-prs.yml
    M .github/workflows/pr-request-release-note.yml
    M .github/workflows/pr-subscriber.yml
    M .github/workflows/release-binaries.yml
    M .github/workflows/version-check.yml
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/include/bolt/Passes/BinaryPasses.h
    M bolt/include/bolt/Passes/MCF.h
    M bolt/include/bolt/Passes/StokeInfo.h
    M bolt/include/bolt/Profile/BoltAddressTranslation.h
    M bolt/include/bolt/Profile/DataAggregator.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryEmitter.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Core/DynoStats.cpp
    M bolt/lib/Passes/BinaryFunctionCallGraph.cpp
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/lib/Passes/CacheMetrics.cpp
    M bolt/lib/Passes/Inliner.cpp
    M bolt/lib/Passes/Instrumentation.cpp
    M bolt/lib/Passes/MCF.cpp
    M bolt/lib/Profile/BoltAddressTranslation.cpp
    M bolt/lib/Profile/CMakeLists.txt
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Profile/DataReader.cpp
    M bolt/lib/Profile/StaleProfileMatching.cpp
    M bolt/lib/Profile/YAMLProfileReader.cpp
    M bolt/lib/Profile/YAMLProfileWriter.cpp
    M bolt/lib/Rewrite/BinaryPassManager.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    M bolt/lib/Utils/CommandLineOpts.cpp
    M bolt/runtime/instr.cpp
    M bolt/test/X86/bb-with-two-tail-calls.s
    M bolt/test/X86/bolt-address-translation-yaml.test
    A bolt/test/X86/ignored-interprocedural-reference.s
    M bolt/test/X86/register-fragments-bolt-symbols.s
    A bolt/test/X86/yaml-non-simple.test
    M bolt/test/link_fdata.py
    M bolt/test/runtime/X86/hot-end-symbol.s
    M clang-tools-extra/clang-query/CMakeLists.txt
    M clang-tools-extra/clang-query/Query.cpp
    M clang-tools-extra/clang-query/Query.h
    M clang-tools-extra/clang-query/QueryParser.cpp
    M clang-tools-extra/clang-query/QuerySession.h
    M clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/IncorrectEnableIfCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
    M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
    M clang-tools-extra/clangd/Hover.cpp
    M clang-tools-extra/clangd/test/infinite-instantiation.test
    M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/modularize/ModularizeUtilities.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init-no-crash.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/new-delete-overloads.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-outofline.cpp
    M clang-tools-extra/unittests/clang-query/QueryParserTest.cpp
    M clang/cmake/caches/HLSL.cmake
    A clang/docs/HLSL/AvailabilityDiagnostics.rst
    M clang/docs/HLSL/HLSLDocs.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/analyzer/checkers.rst
    M clang/docs/tools/clang-formatted-files.txt
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/ASTNodeTraverser.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/ExprCXX.h
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/Type.h
    A clang/include/clang/Analysis/FlowSensitive/CNFFormula.h
    M clang/include/clang/Analysis/FlowSensitive/WatchedLiteralsSolver.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/include/clang/Basic/BuiltinsX86.def
    M clang/include/clang/Basic/DiagnosticCommonKinds.td
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/FileManager.h
    M clang/include/clang/Basic/OpenACCClauses.def
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/include/clang/Basic/SourceManager.h
    M clang/include/clang/Basic/arm_sme.td
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/ExtractAPI/Serialization/SymbolGraphSerializer.h
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Lex/LiteralSupport.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/ParsedAttr.h
    M clang/include/clang/Sema/Sema.h
    A clang/include/clang/Sema/SemaCodeCompletion.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/include/clang/Sema/SemaOpenMP.h
    A clang/include/clang/Sema/SemaPseudoObject.h
    A clang/include/clang/Sema/SemaRISCV.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h
    R clang/include/clang/Tooling/NodeIntrospection.h
    M clang/lib/ARCMigrate/ARCMT.cpp
    M clang/lib/ARCMigrate/ObjCMT.cpp
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTDiagnostic.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/DeclPrinter.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/ExprCXX.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    M clang/lib/AST/Interp/Descriptor.cpp
    M clang/lib/AST/Interp/EvaluationResult.cpp
    M clang/lib/AST/Interp/Interp.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/Pointer.cpp
    M clang/lib/AST/Interp/Pointer.h
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/ODRDiagsEmitter.cpp
    M clang/lib/AST/ODRHash.cpp
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/Analysis/FlowSensitive/CMakeLists.txt
    A clang/lib/Analysis/FlowSensitive/CNFFormula.cpp
    M clang/lib/Analysis/FlowSensitive/WatchedLiteralsSolver.cpp
    M clang/lib/Analysis/ThreadSafetyCommon.cpp
    M clang/lib/Basic/FileManager.cpp
    M clang/lib/Basic/SourceManager.cpp
    M clang/lib/Basic/Targets/Mips.cpp
    M clang/lib/Basic/Targets/Mips.h
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBlocks.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGDeclCXX.cpp
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGNonTrivialStruct.cpp
    M clang/lib/CodeGen/CGObjC.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CGValue.h
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenTypeCache.h
    M clang/lib/CodeGen/CodeGenTypes.cpp
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/CodeGen/Targets/NVPTX.cpp
    M clang/lib/CodeGen/Targets/X86.cpp
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/lib/Driver/ToolChains/Arch/Mips.cpp
    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/PS4CPU.cpp
    M clang/lib/Driver/ToolChains/ZOS.cpp
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatTokenSource.h
    M clang/lib/Format/MacroExpander.cpp
    M clang/lib/Format/Macros.h
    M clang/lib/Format/SortJavaScriptImports.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Headers/CMakeLists.txt
    R clang/lib/Headers/avx512erintrin.h
    R clang/lib/Headers/avx512pfintrin.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Headers/immintrin.h
    M clang/lib/Headers/module.modulemap
    M clang/lib/Headers/opencl-c-base.h
    M clang/lib/Headers/opencl-c.h
    M clang/lib/Index/CommentToXML.cpp
    M clang/lib/Index/IndexDecl.cpp
    M clang/lib/Lex/LiteralSupport.cpp
    M clang/lib/Lex/PPLexerChange.cpp
    M clang/lib/Lex/PPMacroExpansion.cpp
    M clang/lib/Parse/ParseCXXInlineMethods.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Parse/ParseInit.cpp
    M clang/lib/Parse/ParseObjc.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Parse/ParsePragma.cpp
    M clang/lib/Parse/ParseStmt.cpp
    M clang/lib/Parse/ParseTemplate.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Sema/CMakeLists.txt
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/OpenCLBuiltins.td
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaAPINotes.cpp
    M clang/lib/Sema/SemaAvailability.cpp
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaCast.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaLambda.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaPseudoObject.cpp
    A clang/lib/Sema/SemaRISCV.cpp
    R clang/lib/Sema/SemaRISCVVectorLookup.cpp
    M clang/lib/Sema/SemaStmtAttr.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTCommon.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
    A clang/lib/StaticAnalyzer/Checkers/SetgidSetuidOrderChecker.cpp
    M clang/lib/StaticAnalyzer/Core/CallDescription.cpp
    M clang/lib/Tooling/CMakeLists.txt
    R clang/lib/Tooling/DumpTool/APIData.h
    R clang/lib/Tooling/DumpTool/ASTSrcLocProcessor.cpp
    R clang/lib/Tooling/DumpTool/ASTSrcLocProcessor.h
    R clang/lib/Tooling/DumpTool/CMakeLists.txt
    R clang/lib/Tooling/DumpTool/ClangSrcLocDump.cpp
    R clang/lib/Tooling/DumpTool/generate_cxx_src_locs.py
    R clang/lib/Tooling/EmptyNodeIntrospection.inc.in
    R clang/lib/Tooling/NodeIntrospection.cpp
    M clang/test/AST/Interp/arrays.cpp
    M clang/test/AST/Interp/cxx11.cpp
    M clang/test/AST/Interp/functions.cpp
    M clang/test/AST/Interp/records.cpp
    A clang/test/AST/Interp/sycl.cpp
    A clang/test/AST/Interp/unions.cpp
    M clang/test/AST/ast-dump-ctad-alias.cpp
    M clang/test/AST/ast-dump-decl.cpp
    M clang/test/AST/ast-dump-default-init-json.cpp
    M clang/test/AST/ast-dump-default-init.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/AST/ast-print-openacc-compute-construct.cpp
    M clang/test/AST/const-fpfeatures.c
    M clang/test/AST/const-fpfeatures.cpp
    M clang/test/Analysis/cxxnewexpr-callback.cpp
    M clang/test/Analysis/lifetime-extended-regions.cpp
    A clang/test/Analysis/setgid-setuid-order-notes.c
    A clang/test/Analysis/setgid-setuid-order.c
    M clang/test/CXX/basic/basic.lookup/basic.lookup.qual/class.qual/p2.cpp
    M clang/test/CXX/basic/basic.stc/basic.stc.dynamic/basic.stc.dynamic.deallocation/p2.cpp
    A clang/test/CXX/class.derived/class.derived.general/p2.cpp
    M clang/test/CXX/class/class.mfct/class.mfct.non-static/p3.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p1.cpp
    M clang/test/CXX/drs/cwg16xx.cpp
    M clang/test/CXX/drs/cwg18xx.cpp
    M clang/test/CXX/drs/cwg24xx.cpp
    M clang/test/CXX/drs/cwg28xx.cpp
    M clang/test/CXX/drs/cwg292.cpp
    M clang/test/CXX/expr/expr.unary/expr.new/p14.cpp
    M clang/test/CXX/expr/expr.unary/expr.sizeof/p5-0x.cpp
    M clang/test/CXX/special/class.temporary/p6.cpp
    M clang/test/CXX/temp/temp.decls/temp.alias/p2.cpp
    A clang/test/CXX/temp/temp.spec/temp.expl.spec/p12.cpp
    M clang/test/CodeGen/RISCV/riscv-inline-asm.c
    R clang/test/CodeGen/X86/avx512er-builtins.c
    R clang/test/CodeGen/X86/avx512pf-builtins.c
    M clang/test/CodeGen/aarch64-byval-temp.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_reinterpret_svcount_svbool.c
    M clang/test/CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
    M clang/test/CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.cpp
    M clang/test/CodeGen/aarch64-sve-vector-subscript-ops.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_revd.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfadd.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmax.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmaxnm.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmin.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfminnm.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfsub.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_create2_bool.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_get4_bool.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_undef_bool.c
    M clang/test/CodeGen/aarch64-varargs.c
    M clang/test/CodeGen/array-init.c
    R clang/test/CodeGen/assume_attr.c
    M clang/test/CodeGen/attr-counted-by.c
    M clang/test/CodeGen/attr-cpuspecific.c
    M clang/test/CodeGen/attr-target-x86.c
    A clang/test/CodeGen/clspv_libclc_builtin.c
    M clang/test/CodeGen/darwin-target-variant.c
    M clang/test/CodeGen/fat-lto-objects.c
    M clang/test/CodeGen/function-target-features.c
    M clang/test/CodeGen/functions.c
    M clang/test/CodeGen/nofpclass.c
    M clang/test/CodeGen/target-builtin-noerror.c
    M clang/test/CodeGenCXX/assume_attr.cpp
    M clang/test/CodeGenCXX/atomicinit.cpp
    M clang/test/CodeGenCXX/auto-var-init.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/cxx2b-deducing-this.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/dynamic-cast-address-space.cpp
    M clang/test/CodeGenCXX/eh.cpp
    M clang/test/CodeGenCXX/new.cpp
    M clang/test/CodeGenCXX/nrvo.cpp
    M clang/test/CodeGenCXX/template-param-objects-address-space.cpp
    M clang/test/CodeGenCXX/throw-expression-typeinfo-in-address-space.cpp
    M clang/test/CodeGenCXX/try-catch-with-address-space.cpp
    M clang/test/CodeGenCXX/typeid-cxx11-with-address-space.cpp
    M clang/test/CodeGenCXX/typeid-with-address-space.cpp
    M clang/test/CodeGenCXX/typeinfo-with-address-space.cpp
    M clang/test/CodeGenCXX/vtable-assume-load-address-space.cpp
    M clang/test/CodeGenCXX/vtable-pointer-initialization-address-space.cpp
    M clang/test/CodeGenCXX/vtt-address-space.cpp
    M clang/test/CodeGenCXX/wasm-eh.cpp
    M clang/test/CodeGenCXX/weak-external.cpp
    M clang/test/CodeGenCXX/windows-implicit-dllexport-template-specialization.cpp
    M clang/test/CodeGenCXX/windows-itanium-dllexport.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
    A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx940.cl
    A clang/test/CodeGenOpenCLCXX/array-type-infinite-loop.clcpp
    A clang/test/CoverageMapping/mcdc-system-headers.cpp
    M clang/test/Driver/aarch64-v95a.c
    M clang/test/Driver/cl-x86-flags.c
    M clang/test/Driver/mips-as.c
    M clang/test/Driver/mips-features.c
    M clang/test/Driver/ps4-ps5-visibility-dllstorageclass.c
    A clang/test/Driver/ps4-visibility.cl
    A clang/test/Driver/ps5-visibility.cl
    M clang/test/Driver/tocdata-cc1.c
    M clang/test/Driver/x86-target-features.c
    M clang/test/ExtractAPI/class_template.cpp
    M clang/test/ExtractAPI/class_template_param_inheritance.cpp
    M clang/test/ExtractAPI/class_template_partial_spec.cpp
    M clang/test/ExtractAPI/class_template_spec.cpp
    M clang/test/ExtractAPI/concept.cpp
    M clang/test/ExtractAPI/field_template.cpp
    M clang/test/ExtractAPI/global_func_template.cpp
    M clang/test/ExtractAPI/global_func_template_spec.cpp
    M clang/test/ExtractAPI/global_var_template.cpp
    M clang/test/ExtractAPI/global_var_template_partial_spec.cpp
    M clang/test/ExtractAPI/global_var_template_spec.cpp
    M clang/test/ExtractAPI/method_template.cpp
    M clang/test/ExtractAPI/method_template_spec.cpp
    A clang/test/ExtractAPI/non_type_template.cpp
    M clang/test/ExtractAPI/objc_external_category.m
    M clang/test/Frontend/x86-target-cpu.c
    M clang/test/InstallAPI/alias_list.test
    M clang/test/InstallAPI/exclusive-passes-2.test
    A clang/test/InstallAPI/exclusive-passes-3.test
    M clang/test/InstallAPI/exclusive-passes.test
    M clang/test/InstallAPI/invalid-exclusive-passes.test
    M clang/test/Lexer/cxx-features.cpp
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    A clang/test/Modules/implicit-module-remap.cpp
    A clang/test/Modules/pr91418.cppm
    M clang/test/OpenMP/assumes_codegen.cpp
    M clang/test/OpenMP/assumes_print.cpp
    M clang/test/OpenMP/assumes_template_print.cpp
    M clang/test/OpenMP/distribute_firstprivate_messages.cpp
    M clang/test/OpenMP/distribute_parallel_for_firstprivate_messages.cpp
    M clang/test/OpenMP/distribute_parallel_for_lastprivate_messages.cpp
    M clang/test/OpenMP/distribute_parallel_for_private_messages.cpp
    M clang/test/OpenMP/distribute_parallel_for_reduction_messages.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_private_messages.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_shared_messages.cpp
    M clang/test/OpenMP/distribute_simd_firstprivate_messages.cpp
    M clang/test/OpenMP/distribute_simd_lastprivate_messages.cpp
    M clang/test/OpenMP/distribute_simd_loop_messages.cpp
    M clang/test/OpenMP/distribute_simd_private_messages.cpp
    M clang/test/OpenMP/distribute_simd_reduction_messages.cpp
    M clang/test/OpenMP/nvptx_lambda_capturing.cpp
    M clang/test/OpenMP/reduction_implicit_map.cpp
    M clang/test/OpenMP/remarks_parallel_in_multiple_target_state_machines.c
    M clang/test/OpenMP/remarks_parallel_in_target_state_machine.c
    M clang/test/OpenMP/requires_default_atomic_mem_order_messages.cpp
    M clang/test/OpenMP/requires_messages.cpp
    M clang/test/OpenMP/target_device_ancestor_messages.cpp
    M clang/test/OpenMP/target_firstprivate_messages.cpp
    M clang/test/OpenMP/target_map_messages.cpp
    M clang/test/OpenMP/target_parallel_for_private_messages.cpp
    M clang/test/OpenMP/target_parallel_for_simd_private_messages.cpp
    M clang/test/OpenMP/target_private_messages.cpp
    M clang/test/OpenMP/target_simd_private_messages.cpp
    M clang/test/OpenMP/target_teams_distribute_firstprivate_messages.cpp
    M clang/test/OpenMP/teams_distribute_loop_messages.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_loop_messages.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_loop_messages.cpp
    M clang/test/OpenMP/teams_distribute_simd_loop_messages.cpp
    M clang/test/OpenMP/threadprivate_codegen.cpp
    M clang/test/OpenMP/tile_codegen.cpp
    M clang/test/OpenMP/tile_codegen_for_dependent.cpp
    M clang/test/OpenMP/tile_codegen_tile_for.cpp
    M clang/test/PCH/cxx1z-aligned-alloc.cpp
    M clang/test/PCH/pack_indexing.cpp
    M clang/test/Parser/altivec.c
    M clang/test/Parser/attr-availability.c
    M clang/test/Parser/cxx-altivec.cpp
    M clang/test/Parser/lax-conv.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/Preprocessor/predefined-arch-macros.c
    M clang/test/Preprocessor/riscv-target-features.c
    M clang/test/Preprocessor/x86_target_features.c
    M clang/test/Profile/c-unreachable-after-switch.c
    A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
    M clang/test/Sema/aarch64-sme2-sve2p1-diagnostics.c
    M clang/test/Sema/aarch64-sme2p1-diagnostics.c
    R clang/test/Sema/attr-assume.c
    M clang/test/Sema/attr-availability-ios.c
    M clang/test/Sema/bool-compare.c
    M clang/test/Sema/builtins-x86.c
    M clang/test/Sema/builtins.c
    M clang/test/Sema/parentheses.cpp
    M clang/test/Sema/x86-eval-method.c
    M clang/test/Sema/x86_64-eval-method.c
    M clang/test/SemaCXX/MicrosoftExtensions.cpp
    M clang/test/SemaCXX/bool-compare.cpp
    M clang/test/SemaCXX/builtin-operator-new-delete.cpp
    M clang/test/SemaCXX/constexpr-default-arg.cpp
    M clang/test/SemaCXX/cxx-deprecated.cpp
    M clang/test/SemaCXX/cxx11-default-member-initializers.cpp
    M clang/test/SemaCXX/cxx1y-sized-deallocation.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
    M clang/test/SemaCXX/cxx23-assume.cpp
    M clang/test/SemaCXX/cxx2a-adl-only-template-id.cpp
    M clang/test/SemaCXX/cxx2b-deducing-this.cpp
    M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
    M clang/test/SemaCXX/eval-crashes.cpp
    M clang/test/SemaCXX/type-traits.cpp
    M clang/test/SemaCXX/unavailable_aligned_allocation.cpp
    M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
    A clang/test/SemaHLSL/Availability/attr-availability-compute.hlsl
    A clang/test/SemaHLSL/Availability/attr-availability-errors.hlsl
    A clang/test/SemaHLSL/Availability/attr-availability-mesh.hlsl
    A clang/test/SemaHLSL/Availability/attr-availability-pixel.hlsl
    R clang/test/SemaHLSL/AvailabilityMarkup.hlsl
    M clang/test/SemaHLSL/WaveBuiltinAvailability.hlsl
    M clang/test/SemaOpenACC/compute-construct-attach-clause.c
    M clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
    M clang/test/SemaOpenACC/compute-construct-copy-clause.c
    M clang/test/SemaOpenACC/compute-construct-copy-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-copyin-clause.c
    M clang/test/SemaOpenACC/compute-construct-copyin-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-copyout-clause.c
    M clang/test/SemaOpenACC/compute-construct-copyout-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-create-clause.c
    M clang/test/SemaOpenACC/compute-construct-create-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
    M clang/test/SemaOpenACC/compute-construct-deviceptr-clause.c
    M clang/test/SemaOpenACC/compute-construct-firstprivate-clause.c
    M clang/test/SemaOpenACC/compute-construct-firstprivate-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-no_create-clause.c
    M clang/test/SemaOpenACC/compute-construct-no_create-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-present-clause.c
    M clang/test/SemaOpenACC/compute-construct-present-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-private-clause.c
    M clang/test/SemaOpenACC/compute-construct-private-clause.cpp
    A clang/test/SemaOpenACC/compute-construct-reduction-clause.c
    A clang/test/SemaOpenACC/compute-construct-reduction-clause.cpp
    M clang/test/SemaTemplate/cwg2398.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp
    M clang/test/SemaTemplate/dependent-names.cpp
    M clang/test/SemaTemplate/destructor-template.cpp
    M clang/test/SemaTemplate/ms-function-specialization-class-scope.cpp
    M clang/test/SemaTemplate/ms-lookup-template-base-classes.cpp
    M clang/test/SemaTemplate/typo-dependent-name.cpp
    M clang/test/SemaTemplate/typo-template-name.cpp
    M clang/tools/amdgpu-arch/AMDGPUArchByHIP.cpp
    M clang/tools/amdgpu-arch/AMDGPUArchByHSA.cpp
    M clang/tools/clang-format/ClangFormat.cpp
    M clang/tools/clang-installapi/InstallAPIOpts.td
    M clang/tools/clang-installapi/Options.cpp
    M clang/tools/clang-installapi/Options.h
    M clang/tools/clang-repl/CMakeLists.txt
    M clang/tools/driver/cc1as_main.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/unittests/AST/ASTImporterTest.cpp
    M clang/unittests/AST/DeclTest.cpp
    M clang/unittests/AST/Interp/Descriptor.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
    M clang/unittests/CMakeLists.txt
    M clang/unittests/Format/CleanupTest.cpp
    M clang/unittests/Format/DefinitionBlockSeparatorTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/FormatTestBase.h
    M clang/unittests/Format/FormatTestCSharp.cpp
    M clang/unittests/Format/FormatTestJS.cpp
    M clang/unittests/Format/FormatTestJson.cpp
    M clang/unittests/Format/FormatTestProto.cpp
    M clang/unittests/Format/FormatTestRawStrings.cpp
    M clang/unittests/Format/FormatTestSelective.cpp
    M clang/unittests/Format/FormatTestTableGen.cpp
    M clang/unittests/Format/FormatTestUtils.h
    M clang/unittests/Format/FormatTestVerilog.cpp
    M clang/unittests/Format/FormatTokenSourceTest.cpp
    M clang/unittests/Format/MacroCallReconstructorTest.cpp
    M clang/unittests/Format/MacroExpanderTest.cpp
    M clang/unittests/Format/MatchFilePathTest.cpp
    M clang/unittests/Format/NamespaceEndCommentsFixerTest.cpp
    M clang/unittests/Format/ObjCPropertyAttributeOrderFixerTest.cpp
    M clang/unittests/Format/QualifierFixerTest.cpp
    M clang/unittests/Format/SortImportsTestJS.cpp
    M clang/unittests/Format/SortImportsTestJava.cpp
    M clang/unittests/Format/SortIncludesTest.cpp
    M clang/unittests/Format/TestLexer.h
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/unittests/Format/UsingDeclarationsSorterTest.cpp
    M clang/unittests/Interpreter/CMakeLists.txt
    R clang/unittests/Introspection/CMakeLists.txt
    R clang/unittests/Introspection/IntrospectionTest.cpp
    M clang/unittests/StaticAnalyzer/BugReportInterestingnessTest.cpp
    M clang/unittests/StaticAnalyzer/CallDescriptionTest.cpp
    M clang/unittests/StaticAnalyzer/CallEventTest.cpp
    M clang/unittests/StaticAnalyzer/ConflictingEvalCallsTest.cpp
    M clang/unittests/StaticAnalyzer/FalsePositiveRefutationBRVisitorTest.cpp
    M clang/unittests/StaticAnalyzer/MemRegionDescriptiveNameTest.cpp
    M clang/unittests/StaticAnalyzer/NoStateChangeFuncVisitorTest.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp
    M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
    M clang/www/cxx_dr_status.html
    M clang/www/cxx_status.html
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/lib/ctx_profile/CMakeLists.txt
    M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
    M compiler-rt/lib/dfsan/dfsan_allocator.cpp
    M compiler-rt/lib/dfsan/dfsan_custom.cpp
    M compiler-rt/lib/lsan/lsan_allocator.cpp
    M compiler-rt/lib/msan/msan_allocator.cpp
    M compiler-rt/test/asan/TestCases/Windows/bitfield_uaf.cpp
    M compiler-rt/test/asan/TestCases/Windows/calloc_left_oob.cpp
    M compiler-rt/test/asan/TestCases/Windows/calloc_right_oob.cpp
    M compiler-rt/test/asan/TestCases/Windows/calloc_uaf.cpp
    A compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
    M compiler-rt/test/ctx_profile/lit.cfg.py
    M compiler-rt/test/dfsan/custom.cpp
    M compiler-rt/test/profile/Linux/counter_promo_for.c
    M compiler-rt/test/profile/Linux/counter_promo_while.c
    M compiler-rt/test/tsan/signal_in_mutex_lock.cpp
    M flang/CMakeLists.txt
    M flang/docs/Intrinsics.md
    M flang/include/flang/Lower/ConvertVariable.h
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
    M flang/include/flang/Optimizer/Builder/Runtime/Numeric.h
    M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
    A flang/include/flang/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
    A flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.h
    A flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.td
    A flang/include/flang/Optimizer/Dialect/CUF/CMakeLists.txt
    A flang/include/flang/Optimizer/Dialect/CUF/CUFDialect.h
    A flang/include/flang/Optimizer/Dialect/CUF/CUFDialect.td
    A flang/include/flang/Optimizer/Dialect/CUF/CUFOps.h
    A flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    M flang/include/flang/Optimizer/Dialect/FIROps.h
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
    M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
    M flang/include/flang/Optimizer/HLFIR/Passes.h
    M flang/include/flang/Optimizer/HLFIR/Passes.td
    M flang/include/flang/Optimizer/Support/InitFIR.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/time-intrinsic.h
    M flang/include/flang/Semantics/openmp-directive-sets.h
    M flang/include/flang/Semantics/semantics.h
    M flang/include/flang/Semantics/tools.h
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Frontend/CMakeLists.txt
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/CMakeLists.txt
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/DirectivesCommon.h
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/OpenMP.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/Runtime/Intrinsics.cpp
    M flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/Dialect/CMakeLists.txt
    A flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
    A flang/lib/Optimizer/Dialect/CUF/Attributes/CUFAttr.cpp
    A flang/lib/Optimizer/Dialect/CUF/CMakeLists.txt
    A flang/lib/Optimizer/Dialect/CUF/CUFDialect.cpp
    A flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
    M flang/lib/Optimizer/Dialect/FIRAttr.cpp
    M flang/lib/Optimizer/Dialect/FIRDialect.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/HLFIR/IR/CMakeLists.txt
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
    M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/InlineElementals.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/AddAliasTags.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/semantics.cpp
    A flang/module/cudadevice.f90
    M flang/runtime/CMakeLists.txt
    M flang/runtime/descriptor-io.h
    M flang/runtime/edit-output.cpp
    A flang/runtime/io-api-common.h
    A flang/runtime/io-api-minimal.cpp
    M flang/runtime/io-api.cpp
    M flang/runtime/time-intrinsic.cpp
    M flang/runtime/tools.h
    M flang/test/Driver/fopenmp.f90
    M flang/test/Driver/include-omp-header.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
    M flang/test/Fir/cuf-invalid.fir
    M flang/test/Fir/cuf.mlir
    A flang/test/Integration/debug-module-2.f90
    M flang/test/Lower/CUDA/cuda-allocatable.cuf
    M flang/test/Lower/CUDA/cuda-data-attribute.cuf
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf
    M flang/test/Lower/CUDA/cuda-kernel-calls.cuf
    M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
    M flang/test/Lower/CUDA/cuda-mod.cuf
    M flang/test/Lower/CUDA/cuda-module-use.cuf
    M flang/test/Lower/CUDA/cuda-proc-attribute.cuf
    A flang/test/Lower/CUDA/cuda-program-global.cuf
    A flang/test/Lower/Intrinsics/etime-function.f90
    A flang/test/Lower/Intrinsics/etime.f90
    A flang/test/Lower/Intrinsics/selected_char_kind.f90
    A flang/test/Lower/Intrinsics/selected_logical_kind.f90
    A flang/test/Lower/OpenMP/Todo/masked-directive.f90
    M flang/test/Lower/OpenMP/atomic-capture.f90
    M flang/test/Lower/OpenMP/atomic-read.f90
    M flang/test/Lower/OpenMP/atomic-update.f90
    M flang/test/Lower/OpenMP/atomic-write.f90
    M flang/test/Lower/OpenMP/critical.f90
    M flang/test/Lower/OpenMP/invalid-reduction-modifier.f90
    M flang/test/Lower/OpenMP/lastprivate-iv.f90
    M flang/test/Lower/OpenMP/omp-lib-num-threads.f90
    M flang/test/Lower/OpenMP/parallel-sections.f90
    M flang/test/Lower/OpenMP/parallel.f90
    M flang/test/Lower/OpenMP/sections.f90
    M flang/test/Lower/OpenMP/single.f90
    M flang/test/Lower/OpenMP/task.f90
    M flang/test/Lower/OpenMP/taskgroup.f90
    M flang/test/Lower/OpenMP/teams.f90
    M flang/test/Lower/OpenMP/threadprivate-default-clause.f90
    M flang/test/Lower/branching-directive.f90
    A flang/test/Lower/unstructured-control-flow.f90
    M flang/test/Parser/OpenMP/allocate-tree-spec-part.f90
    M flang/test/Parser/OpenMP/allocate-tree.f90
    A flang/test/Parser/OpenMP/masked-unparse.f90
    M flang/test/Parser/OpenMP/target_device_parse.f90
    M flang/test/Semantics/OpenMP/allocate-clause01.f90
    M flang/test/Semantics/OpenMP/allocate-directive.f90
    M flang/test/Semantics/OpenMP/allocate01.f90
    M flang/test/Semantics/OpenMP/allocate02.f90
    M flang/test/Semantics/OpenMP/allocate03.f90
    M flang/test/Semantics/OpenMP/allocate04.f90
    M flang/test/Semantics/OpenMP/allocate05.f90
    M flang/test/Semantics/OpenMP/allocate06.f90
    M flang/test/Semantics/OpenMP/allocate07.f90
    M flang/test/Semantics/OpenMP/allocate08.f90
    M flang/test/Semantics/OpenMP/allocate09.f90
    M flang/test/Semantics/OpenMP/allocators01.f90
    M flang/test/Semantics/OpenMP/allocators02.f90
    M flang/test/Semantics/OpenMP/allocators03.f90
    M flang/test/Semantics/OpenMP/allocators04.f90
    M flang/test/Semantics/OpenMP/allocators05.f90
    M flang/test/Semantics/OpenMP/allocators06.f90
    M flang/test/Semantics/OpenMP/atomic-hint-clause.f90
    M flang/test/Semantics/OpenMP/atomic01.f90
    M flang/test/Semantics/OpenMP/atomic02.f90
    M flang/test/Semantics/OpenMP/atomic03.f90
    M flang/test/Semantics/OpenMP/atomic04.f90
    M flang/test/Semantics/OpenMP/atomic05.f90
    M flang/test/Semantics/OpenMP/clause-validity01.f90
    M flang/test/Semantics/OpenMP/critical-hint-clause.f90
    M flang/test/Semantics/OpenMP/declare-target01.f90
    R flang/test/Semantics/OpenMP/do02.f90
    M flang/test/Semantics/OpenMP/flush02.f90
    A flang/test/Semantics/OpenMP/masked.f90
    M flang/test/Semantics/OpenMP/nested-distribute.f90
    M flang/test/Semantics/OpenMP/omp-atomic-assignment-stmt.f90
    M flang/test/Semantics/OpenMP/parallel-sections01.f90
    A flang/test/Semantics/OpenMP/reduction-modifiers.f90
    M flang/test/Semantics/OpenMP/resolve06.f90
    M flang/test/Semantics/OpenMP/sections01.f90
    M flang/test/Semantics/OpenMP/sections02.f90
    M flang/test/Semantics/OpenMP/sections03.f90
    M flang/test/Semantics/OpenMP/simd-aligned.f90
    M flang/test/Semantics/OpenMP/simd-nontemporal.f90
    M flang/test/Semantics/OpenMP/simd01.f90
    M flang/test/Semantics/OpenMP/simd02.f90
    M flang/test/Semantics/OpenMP/simd03.f90
    M flang/test/Semantics/OpenMP/struct.f90
    M flang/test/Semantics/OpenMP/sync-critical01.f90
    M flang/test/Semantics/OpenMP/sync-critical02.f90
    M flang/test/Semantics/OpenMP/taskgroup01.f90
    M flang/test/Semantics/OpenMP/taskloop01.f90
    M flang/test/Semantics/OpenMP/taskloop02.f90
    R flang/test/Semantics/OpenMP/taskloop03.f90
    M flang/test/Semantics/OpenMP/taskwait.f90
    M flang/test/Semantics/OpenMP/threadprivate01.f90
    M flang/test/Semantics/OpenMP/use_device_addr.f90
    M flang/test/Semantics/OpenMP/use_device_addr1.f90
    M flang/test/Semantics/OpenMP/use_device_ptr.f90
    M flang/test/Semantics/OpenMP/use_device_ptr1.f90
    M flang/test/Semantics/OpenMP/workshare01.f90
    M flang/test/Semantics/OpenMP/workshare02.f90
    M flang/test/Semantics/OpenMP/workshare03.f90
    M flang/test/Semantics/OpenMP/workshare04.f90
    M flang/test/Semantics/OpenMP/workshare05.f90
    M flang/test/Semantics/bind-c03.f90
    M flang/test/Semantics/bind-c09.f90
    M flang/test/Semantics/bind-c12.f90
    A flang/test/Semantics/cuf-device-procedures01.cuf
    A flang/test/Semantics/cuf-device-procedures02.cuf
    A flang/test/Semantics/etime.f90
    M flang/test/Semantics/resolve81.f90
    M flang/test/Semantics/resolve82.f90
    M flang/test/Transforms/debug-line-table-inc-file.fir
    M flang/test/Transforms/debug-line-table.fir
    A flang/test/Transforms/debug-module-1.fir
    A flang/test/Transforms/debug-module-2.fir
    M flang/test/lit.cfg.py
    M flang/test/lit.site.cfg.py.in
    M flang/tools/bbc/CMakeLists.txt
    M flang/tools/f18/CMakeLists.txt
    M flang/tools/fir-opt/CMakeLists.txt
    M flang/tools/tco/CMakeLists.txt
    M flang/unittests/Optimizer/CMakeLists.txt
    M flang/unittests/Optimizer/FortranVariableTest.cpp
    M libc/cmake/modules/LLVMLibCObjectRules.cmake
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/include/llvm-libc-macros/linux/CMakeLists.txt
    M libc/include/llvm-libc-macros/linux/error-number-macros.h
    R libc/include/llvm-libc-macros/linux/mips/CMakeLists.txt
    R libc/include/llvm-libc-macros/linux/mips/error-number-macros.h
    R libc/include/llvm-libc-macros/linux/sparc/CMakeLists.txt
    R libc/include/llvm-libc-macros/linux/sparc/error-number-macros.h
    M libc/src/__support/threads/CMakeLists.txt
    A libc/src/__support/threads/CndVar.h
    M libc/src/__support/threads/linux/CMakeLists.txt
    A libc/src/__support/threads/linux/CndVar.cpp
    M libc/src/setjmp/x86_64/CMakeLists.txt
    M libc/src/threads/linux/CMakeLists.txt
    R libc/src/threads/linux/CndVar.h
    M libc/src/threads/linux/cnd_broadcast.cpp
    M libc/src/threads/linux/cnd_destroy.cpp
    M libc/src/threads/linux/cnd_init.cpp
    M libc/src/threads/linux/cnd_signal.cpp
    M libc/src/threads/linux/cnd_wait.cpp
    M libc/src/time/gpu/time_utils.cpp
    M libc/src/time/gpu/time_utils.h
    A libc/startup/baremetal/CMakeLists.txt
    A libc/startup/baremetal/fini.cpp
    A libc/startup/baremetal/init.cpp
    M libc/test/integration/scudo/CMakeLists.txt
    M libclc/generic/include/clc/clcfunc.h
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/Status/Cxx20Papers.csv
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/docs/Status/ParallelismProjects.csv
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__algorithm/pstl_copy.h
    M libcxx/include/__algorithm/pstl_count.h
    M libcxx/include/__algorithm/pstl_equal.h
    M libcxx/include/__algorithm/pstl_fill.h
    M libcxx/include/__algorithm/pstl_find.h
    M libcxx/include/__algorithm/pstl_generate.h
    M libcxx/include/__algorithm/pstl_is_partitioned.h
    M libcxx/include/__algorithm/pstl_merge.h
    M libcxx/include/__algorithm/pstl_replace.h
    M libcxx/include/__algorithm/pstl_sort.h
    A libcxx/include/__atomic/atomic_ref.h
    M libcxx/include/__atomic/atomic_sync.h
    M libcxx/include/__atomic/check_memory_order.h
    M libcxx/include/__atomic/cxx_atomic_impl.h
    A libcxx/include/__atomic/to_gcc_order.h
    M libcxx/include/__exception/exception_ptr.h
    M libcxx/include/__locale
    M libcxx/include/__type_traits/has_unique_object_representation.h
    M libcxx/include/atomic
    M libcxx/include/experimental/__simd/scalar.h
    M libcxx/include/experimental/__simd/simd.h
    M libcxx/include/experimental/__simd/simd_mask.h
    M libcxx/include/experimental/__simd/vec_ext.h
    A libcxx/include/libcxx.imp
    M libcxx/include/locale
    M libcxx/include/module.modulemap
    M libcxx/include/vector
    M libcxx/modules/std/atomic.inc
    M libcxx/src/atomic.cpp
    M libcxx/src/chrono.cpp
    M libcxx/src/locale.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/assert.compare_exchange_strong.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/assert.compare_exchange_weak.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/assert.ctor.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/assert.load.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/assert.store.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/assert.wait.pass.cpp
    M libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
    R libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.modifying.operations/alg.move/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.nonmodifying/alg.any_of/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.nonmodifying/alg.none_of/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.sorting/alg.merge/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/numeric.ops/reduce/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/numeric.ops/reduce/pstl.reduce.pass.cpp
    R libcxx/test/std/algorithms/numeric.ops/transform.reduce/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/numeric.ops/transform.reduce/pstl.transform_reduce.binary.pass.cpp
    R libcxx/test/std/algorithms/numeric.ops/transform.reduce/pstl.transform_reduce.unary.pass.cpp
    A libcxx/test/std/algorithms/pstl.exception_handling.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/assign.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/bitwise_and_assign.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/bitwise_or_assign.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/bitwise_xor_assign.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/compare_exchange_strong.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/compare_exchange_weak.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/convert.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/ctor.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/deduction.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/exchange.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/fetch_add.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/fetch_and.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/fetch_or.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/fetch_sub.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/fetch_xor.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/increment_decrement.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/is_always_lock_free.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/load.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/member_types.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/notify_all.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/notify_one.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/operator_minus_equals.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/operator_plus_equals.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/required_alignment.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/requires-trivially-copyable.verify.cpp
    A libcxx/test/std/atomics/atomics.ref/store.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/test_helper.h
    A libcxx/test/std/atomics/atomics.ref/wait.pass.cpp
    M libcxx/test/std/containers/associative/map/map.value_compare/types.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.value_compare/types.pass.cpp
    A libcxx/test/std/experimental/simd/simd.class/simd_copy.pass.cpp
    A libcxx/test/std/experimental/simd/simd.mask.class/simd_mask_copy.pass.cpp
    M libcxx/test/std/iterators/predef.iterators/counted.iterator/implicit_ctad.pass.cpp
    M libcxx/test/std/iterators/predef.iterators/insert.iterators/back.insert.iterator/implicit_ctad.pass.cpp
    M libcxx/test/std/iterators/predef.iterators/insert.iterators/front.insert.iterator/implicit_ctad.pass.cpp
    M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iterator/implicit_ctad.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_double.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_float.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long_double.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/reduce/pstl.reduce.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/transform.reduce/pstl.transform_reduce.binary.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/transform.reduce/pstl.transform_reduce.unary.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/assign.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/copy.pass.cpp
    M libcxx/test/std/strings/string.view/string.view.deduct/implicit.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/implicit_ctad.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/implicit_ctad.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/implicit_ctad.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/try_lock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/implicit_ctad.pass.cpp
    M libcxx/test/std/utilities/function.objects/func.search/func.search.bm/implicit_ctad.pass.cpp
    M libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/implicit_ctad.pass.cpp
    M libcxx/test/std/utilities/function.objects/func.search/func.search.default/implicit_ctad.pass.cpp
    M libcxx/test/std/utilities/function.objects/operations.implicit_ctad.pass.cpp
    M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/has_unique_object_representations.pass.cpp
    M libcxx/utils/libcxx/test/features.py
    M libcxxabi/include/cxxabi.h
    M libcxxabi/src/cxa_exception.cpp
    M libcxxabi/src/cxa_exception.h
    M libcxxabi/src/cxa_guard_impl.h
    M libcxxabi/src/cxa_personality.cpp
    M libunwind/include/__libunwind_config.h
    M libunwind/src/Unwind-wasm.c
    M libunwind/src/UnwindLevel1.c
    M libunwind/src/UnwindRegistersRestore.S
    M libunwind/src/UnwindRegistersSave.S
    M libunwind/src/libunwind.cpp
    M lld/COFF/DriverUtils.cpp
    M lld/ELF/Arch/AVR.cpp
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/InputSection.cpp
    M lld/ELF/Options.td
    M lld/ELF/OutputSections.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/docs/ld.lld.1
    A lld/test/COFF/arm64ec-exports.s
    A lld/test/ELF/aarch64-feature-gcs.s
    M lld/test/ELF/avr-reloc-error.s
    M lld/test/ELF/avr-reloc.s
    M lld/test/ELF/compress-debug-sections-zstd.s
    M lld/test/ELF/compress-sections-special.s
    M lld/test/ELF/compress-sections.s
    M lld/test/ELF/compressed-debug-level.test
    M lld/test/ELF/linkerscript/compress-debug-sections.s
    M lld/test/ELF/linkerscript/compress-sections.s
    R lld/test/ELF/loongarch-relax-align-ldr.s
    M lld/test/ELF/loongarch-relax-emit-relocs.s
    M lld/test/ELF/mips-eh_frame-pic.s
    M lldb/bindings/CMakeLists.txt
    M lldb/bindings/headers.swig
    M lldb/bindings/interfaces.swig
    M lldb/bindings/lua/CMakeLists.txt
    M lldb/bindings/python/CMakeLists.txt
    M lldb/include/lldb/API/SBCommandInterpreter.h
    M lldb/include/lldb/API/SBDebugger.h
    M lldb/include/lldb/API/SBExpressionOptions.h
    M lldb/include/lldb/Core/Debugger.h
    M lldb/include/lldb/Interpreter/CommandInterpreter.h
    M lldb/include/lldb/Symbol/CompilerType.h
    M lldb/include/lldb/Symbol/TypeSystem.h
    M lldb/include/lldb/lldb-types.h
    M lldb/source/API/SBCommandInterpreter.cpp
    M lldb/source/API/SBDebugger.cpp
    M lldb/source/API/SBExpressionOptions.cpp
    M lldb/source/Commands/CommandObjectThread.cpp
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Core/ValueObject.cpp
    M lldb/source/Core/ValueObjectConstResultImpl.cpp
    M lldb/source/Expression/IRExecutionUnit.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Interpreter/InterpreterProperties.td
    M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
    M lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
    M lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
    M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
    M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.h
    M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
    M lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
    M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
    M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
    M lldb/source/Symbol/CompilerType.cpp
    M lldb/source/Target/PathMappingList.cpp
    M lldb/source/Target/RegisterContextUnwind.cpp
    M lldb/test/API/commands/session/save/TestSessionSave.py
    M lldb/test/API/functionalities/bt-interrupt/main.c
    M lldb/test/API/functionalities/completion/TestCompletion.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/TestDataFormatterLibcxxChrono.py
    M lldb/test/API/lang/cpp/limit-debug-info/Makefile
    M lldb/test/API/lang/cpp/limit-debug-info/TestWithLimitDebugInfo.py
    M lldb/test/API/lang/cpp/limit-debug-info/base.cpp
    M lldb/test/API/lang/cpp/limit-debug-info/base.h
    M lldb/test/API/lang/cpp/limit-debug-info/derived.cpp
    M lldb/test/API/lang/cpp/limit-debug-info/derived.h
    M lldb/test/API/lang/cpp/limit-debug-info/main.cpp
    M lldb/test/API/python_api/debugger/TestDebuggerAPI.py
    M lldb/test/API/python_api/interpreter/TestCommandInterpreterAPI.py
    M lldb/test/API/python_api/interpreter/main.c
    M lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py
    M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
    A lldb/test/API/tools/lldb-dap/repl-mode/Makefile
    A lldb/test/API/tools/lldb-dap/repl-mode/TestDAP_repl_mode_detection.py
    A lldb/test/API/tools/lldb-dap/repl-mode/main.cpp
    M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
    M lldb/test/API/tools/lldb-server/attach-wait/TestGdbRemoteAttachWait.py
    A lldb/test/Shell/Unwind/Inputs/signal-in-leaf-function-aarch64.c
    A lldb/test/Shell/Unwind/signal-in-leaf-function-aarch64.test
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/JSONUtils.cpp
    M lldb/tools/lldb-dap/package.json
    M lldb/unittests/SymbolFile/DWARF/DWARFDIETest.cpp
    M lldb/unittests/UnwindAssembly/ARM64/TestArm64InstEmulation.cpp
    M llvm/cmake/modules/HandleLLVMOptions.cmake
    M llvm/docs/AMDGPUUsage.rst
    M llvm/docs/DeveloperPolicy.rst
    M llvm/docs/LangRef.rst
    M llvm/docs/MemorySSA.rst
    M llvm/docs/ORCv2.rst
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/docs/SPIRVUsage.rst
    M llvm/examples/ExceptionDemo/ExceptionDemo.cpp
    M llvm/include/llvm/Analysis/AliasSetTracker.h
    M llvm/include/llvm/Analysis/CFG.h
    M llvm/include/llvm/Analysis/ConstantFolding.h
    M llvm/include/llvm/Analysis/InstSimplifyFolder.h
    M llvm/include/llvm/Analysis/TargetFolder.h
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/VectorUtils.h
    M llvm/include/llvm/BinaryFormat/ELF.h
    M llvm/include/llvm/Bitcode/BitcodeWriter.h
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/CodeGen/ValueTypes.h
    M llvm/include/llvm/CodeGen/ValueTypes.td
    M llvm/include/llvm/CodeGenTypes/MachineValueType.h
    M llvm/include/llvm/ExecutionEngine/JITLink/aarch64.h
    M llvm/include/llvm/IR/ConstantFolder.h
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/IRBuilderFolder.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/include/llvm/IR/IntrinsicsX86.td
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/include/llvm/IR/NoFolder.h
    M llvm/include/llvm/LTO/legacy/ThinLTOCodeGenerator.h
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/include/llvm/MCA/IncrementalSourceMgr.h
    M llvm/include/llvm/MCA/InstrBuilder.h
    M llvm/include/llvm/Object/ObjectFile.h
    M llvm/include/llvm/ProfileData/InstrProf.h
    M llvm/include/llvm/ProfileData/InstrProfWriter.h
    M llvm/include/llvm/ProfileData/SampleProfReader.h
    M llvm/include/llvm/Support/KnownBits.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/include/llvm/TargetParser/X86TargetParser.def
    M llvm/include/llvm/Transforms/IPO/FunctionImport.h
    M llvm/include/llvm/Transforms/Utils/CallPromotionUtils.h
    M llvm/lib/Analysis/CFG.cpp
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
    M llvm/lib/CodeGen/BasicBlockSectionsProfileReader.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/LiveRangeEdit.cpp
    M llvm/lib/CodeGen/MachineScheduler.cpp
    M llvm/lib/CodeGen/ParallelCG.cpp
    M llvm/lib/CodeGen/RegisterPressure.cpp
    M llvm/lib/CodeGen/SelectOptimize.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/CodeGen/ValueTypes.cpp
    M llvm/lib/DWARFLinker/Parallel/OutputSections.h
    M llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp
    M llvm/lib/Frontend/OpenMP/OMPContext.cpp
    M llvm/lib/IR/ConstantFold.cpp
    M llvm/lib/IR/IRBuilder.cpp
    M llvm/lib/IR/MDBuilder.cpp
    M llvm/lib/IR/Mangler.cpp
    M llvm/lib/IR/Module.cpp
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/LTO/LTOBackend.cpp
    M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
    M llvm/lib/MC/MCDwarf.cpp
    M llvm/lib/MC/MCObjectStreamer.cpp
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/MC/MCSectionELF.cpp
    M llvm/lib/MC/MCStreamer.cpp
    M llvm/lib/MCA/InstrBuilder.cpp
    M llvm/lib/Object/MachOObjectFile.cpp
    M llvm/lib/Option/OptTable.cpp
    M llvm/lib/ProfileData/InstrProf.cpp
    M llvm/lib/ProfileData/InstrProfCorrelator.cpp
    M llvm/lib/ProfileData/InstrProfReader.cpp
    M llvm/lib/ProfileData/InstrProfWriter.cpp
    M llvm/lib/ProfileData/SampleProfReader.cpp
    M llvm/lib/Support/CommandLine.cpp
    M llvm/lib/Support/KnownBits.cpp
    M llvm/lib/Support/LockFileManager.cpp
    M llvm/lib/Support/raw_socket_stream.cpp
    M llvm/lib/Target/AArch64/AArch64ExpandImm.cpp
    M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.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/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
    M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
    M llvm/lib/Target/AArch64/AArch64PointerAuth.h
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
    M llvm/lib/Target/AArch64/AArch64Subtarget.h
    M llvm/lib/Target/AArch64/AArch64SystemOperands.td
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
    A llvm/lib/Target/AMDGPU/AMDGPUCodeGenPassBuilder.cpp
    A llvm/lib/Target/AMDGPU/AMDGPUCodeGenPassBuilder.h
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
    M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
    A llvm/lib/Target/AMDGPU/R600CodeGenPassBuilder.cpp
    A llvm/lib/Target/AMDGPU/R600CodeGenPassBuilder.h
    M llvm/lib/Target/AMDGPU/R600TargetMachine.cpp
    M llvm/lib/Target/AMDGPU/R600TargetMachine.h
    M llvm/lib/Target/AMDGPU/SIDefines.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTInfo.h
    M llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.h
    M llvm/lib/Target/AMDGPU/Utils/CMakeLists.txt
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/lib/Target/BPF/BPFMIChecking.cpp
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchSubtarget.h
    M llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.cpp
    M llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.h
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h
    M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXUtilities.cpp
    M llvm/lib/Target/NVPTX/NVPTXUtilities.h
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.td
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
    M llvm/lib/Target/RISCV/RISCVScheduleV.td
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
    M llvm/lib/Target/X86/X86.td
    M llvm/lib/Target/X86/X86FixupBWInsts.cpp
    M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.h
    M llvm/lib/Target/X86/X86Instr3DNow.td
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrFragments.td
    M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.h
    M llvm/lib/Target/X86/X86InstrPredicates.td
    M llvm/lib/Target/X86/X86IntrinsicsInfo.h
    M llvm/lib/Target/X86/X86Subtarget.h
    M llvm/lib/TargetParser/Host.cpp
    M llvm/lib/TargetParser/X86TargetParser.cpp
    M llvm/lib/TextAPI/Utils.cpp
    M llvm/lib/Transforms/Coroutines/CoroElide.cpp
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/lib/Transforms/Scalar/DivRemPairs.cpp
    M llvm/lib/Transforms/Scalar/GVNSink.cpp
    M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/lib/Transforms/Scalar/NaryReassociate.cpp
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
    M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
    M llvm/lib/Transforms/Utils/CloneFunction.cpp
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanValue.h
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Analysis/CostModel/AArch64/cast.ll
    M llvm/test/Analysis/CostModel/AMDGPU/shufflevector.ll
    A llvm/test/Analysis/CostModel/RISCV/cmp-select.ll
    M llvm/test/Analysis/LoopAccessAnalysis/depend_diff_types.ll
    M llvm/test/Analysis/LoopAccessAnalysis/forward-loop-independent.ll
    M llvm/test/Analysis/LoopAccessAnalysis/invariant-dependence-before.ll
    M llvm/test/Analysis/LoopAccessAnalysis/loop-invariant-dep-with-backedge-taken-count.ll
    M llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-backward.ll
    M llvm/test/Analysis/LoopAccessAnalysis/pr64637.ll
    M llvm/test/Analysis/LoopAccessAnalysis/stride-access-dependence.ll
    M llvm/test/Analysis/ScalarEvolution/exhaustive-trip-counts.ll
    M llvm/test/Assembler/ConstantExprFold.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir
    M llvm/test/CodeGen/AArch64/arm64-vhadd.ll
    M llvm/test/CodeGen/AArch64/bitfield-insert.ll
    A llvm/test/CodeGen/AArch64/exp10-libcall-names.ll
    M llvm/test/CodeGen/AArch64/frem-power2.ll
    M llvm/test/CodeGen/AArch64/hadd-combine.ll
    A llvm/test/CodeGen/AArch64/movimm-expand-ldst.ll
    A llvm/test/CodeGen/AArch64/movimm-expand-ldst.mir
    M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
    A llvm/test/CodeGen/AArch64/selectopt-not.ll
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-add-sub-za16.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-ld1.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-ldnt1.ll
    A llvm/test/CodeGen/AArch64/sve-callee-save-restore-pairs.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-vector-shuffle-tbl.ll
    M llvm/test/CodeGen/AArch64/sve-fp-reduce-fadda.ll
    A llvm/test/CodeGen/AArch64/sve-pr92779.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-and-combine.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bit-counting.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitcast.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitselect.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-build-vector.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-concat.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ext-loads.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-extract-subvector.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-extract-vector-elt.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-arith.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-compares.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-convert.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-extend-trunc.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-fma.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-minmax.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce-fa64.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-rounding.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-select.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-to-int.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-insert-vector-elt.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-arith.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-compares.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-div.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-extends.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-immediates.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-log.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-minmax.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mla-neon-fa64.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mulh.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-rem.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-select.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-shifts.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-to-fp.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ld2-alloca.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-limit-duplane.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-loads.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-log-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-load.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-store.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-optimize-ptrue.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-permute-rev.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-permute-zip-uzp-trn.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ptest.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-reshuffle.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-rev.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-sdiv-pow2.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-shuffle.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-splat-vector.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-stores.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-subvector.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc-stores.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-vector-shuffle.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-test-register-mov.ll
    M llvm/test/CodeGen/AArch64/trunc-to-tbl.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ctlz-zero-undef.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-trap-gfx11.mir
    M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fdiv.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll
    A llvm/test/CodeGen/AMDGPU/call-defs-mode-register.ll
    M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
    M llvm/test/CodeGen/AMDGPU/cttz.ll
    M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
    M llvm/test/CodeGen/AMDGPU/dpp_combine.ll
    M llvm/test/CodeGen/AMDGPU/global_atomic_optimizer_fp_rtn.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_optimizer_fp_no_rtn.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
    A llvm/test/CodeGen/AMDGPU/kernel_code_t_recurse.ll
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.pops.exiting.wave.id.ll
    M llvm/test/CodeGen/AMDGPU/lower-ctor-dtor-constexpr-alias.ll
    M llvm/test/CodeGen/AMDGPU/lower-ctor-dtor.ll
    A llvm/test/CodeGen/AMDGPU/match-perm-extract-vector-elt-bug.ll
    M llvm/test/CodeGen/AMDGPU/permute_i8.ll
    M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
    M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
    M llvm/test/CodeGen/AMDGPU/trap-abis.ll
    A llvm/test/CodeGen/ARM/exp10-libcall-names.ll
    M llvm/test/CodeGen/ARM/frem-power2.ll
    M llvm/test/CodeGen/BPF/xadd.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/sdiv-udiv-srem-urem.ll
    M llvm/test/CodeGen/Mips/msa/inline-asm.ll
    A llvm/test/CodeGen/NVPTX/i1-array-global.ll
    A llvm/test/CodeGen/NVPTX/param-overalign.ll
    A llvm/test/CodeGen/NVPTX/st-param-imm.ll
    A llvm/test/CodeGen/PowerPC/pr92233.ll
    A llvm/test/CodeGen/PowerPC/toc-data-no-data-sections.ll
    M llvm/test/CodeGen/PowerPC/toc-data.ll
    M llvm/test/CodeGen/PowerPC/vec_shuffle.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/constbarrier-rv32.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/constbarrier-rv64.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/freeze.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-constbarrier-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-constbarrier-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-div-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-div-rv64.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-freeze-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-freeze-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-lshr-rv64.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-sat-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-sat-rv64.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/shift.ll
    M llvm/test/CodeGen/RISCV/O0-pipeline.ll
    M llvm/test/CodeGen/RISCV/O3-pipeline.ll
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/CodeGen/RISCV/early-clobber-tied-def-subreg-liveness.ll
    M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts-vscale.ll
    M llvm/test/CodeGen/RISCV/loop-strength-reduce-loop-invar.ll
    M llvm/test/CodeGen/RISCV/mul.ll
    M llvm/test/CodeGen/RISCV/pr69586.ll
    A llvm/test/CodeGen/RISCV/pr90730.ll
    M llvm/test/CodeGen/RISCV/regalloc-last-chance-recoloring-failure.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zba.ll
    M llvm/test/CodeGen/RISCV/rv64zba.ll
    M llvm/test/CodeGen/RISCV/rvv/abs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/access-fixed-objects-by-rvv.ll
    M llvm/test/CodeGen/RISCV/rvv/active_lane_mask.ll
    M llvm/test/CodeGen/RISCV/rvv/bitreverse-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/bswap-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/calling-conv-fastcc.ll
    M llvm/test/CodeGen/RISCV/rvv/ceil-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/combine-store-extract-crash.ll
    M llvm/test/CodeGen/RISCV/rvv/compressstore.ll
    M llvm/test/CodeGen/RISCV/rvv/concat-vector-insert-elt.ll
    M llvm/test/CodeGen/RISCV/rvv/constant-folding-crash.ll
    M llvm/test/CodeGen/RISCV/rvv/ctlz-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/ctlz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/ctpop-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/cttz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/extractelt-i1.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vector-i8-index-cornercase.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitreverse-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bswap-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-buildvec-of-binop.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ceil-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctlz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctpop-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-deinterleave-load.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-i1.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-subvector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-floor-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i-sat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptosi-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptoui-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptrunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-explodevector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access-zve32x.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-llrint.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-lrint.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-splat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-load-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-store-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-nearbyint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-formation.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-mask-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-rint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-round-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundeven-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundtozero-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sad.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-concat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-transpose.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-combine.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpstore.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-trunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-uitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-unaligned.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vaaddu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vand-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vcopysign-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfabs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfma-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmuladd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfneg-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfsqrt-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwadd.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmul.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwsub.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmaxu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vminu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpgather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpmerge.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpscatter.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpstore.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vscale-range.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulsu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsub.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/floor-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fmaximum-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fminimum-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
    M llvm/test/CodeGen/RISCV/rvv/fptosi-sat.ll
    M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/llrint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/lrint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/masked-tama.ll
    M llvm/test/CodeGen/RISCV/rvv/mgather-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/mscatter-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/nearbyint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/pr63596.ll
    M llvm/test/CodeGen/RISCV/rvv/rint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/round-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/roundeven-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/roundtozero-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/rv32-spill-vector-csr.ll
    M llvm/test/CodeGen/RISCV/rvv/rv64-spill-vector-csr.ll
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/shuffle-reverse.ll
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
    M llvm/test/CodeGen/RISCV/rvv/splat-vector-split-i64-vl-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/sshl_sat_vec.ll
    M llvm/test/CodeGen/RISCV/rvv/stepvector.ll
    M llvm/test/CodeGen/RISCV/rvv/strided-vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/strided-vpstore.ll
    M llvm/test/CodeGen/RISCV/rvv/vaaddu-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vcopysign-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vcpop.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-store.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-splice.ll
    M llvm/test/CodeGen/RISCV/rvv/vfabs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfdiv-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfirst.ll
    M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmadd-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmadd-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmsub-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmul-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmuladd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfneg-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfnmadd-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfnmsub-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfpext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptosi-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptoui-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptrunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsqrt-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwnmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwnmsac-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vitofp-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmaxu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfeq.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfge.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfgt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfle.ll
    M llvm/test/CodeGen/RISCV/rvv/vmflt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfne.ll
    M llvm/test/CodeGen/RISCV/rvv/vmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vminu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsbf.ll
    M llvm/test/CodeGen/RISCV/rvv/vmseq.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsge.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgeu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgtu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsif.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsle.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsleu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmslt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsltu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsne.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsof.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-cttz-elts.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-reverse-int.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-reverse-mask-fixed-vectors.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-reverse-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-fixed-vectors.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-vectors.ll
    M llvm/test/CodeGen/RISCV/rvv/vpgather-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/vpmerge-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vpscatter-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vpstore.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-mask-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vrgatherei16-subreg-liveness.ll
    M llvm/test/CodeGen/RISCV/rvv/vsadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsaddu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vselect-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/vselect-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
    M llvm/test/CodeGen/RISCV/rvv/vsext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vssub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vssubu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vtrunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vuitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vxrm-insert.ll
    M llvm/test/CodeGen/RISCV/rvv/vzext-vp.ll
    M llvm/test/CodeGen/RISCV/sextw-removal.ll
    M llvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll
    M llvm/test/CodeGen/SPIRV/branching/switch-range-check.ll
    A llvm/test/CodeGen/SPIRV/execution-mode-reqd_work_group_size.ll
    A llvm/test/CodeGen/SPIRV/execution-mode-work_group_size_hint.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_variable_length_array/builtin_alloca.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_shader_clock/shader_clock.ll
    A llvm/test/CodeGen/SPIRV/phi-insert-point.ll
    A llvm/test/CodeGen/SPIRV/phi-ptrcast-dominate.ll
    M llvm/test/CodeGen/SystemZ/atomicrmw-ops-i128.ll
    M llvm/test/CodeGen/Thumb2/mve-vecreduce-add.ll
    M llvm/test/CodeGen/WebAssembly/lower-em-exceptions.ll
    A llvm/test/CodeGen/X86/apx/ccmp-flags-copy-lowering.mir
    M llvm/test/CodeGen/X86/avx512-cmp-kor-sequence.ll
    M llvm/test/CodeGen/X86/avx512-gather-scatter-intrin-deprecated.ll
    M llvm/test/CodeGen/X86/avx512-gather-scatter-intrin.ll
    R llvm/test/CodeGen/X86/avx512er-intrinsics.ll
    M llvm/test/CodeGen/X86/bfloat.ll
    A llvm/test/CodeGen/X86/coalescer-add-implicit-def-subreg-to-reg-regression.ll
    M llvm/test/CodeGen/X86/combine-srem.ll
    M llvm/test/CodeGen/X86/crc32-target-feature.ll
    A llvm/test/CodeGen/X86/exp10-libcall-names.ll
    M llvm/test/CodeGen/X86/fat-lto-section.ll
    M llvm/test/CodeGen/X86/insert-prefetch-invalid-instr.ll
    A llvm/test/CodeGen/X86/issue76416.ll
    M llvm/test/CodeGen/X86/opt-pipeline.ll
    M llvm/test/CodeGen/X86/pmul.ll
    A llvm/test/CodeGen/X86/pr90703.ll
    A llvm/test/CodeGen/X86/pr92569.ll
    A llvm/test/CodeGen/X86/pr92720.ll
    M llvm/test/CodeGen/X86/prefetch.ll
    M llvm/test/CodeGen/X86/shrink_vmul.ll
    M llvm/test/CodeGen/X86/speculative-load-hardening-gather.ll
    M llvm/test/CodeGen/X86/stack-folding-fp-avx512fp16.ll
    M llvm/test/CodeGen/X86/stack-frame-layout-remarks.ll
    M llvm/test/CodeGen/X86/unfoldMemoryOperand.mir
    A llvm/test/CodeGen/X86/vec-strict-cmp-512-skx.ll
    M llvm/test/CodeGen/X86/vector-bitreverse.ll
    A llvm/test/DebugInfo/X86/debug-names-split-dwarf-inlining.ll
    M llvm/test/DebugInfo/X86/debug-names-types.ll
    M llvm/test/ExecutionEngine/JITLink/AArch64/ELF_relocations.s
    A llvm/test/Instrumentation/HWAddressSanitizer/mem-attr.ll
    A llvm/test/Linker/darwin-target-variant.ll
    M llvm/test/MC/AArch64/FP8/system-regs.s
    A llvm/test/MC/AArch64/SVE/condition-codes.s
    R llvm/test/MC/AArch64/SVE/condtion-codes.s
    M llvm/test/MC/AArch64/SVE/sqdecd-diagnostics.s
    M llvm/test/MC/AArch64/SVE/sqincp-diagnostics.s
    A llvm/test/MC/AMDGPU/amd_kernel_code_t.s
    M llvm/test/MC/AsmParser/assembler-expressions-inlineasm.ll
    M llvm/test/MC/AsmParser/macro-arg.s
    M llvm/test/MC/AsmParser/macro-irp.s
    R llvm/test/MC/AsmParser/macro-rept-err1.s
    R llvm/test/MC/AsmParser/macro-rept-err2.s
    M llvm/test/MC/AsmParser/macro-rept.s
    M llvm/test/MC/ELF/section-numeric-invalid-type.s
    M llvm/test/MC/LoongArch/Relocations/relax-addsub.s
    M llvm/test/MC/LoongArch/Relocations/relax-align.s
    M llvm/test/MC/MachO/darwin-target-variant-reverse.ll
    M llvm/test/MC/MachO/darwin-target-variant.ll
    M llvm/test/MC/RISCV/rv32zaamo-invalid.s
    M llvm/test/MC/RISCV/rv32zaamo-valid.s
    M llvm/test/MC/RISCV/rv32zalrsc-invalid.s
    M llvm/test/MC/RISCV/rv32zalrsc-valid.s
    M llvm/test/MC/RISCV/rv64zaamo-invalid.s
    M llvm/test/MC/RISCV/rv64zaamo-valid.s
    M llvm/test/MC/RISCV/rv64zalrsc-invalid.s
    M llvm/test/MC/RISCV/rv64zalrsc-valid.s
    M llvm/test/Other/constant-fold-gep.ll
    M llvm/test/Other/optimize-inrange-gep.ll
    M llvm/test/TableGen/predicate-patfags.td
    M llvm/test/ThinLTO/X86/funcimport-stats.ll
    A llvm/test/ThinLTO/X86/import_callee_declaration.ll
    M llvm/test/Transforms/Attributor/nofpclass.ll
    M llvm/test/Transforms/ConstraintElimination/sext-unsigned-predicates.ll
    M llvm/test/Transforms/ConstraintElimination/transfer-signed-facts-to-unsigned.ll
    A llvm/test/Transforms/Coroutines/coro-lifetime-end.ll
    A llvm/test/Transforms/DivRemPairs/AMDGPU/div-rem-pairs.ll
    A llvm/test/Transforms/DivRemPairs/AMDGPU/lit.local.cfg
    M llvm/test/Transforms/FunctionImport/funcimport.ll
    M llvm/test/Transforms/FunctionSpecialization/function-specialization-constant-expression.ll
    M llvm/test/Transforms/GVN/PRE/load-pre-licm.ll
    M llvm/test/Transforms/GVN/PRE/phi-translate-2.ll
    M llvm/test/Transforms/GVNHoist/infinite-loop-indirect.ll
    A llvm/test/Transforms/GVNSink/sink-ignore-dbg-intrinsics.ll
    M llvm/test/Transforms/IndVarSimplify/D108043.ll
    M llvm/test/Transforms/IndVarSimplify/eliminate-exit-no-dl.ll
    M llvm/test/Transforms/IndVarSimplify/floating-point-small-iv.ll
    M llvm/test/Transforms/IndVarSimplify/lftr-dead-ivs.ll
    M llvm/test/Transforms/IndVarSimplify/lftr.ll
    M llvm/test/Transforms/Inline/inline_invoke.ll
    M llvm/test/Transforms/InstCombine/addrspacecast.ll
    M llvm/test/Transforms/InstCombine/align-addr.ll
    M llvm/test/Transforms/InstCombine/and-fcmp.ll
    M llvm/test/Transforms/InstCombine/binop-select-cast-of-select-cond.ll
    M llvm/test/Transforms/InstCombine/cast_ptr.ll
    M llvm/test/Transforms/InstCombine/constant-fold-address-space-pointer.ll
    M llvm/test/Transforms/InstCombine/constant-fold-gep.ll
    M llvm/test/Transforms/InstCombine/fma.ll
    M llvm/test/Transforms/InstCombine/fmul.ll
    M llvm/test/Transforms/InstCombine/force-opaque-ptr.ll
    M llvm/test/Transforms/InstCombine/fortify-folding.ll
    M llvm/test/Transforms/InstCombine/gep-custom-dl.ll
    M llvm/test/Transforms/InstCombine/getelementptr.ll
    M llvm/test/Transforms/InstCombine/hoist-xor-by-constant-from-xor-by-value.ll
    M llvm/test/Transforms/InstCombine/known-bits.ll
    M llvm/test/Transforms/InstCombine/load-cmp.ll
    M llvm/test/Transforms/InstCombine/loadstore-alignment.ll
    M llvm/test/Transforms/InstCombine/memchr-2.ll
    M llvm/test/Transforms/InstCombine/memchr-4.ll
    M llvm/test/Transforms/InstCombine/memchr-6.ll
    M llvm/test/Transforms/InstCombine/memchr-7.ll
    M llvm/test/Transforms/InstCombine/memchr-8.ll
    M llvm/test/Transforms/InstCombine/memchr-9.ll
    M llvm/test/Transforms/InstCombine/memchr.ll
    M llvm/test/Transforms/InstCombine/memcmp-8.ll
    M llvm/test/Transforms/InstCombine/memcpy-from-global.ll
    M llvm/test/Transforms/InstCombine/memrchr-3.ll
    M llvm/test/Transforms/InstCombine/memrchr-4.ll
    M llvm/test/Transforms/InstCombine/merging-multiple-stores-into-successor.ll
    M llvm/test/Transforms/InstCombine/objsize.ll
    M llvm/test/Transforms/InstCombine/or-fcmp.ll
    A llvm/test/Transforms/InstCombine/pow-to-ldexp.ll
    M llvm/test/Transforms/InstCombine/pow_fp_int.ll
    M llvm/test/Transforms/InstCombine/pow_fp_int16.ll
    M llvm/test/Transforms/InstCombine/pr25342.ll
    M llvm/test/Transforms/InstCombine/pr33453.ll
    M llvm/test/Transforms/InstCombine/pr38984-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/pr38984.ll
    M llvm/test/Transforms/InstCombine/pr83947.ll
    M llvm/test/Transforms/InstCombine/ptr-replace-alloca.ll
    M llvm/test/Transforms/InstCombine/rem.ll
    M llvm/test/Transforms/InstCombine/select-and-or.ll
    M llvm/test/Transforms/InstCombine/simplify-libcalls-i16.ll
    M llvm/test/Transforms/InstCombine/simplify-libcalls.ll
    M llvm/test/Transforms/InstCombine/snprintf-2.ll
    M llvm/test/Transforms/InstCombine/snprintf-3.ll
    M llvm/test/Transforms/InstCombine/snprintf-4.ll
    M llvm/test/Transforms/InstCombine/stpcpy-1.ll
    M llvm/test/Transforms/InstCombine/stpcpy_chk-1.ll
    M llvm/test/Transforms/InstCombine/stpncpy-1.ll
    M llvm/test/Transforms/InstCombine/str-int-2.ll
    M llvm/test/Transforms/InstCombine/str-int-3.ll
    M llvm/test/Transforms/InstCombine/str-int-4.ll
    M llvm/test/Transforms/InstCombine/str-int-5.ll
    M llvm/test/Transforms/InstCombine/str-int.ll
    M llvm/test/Transforms/InstCombine/strcall-bad-sig.ll
    M llvm/test/Transforms/InstCombine/strcall-no-nul.ll
    M llvm/test/Transforms/InstCombine/strchr-1.ll
    M llvm/test/Transforms/InstCombine/strchr-3.ll
    M llvm/test/Transforms/InstCombine/strcmp-4.ll
    M llvm/test/Transforms/InstCombine/strlcpy-1.ll
    M llvm/test/Transforms/InstCombine/strlen-1.ll
    M llvm/test/Transforms/InstCombine/strlen-6.ll
    M llvm/test/Transforms/InstCombine/strpbrk-1.ll
    M llvm/test/Transforms/InstCombine/strrchr-1.ll
    M llvm/test/Transforms/InstCombine/strrchr-3.ll
    M llvm/test/Transforms/InstCombine/strstr-1.ll
    M llvm/test/Transforms/InstCombine/vec_demanded_elts-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
    M llvm/test/Transforms/InstCombine/vec_shuffle-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/vec_shuffle.ll
    M llvm/test/Transforms/InstCombine/vector-logical-reductions.ll
    M llvm/test/Transforms/InstCombine/vector-reductions.ll
    M llvm/test/Transforms/InstCombine/wcslen-1.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/gep-alias.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/gep-constanfolding-error.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/gep.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/icmp-global.ll
    M llvm/test/Transforms/InstSimplify/compare.ll
    M llvm/test/Transforms/InstSimplify/known-non-zero.ll
    M llvm/test/Transforms/InstSimplify/past-the-end.ll
    M llvm/test/Transforms/InstSimplify/shufflevector.ll
    M llvm/test/Transforms/InterleavedAccess/AArch64/fixed-deinterleave-intrinsics.ll
    M llvm/test/Transforms/LICM/scalar-promote-unwind.ll
    A llvm/test/Transforms/LoopLoadElim/update-debugloc-store-forwarded.ll
    M llvm/test/Transforms/LoopStrengthReduce/2011-12-19-PostincQuadratic.ll
    M llvm/test/Transforms/LoopStrengthReduce/X86/2012-01-13-phielim.ll
    M llvm/test/Transforms/LoopStrengthReduce/X86/pr40514.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/streaming-compatible-sve-no-maximize-bandwidth.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
    M llvm/test/Transforms/LoopVectorize/LoongArch/defaults.ll
    A llvm/test/Transforms/LoopVectorize/LoongArch/loongarch-interleaved.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/optimal-epilog-vectorization-profitability.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr23997.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr42674.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr54634.ll
    M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
    M llvm/test/Transforms/LoopVectorize/outer_loop_test1.ll
    M llvm/test/Transforms/LoopVectorize/pr47343-expander-lcssa-after-cfg-update.ll
    M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
    M llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll
    M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
    M llvm/test/Transforms/LoopVersioning/add-phi-update-users.ll
    M llvm/test/Transforms/LoopVersioning/bound-check-partially-known.ll
    M llvm/test/Transforms/LowerTypeTests/cfi-unwind-direct-call.ll
    A llvm/test/Transforms/NaryReassociate/preserving-debugloc-add-mul.ll
    M llvm/test/Transforms/NewGVN/2011-09-07-TypeIdFor.ll
    M llvm/test/Transforms/NewGVN/loadforward.ll
    M llvm/test/Transforms/OpenMP/custom_state_machines.ll
    M llvm/test/Transforms/OpenMP/custom_state_machines_pre_lto.ll
    M llvm/test/Transforms/OpenMP/custom_state_machines_remarks.ll
    M llvm/test/Transforms/OpenMP/spmdization.ll
    M llvm/test/Transforms/OpenMP/spmdization_guarding.ll
    M llvm/test/Transforms/OpenMP/spmdization_remarks.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll
    M llvm/test/Transforms/PhaseOrdering/SystemZ/sub-xor.ll
    M llvm/test/Transforms/PhaseOrdering/X86/excessive-unrolling.ll
    M llvm/test/Transforms/SCCP/2009-09-24-byval-ptr.ll
    M llvm/test/Transforms/SCCP/apint-bigint2.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/gather-cost.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/crash_extract_subvector_cost.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/phi-result-use-order.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/reduction.ll
    A llvm/test/Transforms/SLPVectorizer/RISCV/scatter-vectorize-reversed.ll
    M llvm/test/Transforms/SLPVectorizer/X86/blending-shuffle.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr47623.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vector_gep.ll
    M llvm/test/Transforms/ScalarizeMaskedMemIntrin/AArch64/streaming-compatible-expand-masked-gather-scatter.ll
    M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/reorder-gep.ll
    M llvm/test/Transforms/Util/add-TLI-mappings.ll
    M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
    M llvm/test/Transforms/VectorCombine/X86/select-shuffle.ll
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/phi-labels.ll.expected
    M llvm/test/tools/UpdateTestChecks/update_test_checks/phi-labels.test
    M llvm/test/tools/llvm-driver/symlink-call.test
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-clear-upper-regs.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-clear-upper-regs.s
    A llvm/test/tools/llvm-mca/X86/call-latency.s
    A llvm/test/tools/llvm-objcopy/tool-options.test
    M llvm/tools/dsymutil/MachODebugMapParser.cpp
    M llvm/tools/llvm-cxxfilt/CMakeLists.txt
    M llvm/tools/llvm-link/llvm-link.cpp
    M llvm/tools/llvm-lto/llvm-lto.cpp
    M llvm/tools/llvm-mc/llvm-mc.cpp
    M llvm/tools/llvm-mca/llvm-mca.cpp
    M llvm/tools/llvm-ml/llvm-ml.cpp
    M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
    M llvm/tools/llvm-profdata/llvm-profdata.cpp
    M llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp
    M llvm/unittests/Analysis/ValueTrackingTest.cpp
    M llvm/unittests/IR/MDBuilderTest.cpp
    M llvm/unittests/Support/KnownBitsTest.cpp
    M llvm/unittests/Support/raw_socket_stream_test.cpp
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
    M llvm/unittests/TargetParser/TargetParserTest.cpp
    M llvm/unittests/Transforms/Utils/CallPromotionUtilsTest.cpp
    M llvm/unittests/tools/llvm-mca/MCATestBase.cpp
    M llvm/unittests/tools/llvm-mca/X86/TestIncrementalMCA.cpp
    M llvm/utils/TableGen/ARMTargetDefEmitter.cpp
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
    M llvm/utils/TableGen/GlobalISelEmitter.cpp
    M llvm/utils/UpdateTestChecks/asm.py
    M llvm/utils/UpdateTestChecks/common.py
    M llvm/utils/UpdateTestChecks/isel.py
    M llvm/utils/git/requirements.txt
    M llvm/utils/gn/secondary/clang/lib/Analysis/FlowSensitive/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/Tooling/BUILD.gn
    R llvm/utils/gn/secondary/clang/lib/Tooling/DumpTool/BUILD.gn
    M llvm/utils/gn/secondary/clang/unittests/BUILD.gn
    R llvm/utils/gn/secondary/clang/unittests/Introspection/BUILD.gn
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
    M llvm/utils/revert_checker.py
    M llvm/utils/update_analyze_test_checks.py
    M llvm/utils/update_cc_test_checks.py
    M llvm/utils/update_llc_test_checks.py
    M llvm/utils/update_test_checks.py
    M mlir/include/mlir/Analysis/CFGLoopInfo.h
    M mlir/include/mlir/Analysis/DataFlow/SparseAnalysis.h
    M mlir/include/mlir/Analysis/SliceAnalysis.h
    A mlir/include/mlir/Analysis/TopologicalSortUtils.h
    M mlir/include/mlir/Dialect/IRDL/IR/IRDLOps.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/Math/Transforms/Passes.h
    M mlir/include/mlir/Dialect/Mesh/IR/MeshBase.td
    M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.h
    M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.h
    M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.td
    A mlir/include/mlir/Dialect/OpenMP/OpenMPAttrDefs.td
    A mlir/include/mlir/Dialect/OpenMP/OpenMPDialect.td
    A mlir/include/mlir/Dialect/OpenMP/OpenMPEnums.td
    A mlir/include/mlir/Dialect/OpenMP/OpenMPOpBase.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
    M mlir/include/mlir/Dialect/Polynomial/IR/CMakeLists.txt
    M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.h
    M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
    A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialAttributes.td
    A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialDialect.td
    A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialTypes.td
    M mlir/include/mlir/Dialect/SCF/Transforms/TileUsingInterface.h
    M mlir/include/mlir/Dialect/Tensor/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
    M mlir/include/mlir/IR/Block.h
    M mlir/include/mlir/Interfaces/TilingInterface.td
    M mlir/include/mlir/Interfaces/Utils/InferIntRangeCommon.h
    M mlir/include/mlir/Transforms/OneToNTypeConversion.h
    M mlir/include/mlir/Transforms/RegionUtils.h
    R mlir/include/mlir/Transforms/TopologicalSortUtils.h
    M mlir/lib/Analysis/CFGLoopInfo.cpp
    M mlir/lib/Analysis/CMakeLists.txt
    M mlir/lib/Analysis/SliceAnalysis.cpp
    A mlir/lib/Analysis/TopologicalSortUtils.cpp
    M mlir/lib/Bindings/Python/IRAttributes.cpp
    M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
    M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
    M mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
    M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
    M mlir/lib/Conversion/VectorToArmSME/VectorToArmSME.cpp
    M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
    M mlir/lib/Dialect/Affine/Utils/LoopFusionUtils.cpp
    M mlir/lib/Dialect/Arith/IR/InferIntRangeInterfaceImpls.cpp
    M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
    M mlir/lib/Dialect/Func/Transforms/OneToNFuncConversions.cpp
    M mlir/lib/Dialect/IRDL/IR/IRDL.cpp
    M mlir/lib/Dialect/Index/IR/InferIntRangeInterfaceImpls.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/MeshShardingInterfaceImpl.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
    M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
    M mlir/lib/Dialect/Mesh/Interfaces/ShardingInterface.cpp
    M mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp
    M mlir/lib/Dialect/Mesh/Transforms/Spmdization.cpp
    M mlir/lib/Dialect/Polynomial/IR/CMakeLists.txt
    M mlir/lib/Dialect/Polynomial/IR/PolynomialAttributes.cpp
    A mlir/lib/Dialect/Polynomial/IR/PolynomialCanonicalization.td
    M mlir/lib/Dialect/Polynomial/IR/PolynomialOps.cpp
    M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
    M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/lib/Dialect/Tensor/Transforms/EmptyOpPatterns.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
    M mlir/lib/IR/AsmPrinter.cpp
    M mlir/lib/Interfaces/Utils/InferIntRangeCommon.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenACC/OpenACCToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/lib/Tools/lsp-server-support/Transport.cpp
    M mlir/lib/Tools/mlir-lsp-server/MLIRServer.cpp
    M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
    M mlir/lib/Transforms/Mem2Reg.cpp
    M mlir/lib/Transforms/SROA.cpp
    M mlir/lib/Transforms/TopologicalSort.cpp
    M mlir/lib/Transforms/Utils/CMakeLists.txt
    M mlir/lib/Transforms/Utils/OneToNTypeConversion.cpp
    M mlir/lib/Transforms/Utils/RegionUtils.cpp
    R mlir/lib/Transforms/Utils/TopologicalSortUtils.cpp
    M mlir/lib/Transforms/ViewOpGraph.cpp
    M mlir/test/Analysis/test-topoligical-sort.mlir
    A mlir/test/Analysis/test-toposort.mlir
    M mlir/test/Conversion/ArithToEmitC/arith-to-emitc-unsupported.mlir
    M mlir/test/Conversion/ArithToEmitC/arith-to-emitc.mlir
    A mlir/test/Conversion/ArithToSPIRV/arith-to-spirv-le-specific.mlir
    M mlir/test/Conversion/ArithToSPIRV/arith-to-spirv-unsupported.mlir
    M mlir/test/Conversion/ArmSMEToLLVM/tile-spills-and-fills.mlir
    M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
    M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
    M mlir/test/Conversion/VectorToArmSME/vector-to-arm-sme.mlir
    M mlir/test/Dialect/Affine/slicing-utils.mlir
    M mlir/test/Dialect/Arith/int-range-interface.mlir
    M mlir/test/Dialect/Arith/int-range-opts.mlir
    M mlir/test/Dialect/IRDL/invalid.irdl.mlir
    A mlir/test/Dialect/Linalg/mesh-sharding-propagation.mlir
    M mlir/test/Dialect/Linalg/transform-op-specialize.mlir
    A mlir/test/Dialect/Linalg/transform-op-specialize_elemwise_binary.mlir
    A mlir/test/Dialect/Linalg/transform-op-specialize_elemwise_unary.mlir
    M mlir/test/Dialect/Linalg/transform-tile-reduction.mlir
    M mlir/test/Dialect/MemRef/canonicalize.mlir
    M mlir/test/Dialect/Mesh/sharding-propagation.mlir
    M mlir/test/Dialect/Mesh/spmdization.mlir
    A mlir/test/Dialect/Polynomial/canonicalization.mlir
    M mlir/test/Dialect/Polynomial/ops.mlir
    M mlir/test/Dialect/Tensor/canonicalize.mlir
    M mlir/test/Dialect/Tensor/fold-empty-op.mlir
    M mlir/test/Dialect/Vector/vector-transfer-collapse-inner-most-dims.mlir
    M mlir/test/Dialect/Vector/vector-transfer-permutation-lowering.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/use-too-many-tiles.mlir
    M mlir/test/Target/LLVMIR/Import/intrinsic.ll
    M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
    R mlir/test/Transforms/test-toposort.mlir
    M mlir/test/lib/Analysis/CMakeLists.txt
    M mlir/test/lib/Analysis/DataFlow/TestSparseBackwardDataFlowAnalysis.cpp
    M mlir/test/lib/Analysis/TestSlice.cpp
    A mlir/test/lib/Analysis/TestTopologicalSort.cpp
    M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
    M mlir/test/lib/Transforms/CMakeLists.txt
    R mlir/test/lib/Transforms/TestTopologicalSort.cpp
    M mlir/test/python/ir/array_attributes.py
    M mlir/unittests/Dialect/CMakeLists.txt
    A mlir/unittests/Dialect/Polynomial/CMakeLists.txt
    A mlir/unittests/Dialect/Polynomial/PolynomialMathTest.cpp
    M offload/CMakeLists.txt
    M offload/DeviceRTL/CMakeLists.txt
    M offload/cmake/Modules/LibomptargetGetDependencies.cmake
    R offload/cmake/Modules/LibomptargetUtils.cmake
    M offload/plugins-nextgen/CMakeLists.txt
    M offload/plugins-nextgen/amdgpu/CMakeLists.txt
    M offload/plugins-nextgen/common/CMakeLists.txt
    M offload/plugins-nextgen/cuda/CMakeLists.txt
    M offload/plugins-nextgen/cuda/dynamic_cuda/cuda.h
    R offload/plugins-nextgen/exports
    M offload/plugins-nextgen/host/CMakeLists.txt
    M offload/src/CMakeLists.txt
    M offload/test/CMakeLists.txt
    M offload/test/mapping/array_section_implicit_capture.c
    M offload/test/offloading/default_thread_limit.c
    M offload/test/offloading/fortran/basic-target-region-1D-array-section.f90
    M offload/test/offloading/fortran/basic-target-region-3D-array-section.f90
    M offload/test/offloading/fortran/double-target-call-with-declare-target.f90
    M offload/test/offloading/fortran/target-map-allocatable-map-scopes.f90
    M offload/test/offloading/fortran/target-map-derived-type-full-1.f90
    M offload/test/offloading/fortran/target-map-derived-type-full-2.f90
    M offload/test/offloading/fortran/target-map-derived-type-full-implicit-1.f90
    M offload/test/offloading/fortran/target-map-derived-type-full-implicit-2.f90
    M offload/test/offloading/fortran/target-map-double-large-nested-dtype-multi-member.f90
    M offload/test/offloading/fortran/target-map-double-nested-dtype-array-bounds.f90
    M offload/test/offloading/fortran/target-map-double-nested-dtype-double-array-bounds.f90
    M offload/test/offloading/fortran/target-map-double-nested-dtype-single-member.f90
    M offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit-update.f90
    M offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit.f90
    M offload/test/offloading/fortran/target-map-dtype-explicit-individual-array-member.f90
    M offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-3D-member-bounds.f90
    M offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member-bounds.f90
    M offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member.f90
    M offload/test/offloading/fortran/target-map-dtype-multi-explicit-member.f90
    M offload/test/offloading/fortran/target-map-enter-exit-allocatables.f90
    M offload/test/offloading/fortran/target-map-enter-exit-array-2.f90
    M offload/test/offloading/fortran/target-map-enter-exit-array-bounds.f90
    M offload/test/offloading/fortran/target-map-enter-exit-array.f90
    M offload/test/offloading/fortran/target-map-enter-exit-scalar.f90
    M offload/test/offloading/fortran/target-map-individual-dtype-member-map.f90
    M offload/test/offloading/fortran/target-map-large-nested-dtype-multi-member.f90
    M offload/test/offloading/fortran/target-map-nested-dtype-complex-member.f90
    M offload/test/offloading/fortran/target-map-nested-dtype-derived-member.f90
    M offload/test/offloading/fortran/target-map-nested-dtype-multi-member.f90
    M offload/test/offloading/fortran/target-map-nested-dtype-single-member.f90
    M offload/test/offloading/fortran/target-map-pointer-scopes-enter-exit.f90
    M offload/test/offloading/fortran/target-map-pointer-target-array-section-3d-bounds.f90
    M offload/test/offloading/fortran/target-map-pointer-target-scopes.f90
    M offload/test/offloading/fortran/target-map-two-dtype-explicit-member.f90
    M offload/test/offloading/fortran/target-map-two-dtype-individual-member-array-1D-bounds.f90
    M offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-1.f90
    M offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-2.f90
    M offload/test/offloading/fortran/target-map-two-dtype-multi-member-array-1D-bounds.f90
    M offload/test/offloading/fortran/target-map-two-nested-dtype-member-array-map.f90
    M offload/test/offloading/spmdization.c
    M offload/test/offloading/thread_limit.c
    M offload/tools/CMakeLists.txt
    M offload/tools/deviceinfo/CMakeLists.txt
    M offload/tools/kernelreplay/CMakeLists.txt
    M offload/unittests/Plugins/CMakeLists.txt
    M openmp/docs/SupportAndFAQ.rst
    M openmp/docs/remarks/OMP121.rst
    M openmp/docs/remarks/OMP133.rst
    M openmp/docs/remarks/OptimizationRemarks.rst
    M openmp/runtime/test/lit.cfg
    A openmp/runtime/test/transform/tile/foreach.cpp
    A openmp/runtime/test/transform/tile/iterfor.cpp
    A openmp/runtime/test/transform/tile/parallel-wsloop-collapse-foreach.cpp
    A openmp/runtime/test/transform/unroll/factor_foreach.cpp
    A openmp/runtime/test/transform/unroll/factor_intfor.c
    A openmp/runtime/test/transform/unroll/factor_iterfor.cpp
    A openmp/runtime/test/transform/unroll/factor_parallel-wsloop-collapse-foreach.cpp
    A openmp/runtime/test/transform/unroll/factor_parallel-wsloop-collapse-intfor.cpp
    A openmp/runtime/test/transform/unroll/full_intfor.c
    A openmp/runtime/test/transform/unroll/heuristic_intfor.c
    A openmp/runtime/test/transform/unroll/partial_intfor.c
    M utils/bazel/llvm-project-overlay/bolt/BUILD.bazel
    M utils/bazel/llvm-project-overlay/llvm/driver.bzl
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  rebase

Created using spr 1.3.4


Compare: https://github.com/llvm/llvm-project/compare/45b0330783e2...0fc8d663f4f7

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