[all-commits] [llvm/llvm-project] 26fabd: [memprof] Pass FrameIdConverter and CallStackIdCon...

Ofek Shochat via All-commits all-commits at lists.llvm.org
Thu May 16 14:39:11 PDT 2024


  Branch: refs/heads/users/MaskRay/spr/asmprinter-increase-upper-bound-for-size-in-global-structs
  Home:   https://github.com/llvm/llvm-project
  Commit: 26fabdded34f8cea490060a70188a07ad6b76b8b
      https://github.com/llvm/llvm-project/commit/26fabdded34f8cea490060a70188a07ad6b76b8b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

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

  Log Message:
  -----------
  [memprof] Pass FrameIdConverter and CallStackIdConverter by reference (#92327)

CallStackIdConverter sets LastUnmappedId when a mapping failure
occurs.  Now, since toMemProfRecord takes an instance of
CallStackIdConverter by value, namely std::function, the caller of
toMemProfRecord never receives the mapping failure that occurs inside
toMemProfRecord.  The same problem applies to FrameIdConverter.

The patch fixes the problem by passing FrameIdConverter and
CallStackIdConverter by reference, namely llvm::function_ref.

While I am it, this patch deletes the copy constructor and copy
assignment operator to avoid accidental copies.


  Commit: fa750f09be6966de7423ddce1af7d1eaf817182c
      https://github.com/llvm/llvm-project/commit/fa750f09be6966de7423ddce1af7d1eaf817182c
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-16 (Thu, 16 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/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:
  -----------
  Revert "[MC] Remove UseAssemblerInfoForParsing"

This reverts commit 03c53c69a367008da689f0d2940e2197eb4a955c.

This causes very large compile-time regressions in some cases,
e.g. sqlite3 at O0 regresses by 5%.


  Commit: a9763deb2f3f20d789b947ec69360c258377db6a
      https://github.com/llvm/llvm-project/commit/a9763deb2f3f20d789b947ec69360c258377db6a
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
    M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
    A llvm/test/DebugInfo/AArch64/merge-locations-legalizer.mir

  Log Message:
  -----------
  Merge sourcelocation in CSEMIRBuilder::getDominatingInstrForID. (#90922)

Make sure to merge the sourcelocation of the Dominating Instruction that
is hoisted in a basic block in the CSEMIRBuilder in the legalizer pass.

If this is not done, we can have a incorrect line table entry that makes
the instruction pointer jump around.

For example the line table without this patch looks like:

```
Address            Line   Column File   ISA Discriminator OpIndex Flags
------------------ ------ ------ ------ --- ------------- ------- -------------
0x0000000000000000      0      0      1   0             0       0  is_stmt
0x0000000000000010     11     14      1   0             0       0  is_stmt prologue_end
0x0000000000000028     12      1      1   0             0       0  is_stmt
0x000000000000002c     12     15      1   0             0       0
0x000000000000004c     12     13      1   0             0       0
0x000000000000005c     13      1      1   0             0       0  is_stmt
0x0000000000000064     12     13      1   0             0       0  is_stmt
0x000000000000007c     13      7      1   0             0       0  is_stmt
0x00000000000000c8     13      1      1   0             0       0
0x00000000000000e8     13      1      1   0             0       0  epilogue_begin
0x00000000000000f8     13      1      1   0             0       0  end_sequence
```

The line table entry for 0x000000000000005c should be 0

After this patch, the line table looks like:

```
Address            Line   Column File   ISA Discriminator OpIndex Flags
------------------ ------ ------ ------ --- ------------- ------- -------------
0x0000000000000000      0      0      1   0             0       0  is_stmt
0x0000000000000010     11     14      1   0             0       0  is_stmt prologue_end
0x0000000000000028     12      1      1   0             0       0  is_stmt
0x000000000000002c     12     15      1   0             0       0 
0x000000000000004c     12     13      1   0             0       0 
0x000000000000005c      0      0      1   0             0       0 
0x0000000000000064     12     13      1   0             0       0 
0x000000000000007c     13      7      1   0             0       0  is_stmt
0x00000000000000c8     13      1      1   0             0       0 
0x00000000000000e8     13      1      1   0             0       0  epilogue_begin
0x00000000000000f8     13      1      1   0             0       0  end_sequence
```


  Commit: 72200fcc346bee1830d9e640e42d717a55acd74c
      https://github.com/llvm/llvm-project/commit/72200fcc346bee1830d9e640e42d717a55acd74c
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp

  Log Message:
  -----------
  [analyzer] Check C++ base or member initializer in WebKit checkers. (#92220)

Co-authored-by: Ryosuke Niwa <rniwa at apple.com>


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

  Changed paths:
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/test/Transforms/LoopUnroll/X86/znver3.ll

  Log Message:
  -----------
  [LoopUnroll] Clamp PartialThreshold for large LoopMicroOpBufferSize (#67657)

The znver3/znver4 scheduler models are outliers, specifying very large
LoopMicroOpBufferSizes at 512, while typical values for other subtargets
are on the order of ~50. Even if this information is
micro-architecturally correct (*), this does not mean that we want to
runtime unroll all loops to a size that completely fills the loop
buffer. Unless this is the single hot loop in the entire application,
the massive code size increase will bust the micro-op and instruction
caches.

Protect against this by clamping to the default PartialThreshold of 150,
which is the same as the default full-unroll threshold and half the
aggressive full-unroll threshold. Allowing more partial unrolling than
full unrolling certainly does not make sense.

(*) I strongly doubt that this is actually correct -- I believe this may
derive from an incorrect reading of Agner Fog's micro-architecture
guide. The number 4096 that was originally used here is the size of the
general micro-op cache, not that of a loop buffer. A separate loop
buffer is not listed for the Zen microarchitecture. Comparing this to
the listing for Skylake, it has a 1536 micro-op buffer, but only a 64
micro-op loopback buffer, with a note that it's rarely fully utilized.
Our scheduling model specifies LoopMicroOpBufferSize of 50 in that case.


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

  Changed paths:
    M openmp/runtime/src/CMakeLists.txt

  Log Message:
  -----------
  [OpenMP] Fix intermediate header locations for OpenMP

Summary:
A previous patch moved the code here and accidentally overrwrote the
include path that the LSP interface used. This caused incorrect errors
when using clangd with the offload project. This patch removes the
unnecessary header and makes sure we include the correct folder.


  Commit: 1595988ee6f9732e7ea79928af8a470ad5ef7dbe
      https://github.com/llvm/llvm-project/commit/1595988ee6f9732e7ea79928af8a470ad5ef7dbe
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/Type.h
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/AST/ast-dump-expr-json.cpp
    M clang/test/AST/ast-dump-expr.cpp
    M clang/test/AST/ast-dump-lambda.cpp
    A clang/test/CXX/expr/expr.unary/expr.unary.general/p1.cpp
    M clang/test/CXX/over/over.built/ast.cpp
    M clang/test/CXX/over/over.built/p10.cpp
    M clang/test/CXX/over/over.built/p11.cpp
    A clang/test/CXX/over/over.oper/over.oper.general/p1.cpp
    M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
    M clang/test/Frontend/noderef_templates.cpp
    M clang/test/SemaCXX/cxx2b-deducing-this.cpp
    M clang/test/SemaTemplate/class-template-spec.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp

  Log Message:
  -----------
  Reapply "[Clang][Sema] Earlier type checking for builtin unary operators (#90500)" (#92283)

This patch reapplies #90500, addressing a bug which caused binary
operators with dependent operands to be incorrectly rebuilt by
`TreeTransform`.


  Commit: 3a4c1b9b4428b08d4475decf74c11e0d328c5842
      https://github.com/llvm/llvm-project/commit/3a4c1b9b4428b08d4475decf74c11e0d328c5842
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-05-16 (Thu, 16 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 (#92218)

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.

For example,

```
SomeType a = ...;
SomeType b = a;
```

Previously, when we load variable `b`, we need to load the initializer,
then we need to load `a`. We can only mark the variable `b` as loaded
after we load `a`. Then `a` is always initialized before `b`. However,
it is not true after we implement lazy loading for initializers.

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: 1dd0d3cf40f21b842dbee107b3d203db9fbaa4ae
      https://github.com/llvm/llvm-project/commit/1dd0d3cf40f21b842dbee107b3d203db9fbaa4ae
  Author: Dhruv Chawla <dhruvc at nvidia.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64PostSelectOptimize.cpp
    M llvm/test/CodeGen/AArch64/aarch64-mulv.ll
    M llvm/test/CodeGen/AArch64/aarch64-smull.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
    M llvm/test/CodeGen/AArch64/bitcast.ll
    M llvm/test/CodeGen/AArch64/insertextract.ll
    M llvm/test/CodeGen/AArch64/ptradd.ll
    M llvm/test/CodeGen/AArch64/reduce-and.ll
    M llvm/test/CodeGen/AArch64/reduce-or.ll
    M llvm/test/CodeGen/AArch64/reduce-xor.ll

  Log Message:
  -----------
  [AArch64][GISel] Fold COPY(y:gpr, DUP(x:fpr, i)) -> UMOV(y:gpr, x:fpr, i) (#89017)

This patch adds a peephole to AArch64PostSelectOptimize for codegen
that is caused by RegBankSelect limiting G_EXTRACT_VECTOR_ELT
only to FPR registers in both the input and output registers. This can
cause a generation of COPY from FPR to GPR when, for example, the
output register of the G_EXTRACT_VECTOR_ELT is used in a branch
condition.

This was noticed when looking at codegen differences between SDAG and GI
for the s1279 kernel in the TSVC benchmark.


  Commit: 31c903890a905d203de3303eaaa63063754ffbca
      https://github.com/llvm/llvm-project/commit/31c903890a905d203de3303eaaa63063754ffbca
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/lower-gep-reorder.ll

  Log Message:
  -----------
  [SeparateConstOffsetFromGEP] Add additional inbounds preservation tests (NFC)

Adding these for NVPTX because for AMDGPU the problematic -1 case
does not get reordered in the first place.


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

  Changed paths:
    M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
    M llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/lower-gep-reorder.ll

  Log Message:
  -----------
  [SeparateConstOffsetFromGEP] Check correct index for non-negativity

We were checking the index of GEP twice, instead of checking both
GEP and PtrGEP.


  Commit: 83e61d03deaaa8f4dd8395cfa753af7b38f74b24
      https://github.com/llvm/llvm-project/commit/83e61d03deaaa8f4dd8395cfa753af7b38f74b24
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/reorder-gep.ll

  Log Message:
  -----------
  [SeparateConstOffsetFromGEP] Add tests for multiple indices (NFC)


  Commit: e91ea1b5d88805ebf7657da57ca6a7577374e4ad
      https://github.com/llvm/llvm-project/commit/e91ea1b5d88805ebf7657da57ca6a7577374e4ad
  Author: Jim M. R. Teichgräber <a at teichgraeber.digital>
  Date:   2024-05-16 (Thu, 16 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/C/C2x/n2900_n3011.c
    M clang/test/C/C2x/n2900_n3011_2.c
    M clang/test/Sema/compound-literal.c

  Log Message:
  -----------
  [Clang] Disallow VLA type compound literals (#91891)

C99-C23 6.5.2.5 says: The type name shall specify an object type or an
array of unknown size, but not a variable length array type.

Fixes #89835.


  Commit: 90fbc5bbcdc7d35d57157e4cc0459470d473f2ae
      https://github.com/llvm/llvm-project/commit/90fbc5bbcdc7d35d57157e4cc0459470d473f2ae
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/MC/MCParser/MCAsmParser.cpp

  Log Message:
  -----------
  [MCAsmParser] Simplify. NFC


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

  Changed paths:
    M lldb/test/API/functionalities/avoids-fd-leak/TestFdLeak.py

  Log Message:
  -----------
  [lldb] Fixed the TestFdLeak test (#92273)

Use `os.devnull` instead of `/dev/null`.


  Commit: b11a6607cb6522c58dfbd5f54239e7daa281368e
      https://github.com/llvm/llvm-project/commit/b11a6607cb6522c58dfbd5f54239e7daa281368e
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/tools/clang-format/ClangFormat.cpp

  Log Message:
  -----------
  [clang-format][NFC] Reformat with 18.1.5


  Commit: 526553b25131a69d9d6426e17c7b69c2ba27144f
      https://github.com/llvm/llvm-project/commit/526553b25131a69d9d6426e17c7b69c2ba27144f
  Author: Yusuke MINATO <minato.yusuke at fujitsu.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/include/flang/Lower/LoweringOptions.def
    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/include/flang/Tools/CrossToolHelpers.h
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/IO.cpp
    M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
    M flang/test/Driver/frontend-forwarding.f90
    M flang/test/Fir/loop01.fir
    M flang/test/Lower/array-substring.f90
    M flang/test/Lower/do_loop.f90
    M flang/test/Lower/do_loop_unstructured.f90
    M flang/test/Lower/infinite_loop.f90
    M flang/test/Lower/io-implied-do-fixes.f90
    M flang/tools/bbc/bbc.cpp

  Log Message:
  -----------
  [flang] Add nsw flag to do-variable increment with a new option (#91579)

This patch adds nsw flag to the increment of do-variables when a new
option is enabled.
NOTE 11.10 in the Fortran 2018 standard says they never overflow.

See also the discussion in #74709 and the following discourse post.
https://discourse.llvm.org/t/rfc-add-nsw-flags-to-arithmetic-integer-operations-using-the-option-fno-wrapv/77584/5


  Commit: 3cc445a6608dc0e88f7d5f16501ef827199cf0c4
      https://github.com/llvm/llvm-project/commit/3cc445a6608dc0e88f7d5f16501ef827199cf0c4
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/MC/MCParser/AsmParser.cpp

  Log Message:
  -----------
  [MCAsmParser] Simplify expandMacro

The error checking is only for .macro directives. Move it to the .macro
parser to remove one parameter.


  Commit: 245b7b65cb341ac5499fabf62f28fdbbc39bc7d7
      https://github.com/llvm/llvm-project/commit/245b7b65cb341ac5499fabf62f28fdbbc39bc7d7
  Author: jiajie zhang <56027356+JumpMasterJJ at users.noreply.github.com>
  Date:   2024-05-16 (Thu, 16 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:
  -----------
  [flang] Add ETIME runtime and lowering intrinsics implementation (#90578)

This patch add support of intrinsics GNU extension ETIME
https://github.com/llvm/llvm-project/issues/84205. Some usage info and
example has been added to `flang/docs/Intrinsics.md`. The patch contains
both the lowering and the runtime code and works on both Windows and
Linux.


|   System  |   Implmentation  |
|-----------|--------------------|
| Windows| GetProcessTimes |
| Linux      |times                     |


  Commit: f2d74002fdad2171b62392eaedf38aac7e4fb50d
      https://github.com/llvm/llvm-project/commit/f2d74002fdad2171b62392eaedf38aac7e4fb50d
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/test/CodeGen/X86/midpoint-int-vec-128.ll
    M llvm/test/CodeGen/X86/midpoint-int-vec-256.ll

  Log Message:
  -----------
  [LegalizeVectorOps][X86] Add ISD::ABDS/ABSDU to the list of opcodes handled by LegalizeVectorOps. (#92332)

The expand code is present, but we were missing the type query code
so the nodes would be ignored until LegalizeDAG.


  Commit: 487b43cdc9fff9e370b8ea948c0cc19ca817aa86
      https://github.com/llvm/llvm-project/commit/487b43cdc9fff9e370b8ea948c0cc19ca817aa86
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-cost.ll

  Log Message:
  -----------
  [RISCV] Pass subvector type to isLegalInterleavedAccessType in getInterleavedMemoryOpCost. (#91825)

isLegalInterleavedAccessType expects the subvector type, but
getInterleavedMemoryOpCost is called with the full vector type. So we
need to divide by Factor.


  Commit: 6bf185920bd6831efc151d7d4158d6390006c50b
      https://github.com/llvm/llvm-project/commit/6bf185920bd6831efc151d7d4158d6390006c50b
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp

  Log Message:
  -----------
  [ORC] Support visionOS in LC_BUILD_VERSIONs for JITDylibs.

rdar://127846581


  Commit: 566fbb450092bf8c9f966a6ab1b0381626e3e535
      https://github.com/llvm/llvm-project/commit/566fbb450092bf8c9f966a6ab1b0381626e3e535
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

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

  Log Message:
  -----------
  [RISCV] Defer creating RISCVInsertVSETVLI to avoid leak with -stop-after (#92303)

As noted in
https://github.com/llvm/llvm-project/pull/91440#discussion_r1601976425,
if the pass pipeline stops early because of -stop-after any allocated
passes added with insertPass will not be freed if they haven't already
been added.

This was showing up as a failure on the address sanitizer buildbots. We
can fix it by instead passing the pass ID instead so that allocation is
deferred.


  Commit: 70a926cfb1d4af326be5afe6419991aeff8f44b2
      https://github.com/llvm/llvm-project/commit/70a926cfb1d4af326be5afe6419991aeff8f44b2
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/test/SemaTemplate/cwg2398.cpp

  Log Message:
  -----------
  [clang] NFC: Add a few more interesting test cases for CWG2398


  Commit: 5bd8091f4bde53de48329e14d5b955314e6518f4
      https://github.com/llvm/llvm-project/commit/5bd8091f4bde53de48329e14d5b955314e6518f4
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    R mlir/docs/Dialects/Polynomial.md
    M mlir/include/mlir/Dialect/Polynomial/IR/CMakeLists.txt

  Log Message:
  -----------
  [mlir] fix polynomial docs for MLIR website (#92348)

I built it and confirmed this fixes the issue locally.

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


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

  Changed paths:
    M mlir/include/mlir/Dialect/IRDL/IR/CMakeLists.txt

  Log Message:
  -----------
  [mlir] fix IRDL dialect docs (#92349)

Currently the irdl dialect page has no content beyond the header.

By referring to the Ops.td in the CMake config, it pulls in all the
types, attributes, etc., so that the doc generation can include them all
in the page.

Rendered locally to confirm it fixes the issue


![image](https://github.com/llvm/llvm-project/assets/2467754/8758f324-6bc3-4f0e-8fa9-8962cdb0177f)

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


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

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

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

This reverts commit 3a4c1b9b4428b08d4475decf74c11e0d328c5842.

This breaks a bot on clang-s390x-linux


  Commit: 5c35b63da3c2e3c773580f748129fdec76354ede
      https://github.com/llvm/llvm-project/commit/5c35b63da3c2e3c773580f748129fdec76354ede
  Author: William G Hatch <william at hatch.uno>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M mlir/include/mlir-c/Dialect/LLVM.h
    M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
    M mlir/lib/CAPI/Dialect/LLVM.cpp
    M mlir/lib/Target/LLVMIR/DebugImporter.cpp
    M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
    M mlir/test/CAPI/llvm.c
    M mlir/test/Dialect/LLVMIR/debuginfo.mlir
    M mlir/test/Target/LLVMIR/Import/debug-info.ll
    M mlir/test/Target/LLVMIR/llvmir-debug.mlir

  Log Message:
  -----------
  [MLIR][LLVM] add dwarfAddressSpace to DIDerivedType (#92043)

This field is present in LLVM, but was missing from the MLIR wrapper
type. This addition allows MLIR languages to add proper DWARF info for
GPU programs.


  Commit: 6706aebefac3c89d8df55bade022f3aeb55cfeb9
      https://github.com/llvm/llvm-project/commit/6706aebefac3c89d8df55bade022f3aeb55cfeb9
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    R 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
    R flang/test/Lower/Intrinsics/etime-function.f90
    R flang/test/Lower/Intrinsics/etime.f90
    R flang/test/Semantics/etime.f90

  Log Message:
  -----------
  Revert "[flang] Add ETIME runtime and lowering intrinsics implementation" (#92354)

Reverts llvm/llvm-project#90578

This broke the premerge linux buildbot.


  Commit: 45cc6bdea97be10793e4cd5f0ef11abd9d19adea
      https://github.com/llvm/llvm-project/commit/45cc6bdea97be10793e4cd5f0ef11abd9d19adea
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M .github/CODEOWNERS
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    M clang/test/AST/Interp/builtin-functions.cpp

  Log Message:
  -----------
  [clang][Interp] Implement __builtin_shufflevector


  Commit: e27f9bb31984927d10995e3d7e5a8fcde60cf5d4
      https://github.com/llvm/llvm-project/commit/e27f9bb31984927d10995e3d7e5a8fcde60cf5d4
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M .github/CODEOWNERS

  Log Message:
  -----------
  [github] Add keith back to bazel codeowners

Wrongly removed in 45cc6bdea97be10793e4cd5f0ef11abd9d19adea.


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

  Changed paths:
    M llvm/include/llvm/MC/MCAsmMacro.h
    M llvm/include/llvm/MC/MCContext.h
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/test/MC/AsmParser/macro-at-pseudo-variable.s

  Log Message:
  -----------
  MCAsmParser: Support \+

In .macro, \+ expands to the per-macro invocation count.
https://sourceware.org/pipermail/binutils/2024-May/134009.html

\+ counts from 0 for .irp/.irpc/.rept .

Note: We currently prints \q for `.print "\q"` while gas doesn't. This
patch does not change this behavior.


  Commit: 89ee3ae2bd1d5705a3e775e3f30bf0ec6d8d863a
      https://github.com/llvm/llvm-project/commit/89ee3ae2bd1d5705a3e775e3f30bf0ec6d8d863a
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir

  Log Message:
  -----------
  [Flang][OpenMP] Fix update operation not found issue (#92165)

If there is only one non-terminator operation in the update region then
the update operation can be found and we can try to generate an
atomicrmw instruction. Otherwise use the cmpxchg loop.

Fixes #91929


  Commit: ca1f0d41b8c5f42ca6cdcbdf9732bf4df2fcc80f
      https://github.com/llvm/llvm-project/commit/ca1f0d41b8c5f42ca6cdcbdf9732bf4df2fcc80f
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M lld/ELF/Arch/AArch64.cpp
    M lld/ELF/Relocations.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h
    M lld/ELF/Writer.cpp
    M lld/test/ELF/aarch64-reloc-pauth.s

  Log Message:
  -----------
  [lld][AArch64][ELF][PAC] Support `.relr.auth.dyn` section (#87635)

Support `R_AARCH64_AUTH_RELATIVE` relocation compression as described in
https://github.com/ARM-software/abi-aa/blob/main/pauthabielf64/pauthabielf64.rst#relocation-compression


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

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

  Log Message:
  -----------
  InstCombine: Try to use exp10 intrinsic instead of libcall (#92287)

Addresses old TODO about the exp10 intrinsic not existing.


  Commit: b5107bdda332234d632c9749e01d60dd0f01bf39
      https://github.com/llvm/llvm-project/commit/b5107bdda332234d632c9749e01d60dd0f01bf39
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
    M mlir/test/Conversion/ArmSMEToLLVM/arm-sme-to-llvm.mlir
    M mlir/test/Conversion/ArmSMEToLLVM/tile-spills-and-fills.mlir
    M mlir/test/Conversion/ArmSMEToLLVM/unsupported.mlir

  Log Message:
  -----------
  [mlir][ArmSME] Verify ops on tile types post LLVM conversion  (#92076)

Unsupported ops on tile types can become dead after
`-convert-arm-sme-to-llvm` resulting in incorrect results. Verify such
operations don't exist post-conversion and fail if they do.

Based on discussion from
https://discourse.llvm.org/t/on-improving-arm-sme-lowering-resilience-in-mlir/78543


  Commit: 8389177710c2cb7a7e0cf5c6c9b34aabb8048f39
      https://github.com/llvm/llvm-project/commit/8389177710c2cb7a7e0cf5c6c9b34aabb8048f39
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp

  Log Message:
  -----------
  SimplifyLibCalls: Use IRBuilder helpers for creating intrinsics (#92288)


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

  Changed paths:
    M llvm/include/llvm/ADT/StringRef.h

  Log Message:
  -----------
  [ADT] Deprecate StringRef::equals (#92351)

This patch deprecates StringRef::equals.  Note that I've migrated all
known users to operator==(StringRef, StringRef).


  Commit: 8f711aa32488beb3382de101a290e11b41ceb876
      https://github.com/llvm/llvm-project/commit/8f711aa32488beb3382de101a290e11b41ceb876
  Author: Mital Ashok <mital at mitalashok.co.uk>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/include/version
    M libcxx/test/std/language.support/support.limits/support.limits.general/type_traits.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++][test] `__cpp_lib_within_lifetime` -> `__cpp_lib_is_within_lifetime` (#91896)

The feature test macro was renamed when
[P2641R4](https://wg21.link/P2641R4) was adopted into the standard:
https://github.com/cplusplus/draft/commit/0facada4cadd97e1ba15bfaea76a804f1dc5c309
https://wg21.link/version.syn#lib:__cpp_lib_is_constant_evaluated


  Commit: dcd32bd65f16e80db2485e6e02b62d6a91c3cddf
      https://github.com/llvm/llvm-project/commit/dcd32bd65f16e80db2485e6e02b62d6a91c3cddf
  Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

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

  Log Message:
  -----------
  [mlir][tensor] Fold pack-unpack with unbalanced outer_dims_perm attr (#92234)

Extends pack/unpack perm attribute checker to account for cases when the
optional outer_dims_perm attribute might be missing in one operation and
the other one has explicit identity permutation. This enables
canonicalizer to fold more unpack(pack(x)) variants.


  Commit: cd5ee2715e89ad31982f91cc85fc3939977f2f4e
      https://github.com/llvm/llvm-project/commit/cd5ee2715e89ad31982f91cc85fc3939977f2f4e
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    A flang/include/flang/Optimizer/CodeGen/CGOps.h
    M flang/include/flang/Optimizer/CodeGen/CGOps.td
    M flang/include/flang/Optimizer/CodeGen/CGPasses.td
    M flang/include/flang/Optimizer/CodeGen/CodeGen.h
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/CodeGen/CGOps.cpp
    R flang/lib/Optimizer/CodeGen/CGOps.h
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    M flang/test/Fir/declare-codegen.fir
    M flang/test/Fir/dummy-scope-codegen.fir
    A flang/test/Transforms/debug-local-var-2.f90
    A flang/test/Transforms/debug-local-var.f90

  Log Message:
  -----------
  [reland][flang] Initial debug info support for local variables (#92304)

This is same as #90905 with an added fix. The issue was that we
generated variable info even when user asked for line-tables-only. This
caused llvm dwarf generation code to fail an assertion as it expected an
empty variable list.

Fixed by not generating debug info for variables when user wants only
line table. I also updated a test check for this case.


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

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

  Log Message:
  -----------
  SimplifyLibCalls: Emit vector ldexp intrinsics in exp2->ldexp combine (#92219)

Co-authored-by: Nikita Popov <github at npopov.com>


  Commit: 710f4bd054a857dd25012c9fef0cb66104f17ec0
      https://github.com/llvm/llvm-project/commit/710f4bd054a857dd25012c9fef0cb66104f17ec0
  Author: Alex Zinenko <ftynse at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/MemRef/TransformOps/MemRefTransformOps.h

  Log Message:
  -----------
  [mlir] add missing include to MemRefTransformOps.h

The ODS-generated code has the following:

```
::mlir::TypedValue<::mlir::transform::OperationType> getAlloca() {
  return ::llvm::cast<::mlir::TypedValue<::mlir::transform::OperationType>>(
      *getODSOperands(0).begin());
}
```

that may require the compiler seing the definition of `OperationType` so
include the corresponding header.


  Commit: 51403ada789e63e98e0dd5ac0ceba351465490d1
      https://github.com/llvm/llvm-project/commit/51403ada789e63e98e0dd5ac0ceba351465490d1
  Author: Alex Zinenko <ftynse at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M mlir/docs/Dialects/Transform.md

  Log Message:
  -----------
  [mlir] fix orphaned IRDLExtensionOps documentation

.md files should be included into other .md files so they don't show up in the
top-level menu.


  Commit: 72a895336b1e4df1ec2f485f8786ead6c356edb8
      https://github.com/llvm/llvm-project/commit/72a895336b1e4df1ec2f485f8786ead6c356edb8
  Author: Tomas Matheson <Tomas.Matheson at arm.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/utils/TableGen/ARMTargetDefEmitter.cpp

  Log Message:
  -----------
  [AArch64][TargetParser] move ArchInfo into tablegen [NFC] (#92037)

This moves the architecture version, profile and extension information
into tablegen, and generates the TargetParser ArchInfo objects from
this data.

There are two lists of "dependencies" defined for each architecture: the
SubtargetFeature::Implies which controls which features are
automatically enabled in the backend when the corresponding architecture
SubtargetFeature is enabled; and the list of Extensions which are
enabled by default for this architecture. As far as I can tell, the idea
here is that the SubtargetFeature models the mandatory dependencies (although
they can still be disabled if desired) while the default extensions models
the typical use case for that architecture.


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

  Changed paths:
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/test/Dialect/Vector/vector-transferop-opt.mlir

  Log Message:
  -----------
  [mlir][vector] Teach `TransferOptimization` to forward masked stores (#87794)

This only handles one case (that's fairly common in practice*), storing
a masked constant splat, then reloading again with the same mask and a
padding value that matches the splat.

* For SVE/SME (without peeling) this occurs when you have a
`linalg.fill` preceding a `linalg.matmul`.


  Commit: 30410018d32b2cc19552c6d6a3b7b6de84d99382
      https://github.com/llvm/llvm-project/commit/30410018d32b2cc19552c6d6a3b7b6de84d99382
  Author: wanglei <wanglei at loongson.cn>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.cpp
    A llvm/test/CodeGen/LoongArch/target-abi.ll

  Log Message:
  -----------
  [LoongArch] Enable all -target-abi options

This is a pre-commit for modifying `computeTargetABI` logic.

This patch will provide warning prompts when using those ABIs that have
not yet been standardized.

Reviewed By: xen0n, SixWeining

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


  Commit: 70608c24fae8943cb93276db4d0358722705507b
      https://github.com/llvm/llvm-project/commit/70608c24fae8943cb93276db4d0358722705507b
  Author: wanglei <wanglei at loongson.cn>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchSubtarget.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.h
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFStreamer.cpp
    M llvm/test/CodeGen/LoongArch/e_flags.ll
    M llvm/test/CodeGen/LoongArch/target-abi-from-triple-edge-cases.ll

  Log Message:
  -----------
  [LoongArch] Refactor LoongArchABI::computeTargetABI

The previous logic did not consider whether the architectural features
meet the requirements of the ABI, resulting in the generation of
incorrect object files in some cases. For example:

```
llc -mtriple=loongarch64 -filetype=obj test/CodeGen/LoongArch/ir-instruction/fadd.ll -o t.o
llvm-readelf -h t.o
```
The object file indicates the ABI as lp64d, however, the generated code
is lp64s.

The new logic introduces the `feature-implied` ABI. When both target-abi
and triple-implied ABI are invalid, the feature-implied ABI is used.

Reviewed By: SixWeining, xen0n

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


  Commit: 53bdcee9d7a921a0ea5e0c8fa3f889f16f1d268f
      https://github.com/llvm/llvm-project/commit/53bdcee9d7a921a0ea5e0c8fa3f889f16f1d268f
  Author: Oleg Shyshkov <shyshkov at google.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

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

  Log Message:
  -----------
  [mlir][bazel] Fix bazel build.


  Commit: cfcbe3ae55144635cac4ab00c017e3e93dad1c4b
      https://github.com/llvm/llvm-project/commit/cfcbe3ae55144635cac4ab00c017e3e93dad1c4b
  Author: wanglei <wanglei at loongson.cn>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M lld/test/ELF/emulation-loongarch.s

  Log Message:
  -----------
  [lld][test] Fix test failure after #92223

https://lab.llvm.org/buildbot/#/builders/272/builds/16745


  Commit: 90d2f8c630e1ddddd034e4a0e575929c08dd26bf
      https://github.com/llvm/llvm-project/commit/90d2f8c630e1ddddd034e4a0e575929c08dd26bf
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/MemRef/Utils/MemRefUtils.h
    M mlir/lib/Dialect/MemRef/Utils/MemRefUtils.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
    M mlir/test/Dialect/Vector/vector-transferop-opt.mlir

  Log Message:
  -----------
  [mlir][vector] Teach `TransferOptimization` to look through trivial aliases (#87805)

This allows `TransferOptimization` to eliminate and forward stores that
are to trivial aliases (rather than just to identical memref values).

A trivial aliases is (currently) defined as:

  1. A `memref.cast`
  2. A `memref.subview` with a zero offset and unit strides
  3. A chain of 1 and 2


  Commit: 1795fa58bac5092f758bf27e1b27a2b333307bab
      https://github.com/llvm/llvm-project/commit/1795fa58bac5092f758bf27e1b27a2b333307bab
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

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

  Log Message:
  -----------
  [NFC] Update example in comment


  Commit: 5ffd154cf61390c1ed32a1b0eb134929f78c0fbe
      https://github.com/llvm/llvm-project/commit/5ffd154cf61390c1ed32a1b0eb134929f78c0fbe
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp

  Log Message:
  -----------
  [analyzer] Clean up list of taint propagation functions (#91635)

This commit refactors GenericTaintChecker and performs various
improvements in the list of taint propagation functions:

1. The matching mode (usually `CDM::CLibrary` or
`CDM::CLibraryMaybeHardened`) was specified to avoid matching e.g. C++
methods or functions from a user-defined namespace that happen to share
the name of a well-known library function.
2. With these matching modes, a `CallDescription` can automatically
match builtin variants of the functions, so entries that explicitly
specified a builtin function were removed. This eliminated
inconsistencies where the "normal" and the builtin variant of the same
function was handled differently (e.g. `__builtin_strlcat` was covered,
while plain `strlcat` wasn't; while `__builtin_memcpy` and `memcpy` were
both on the list with different propagation rules).
3. The modeling of the functions `strlcat` and `strncat` was updated to
propagate taint from the first argument (index 0), because a tainted
string should remain tainted even if we append something else to it.
Note that this was already applied to `strcat` and `wcsncat` by commit
6ceb1c0ef9f544be0eed65e46cc7d99941a001bf.
4. Some functions were updated to propagate taint from a size/length
argument to the result: e.g. `memcmp(p, q, get_tainted_int())` will now
return a tainted value (because the attacker can manipulate it). This
principle was already present in some propagation rules (e.g.
`__builtin_memcpy` was handled this way), and even after this commit
there are still some functions where it isn't applied. (I only aimed for
consistency within the same function family.)
5. Functions that have hardened `__FOO_chk()` variants are matched in
`CDM:CLibraryMaybeHardened` to ensure consistent handling of the
"normal" and the hardened variant. I added special handling for the
hardened variants of "sprintf" and "snprintf" because there the extra
parameters are inserted into the middle of the parameter list.
6. Modeling of `sscanf_s` was added, to complete the group of `fscanf`,
`fscanf_s` and `sscanf`.
7. The `Source()` specifications for `gets`, `gets_s` and `wgetch` were
ill-formed: they were specifying variadic arguments starting at argument
index `ReturnValueIndex`. (That is, in addition to the return value they
were propagating taint to all arguments.)
8. Functions that were related to each other were grouped together. (I
know that this makes the diff harder to read, but I felt that the full
list is unreadable without some reorganization.)
9. I spotted and removed some redundant curly braces. Perhaps would be
good to switch to a cleaner layout with less nested braces...
10. I updated some obsolete comments and added two TODOs for issues that
should be fixed in followup commits.


  Commit: 83974a4b92d1fd33b8e21d7a868862893d9430e9
      https://github.com/llvm/llvm-project/commit/83974a4b92d1fd33b8e21d7a868862893d9430e9
  Author: Dmitri Gribenko <gribozavr at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/test/Transforms/LoopUnroll/X86/znver3.ll

  Log Message:
  -----------
  Revert "[LoopUnroll] Clamp PartialThreshold for large LoopMicroOpBufferSize (#67657)"

This reverts commit f0b3654701bde1cf7821d60698b42383edaff9f3.

This commit triggers UB by reading an uninitialized variable.

`UP.PartialThreshold` is used uninitialized in `getUnrollingPreferences()` when
it is called from `LoopVectorizationPlanner::executePlan()`. In this case the
`UP` variable is created on the stack and its fields are not initialized.

```
==8802==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0x557c0b081b99 in llvm::BasicTTIImplBase<llvm::X86TTIImpl>::getUnrollingPreferences(llvm::Loop*, llvm::ScalarEvolution&, llvm::TargetTransformInfo::UnrollingPreferences&, llvm::OptimizationRemarkEmitter*) llvm-project/llvm/include/llvm/CodeGen/BasicTTIImpl.h
    #1 0x557c0b07a40c in llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getUnrollingPreferences(llvm::Loop*, llvm::ScalarEvolution&, llvm::TargetTransformInfo::UnrollingPreferences&, llvm::OptimizationRemarkEmitter*) llvm-project/llvm/include/llvm/Analysis/TargetTransformInfo.h:2277:17
    #2 0x557c0f5d69ee in llvm::TargetTransformInfo::getUnrollingPreferences(llvm::Loop*, llvm::ScalarEvolution&, llvm::TargetTransformInfo::UnrollingPreferences&, llvm::OptimizationRemarkEmitter*) const llvm-project/llvm/lib/Analysis/TargetTransformInfo.cpp:387:19
    #3 0x557c0e6b96a0 in llvm::LoopVectorizationPlanner::executePlan(llvm::ElementCount, unsigned int, llvm::VPlan&, llvm::InnerLoopVectorizer&, llvm::DominatorTree*, bool, llvm::DenseMap<llvm::SCEV const*, llvm::Value*, llvm::DenseMapInfo<llvm::SCEV const*, void>, llvm::detail::DenseMapPair<llvm::SCEV const*, llvm::Value*>> const*) llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:7624:7
    #4 0x557c0e6e4b63 in llvm::LoopVectorizePass::processLoop(llvm::Loop*) llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:10253:13
    #5 0x557c0e6f2429 in llvm::LoopVectorizePass::runImpl(llvm::Function&, llvm::ScalarEvolution&, llvm::LoopInfo&, llvm::TargetTransformInfo&, llvm::DominatorTree&, llvm::BlockFrequencyInfo*, llvm::TargetLibraryInfo*, llvm::DemandedBits&, llvm::AssumptionCache&, llvm::LoopAccessInfoManager&, llvm::OptimizationRemarkEmitter&, llvm::ProfileSummaryInfo*) llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:10344:30
    #6 0x557c0e6f2f97 in llvm::LoopVectorizePass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:10383:9

[...]

  Uninitialized value was created by an allocation of 'UP' in the stack frame
    #0 0x557c0e6b961e in llvm::LoopVectorizationPlanner::executePlan(llvm::ElementCount, unsigned int, llvm::VPlan&, llvm::InnerLoopVectorizer&, llvm::DominatorTree*, bool, llvm::DenseMap<llvm::SCEV const*, llvm::Value*, llvm::DenseMapInfo<llvm::SCEV const*, void>, llvm::detail::DenseMapPair<llvm::SCEV const*, llvm::Value*>> const*) llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:7623:3
```


  Commit: ba2e4fe4e7f79e49fcac54ea20f5b899dc687cfc
      https://github.com/llvm/llvm-project/commit/ba2e4fe4e7f79e49fcac54ea20f5b899dc687cfc
  Author: Arseniy Zaostrovnykh <necto.ne at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/test/AST/ast-dump-expr.cpp

  Log Message:
  -----------
  [clang] Fix CXXNewExpr end source location for 'new struct S' (#92266)

Currently, `new struct S` fails to set any valid end source location
because the token corresponding to `S` is consumed in
`ParseClassSpecifier` and is not accessible in the
`ParseDeclarationSpecifiers` that normally sets the end source location.

Fixes #35300


  Commit: 239f8b9eb0725b4c6ff8342717b6abbfc9a7915a
      https://github.com/llvm/llvm-project/commit/239f8b9eb0725b4c6ff8342717b6abbfc9a7915a
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/include/clang/AST/RecursiveASTVisitor.h
    A clang/unittests/Tooling/RecursiveASTVisitorTests/DeductionGuide.cpp

  Log Message:
  -----------
  [AST] RecursiveASTVisitor: Don't traverse the alias deduction guides in the default mode. (#91454)

By default (`shouldVisitImplicitCode()` returns `false`), RAV should not
traverse AST nodes that are not spelled in the source code. Deduction
guides for alias templates are always synthesized, so they should not be
traversed.

This is usually done by checking the implicit bit of the Decl. However,
this doesn't work deduction guides that are synthesized from explicit
user-defined deduction guides, as we must maintain the explicit bit to
ensure correct overload resolution.


  Commit: a9605730a481707623358d3b12220f05cfdc50a8
      https://github.com/llvm/llvm-project/commit/a9605730a481707623358d3b12220f05cfdc50a8
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Basic/TypeTraits.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/test/AST/ast-dump-ctad-alias.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp
    M clang/www/cxx_status.html

  Log Message:
  -----------
  [clang] CTAD: implement the missing IsDeducible constraint for alias templates  (#89358)

Fixes https://github.com/llvm/llvm-project/issues/85192
Fixes https://github.com/llvm/llvm-project/issues/84492

This patch implements the "IsDeducible" constraint where the template
arguments of the alias template can be deduced from the returned type of
the synthesized deduction guide, per C++ [over.match.class.deduct]p4. In
the implementation, we perform the deduction directly, which is more
efficient than the way specified in the standard.

Also update relevant CTAD tests which were incorrectly compiled due to
the missing constraint.


  Commit: 46bc54f4e688870da8356a9b85257ffb12d47e1f
      https://github.com/llvm/llvm-project/commit/46bc54f4e688870da8356a9b85257ffb12d47e1f
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstCombine/known-bits.ll

  Log Message:
  -----------
  [ValueTracking] Fix assertion failure when `computeKnownFPClass` returns fcNone (#92355)

Fixes
https://github.com/llvm/llvm-project/pull/92084#issuecomment-2114083188.


  Commit: 0bc1ec5cda8d68a681534bda9fd121b7f58fb495
      https://github.com/llvm/llvm-project/commit/0bc1ec5cda8d68a681534bda9fd121b7f58fb495
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

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

  Log Message:
  -----------
  [GlobalISel] Reduce KnownBits usage in matcher combines (#92381)

Two icmp/and combines forced computation of KnownBits on all operands
everytime. We can avoid computing KnownBits on the LHS by exploiting a
couple of properties:
- Constants are always on the RHS for those instructions. If we have no
KnownBits on the RHS, we can bail out early and avoid computing LHS
knownbits.
- For icmp uge/ult 0, we don't need to know the KBs of the LHS to infer
the result

This allows to save some KnownBits calls, which are very expensive,
without affecting codegen.


  Commit: 7d81062352f75cf328d91d4900af52c1842b950e
      https://github.com/llvm/llvm-project/commit/7d81062352f75cf328d91d4900af52c1842b950e
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/docs/GlobalISel/MIRPatterns.rst
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    A llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-cxx.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-permutations.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-variadics.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/patfrag-errors.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-errors.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-parsing.td
    M llvm/test/TableGen/GlobalISelEmitter.td
    M llvm/test/TableGen/GlobalISelEmitterHwModes.td
    M llvm/utils/TableGen/Common/CMakeLists.txt
    M llvm/utils/TableGen/Common/GlobalISel/CXXPredicates.cpp
    M llvm/utils/TableGen/Common/GlobalISel/CXXPredicates.h
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.cpp
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.h
    R llvm/utils/TableGen/Common/GlobalISel/MatchDataInfo.cpp
    R llvm/utils/TableGen/Common/GlobalISel/MatchDataInfo.h
    M llvm/utils/TableGen/Common/GlobalISel/Patterns.cpp
    M llvm/utils/TableGen/Common/GlobalISel/Patterns.h
    M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [GlobalISel] Refactor Combiner MatchData & Apply C++ Code Handling (#92239)

Combiners that use C++ code in their "apply" pattern only use that. They
never mix it with MIR patterns as that has little added value.

This patch restricts C++ apply code so that if C++ is used, we cannot
use MIR patterns or builtins with it. Adding this restriction allows us
to merge calls to match and apply C++ code together, which in turns
makes it so we can just have MatchData variables on the stack.

So before, we would have
```
  GIM_CheckCxxInsnPredicate // match
  GIM_CheckCxxInsnPredicate // apply
  GIR_Done
```
Alongside a massive C++ struct holding the MatchData of all rules
possible (which was a big space/perf issue).

Now we just have
```
GIR_DoneWithCustomAction
```

And the function being ran just does
```
unsigned SomeMatchData;
if (match(SomeMatchData))
  apply(SomeMatchData)
```

This approach solves multiple issues in one:
- MatchData handling is greatly simplified and more efficient, "don't
pay for what you don't use"
  - We reduce the size of the match table
- Calling C++ code has a certain overhead (we need a switch), and this
overhead is only paid once now.

Handling of C++ code inside PatFrags is unchanged though, that still
emits a `GIM_CheckCxxInsnPredicate`. This is completely fine as they
can't use MatchDatas.


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

  Changed paths:
    M llvm/utils/gn/secondary/llvm/utils/TableGen/Common/BUILD.gn

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


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/Thumb2/mve-laneinterleaving-cost.ll

  Log Message:
  -----------
  [DAG] SimplifyDemandedBits - ISD::AND - only request DemandedElts when looking for a splat constant

Limit the isConstOrConstSplat call to the vector elements we care about

Noticed while investigating regressions in #92096


  Commit: fdaad738753cde2bba6480c2ee5d1e9fb45064b9
      https://github.com/llvm/llvm-project/commit/fdaad738753cde2bba6480c2ee5d1e9fb45064b9
  Author: XChy <xxs_chy at outlook.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/DemoteRegToStack.cpp
    A llvm/test/Transforms/Reg2Mem/callbr-crash.ll

  Log Message:
  -----------
  [Reg2Mem] Handle CallBr instructions (#90953)

Fixes #90900


  Commit: 911207338add39b8439a09fd7f9d97bbe4a335bd
      https://github.com/llvm/llvm-project/commit/911207338add39b8439a09fd7f9d97bbe4a335bd
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/test/Bindings/llvm-c/debug_info.ll
    A llvm/test/Bindings/llvm-c/debug_info_new_format.ll
    M llvm/tools/llvm-c-test/debuginfo.c
    M llvm/tools/llvm-c-test/main.c

  Log Message:
  -----------
  [RemoveDIs][NFC] Fix rotten green C API test (#92362)

`llvm_test_dibuilder(/*NewDebugInfoMode=*/true)` isn't currently executed in 
`return llvm_test_dibuilder(false) && llvm_test_dibuilder(true);`
because `llvm_test_dibuilder` returns 0 for success.

Split the llvm-c-test flag `--test-dibuilder` into two, one for the old and
one for the new debug info format. Add another lit test for the new format.

Now that the test actually runs, it crashes using the new format with
`llvm/lib/IR/LLVMContextImpl.cpp:53:llvm::LLVMContextImpl::~LLVMContextImpl(): Assertion 'TrailingDbgRecords.empty() && "DbgRecords in blocks not cleaned"' failed. Aborted`.

Insert terminators into the blocks so that we don't leave the debug records
trailing, unattached to any instructions, which fixes that.


  Commit: 03d8e613911bdef52fec23924a4e5b4235997bb8
      https://github.com/llvm/llvm-project/commit/03d8e613911bdef52fec23924a4e5b4235997bb8
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/DemoteRegToStack.cpp

  Log Message:
  -----------
  [Transforms] Fix -Wsign-compare in DemoteRegToStack.cpp (NFC)

llvm-project/llvm/lib/Transforms/Utils/DemoteRegToStack.cpp:54:23:
error: comparison of integers of different signs: 'int' and 'unsigned int' [-Werror,-Wsign-compare]
    for (int i = 0; i < CBI->getNumSuccessors(); i++) {
                    ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.


  Commit: 99de3a685170c24208b00ef83fe0416373387acc
      https://github.com/llvm/llvm-project/commit/99de3a685170c24208b00ef83fe0416373387acc
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/docs/VectorizationPlan.rst
    M llvm/docs/conf.py
    A llvm/docs/vplan-scope.png
    A llvm/docs/vplan-transform-pipeline.png

  Log Message:
  -----------
  [VPlan] Document current status. (#85689)

Update VectorizationPlan.rst to include a section about the current
status of VPlan and its use in LoopVectorize, based on "VPlan: Status
Update and Future Roadmap", LLVM Developers’ Meeting 2023,
https://www.youtube.com/watch?v=SzGP4PgMuLE

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


  Commit: 7ce8d2e5fb9cc5f6f9de214584170a8cf01b98de
      https://github.com/llvm/llvm-project/commit/7ce8d2e5fb9cc5f6f9de214584170a8cf01b98de
  Author: David Truby <david.truby at arm.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/MSVC.cpp
    A clang/test/Driver/flang/msvc-link.f90

  Log Message:
  -----------
  [clang][flang][windows] Prefer user-provided library paths (-L) (#90758)

Currently the paths to compiler-rt and the Flang runtimes from the LLVM
build/install directory are preferred over any user-provided library
paths. This means a user can't override compiler-rt or the Flang
runtimes with custom versions.

This patch changes the link order to prefer library paths specified with
-L over the LLVM paths. This matches the behaviour of clang and flang on
Linux.


  Commit: 7a66e4209b0b4cc0dc871a54c4f07a4b0054b5f7
      https://github.com/llvm/llvm-project/commit/7a66e4209b0b4cc0dc871a54c4f07a4b0054b5f7
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Lower/OpenMP/Clauses.h
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.h
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Lower/OpenMP/Utils.h

  Log Message:
  -----------
  [flang][OpenMP] Remove unnecessary `Fortran::` qualification, NFC (#92298)

The `Fortran::` namespace is redundant for all parts of the code in this
PR, except for names of functions in their definitions.


  Commit: 2bc9af96567eeda1effdf0cb7662511d896fb386
      https://github.com/llvm/llvm-project/commit/2bc9af96567eeda1effdf0cb7662511d896fb386
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M lldb/test/API/tools/lldb-server/libraries-svr4/TestGdbRemoteLibrariesSvr4Support.py

  Log Message:
  -----------
  [lldb][Windows] Disable the TestGdbRemoteLibrariesSvr4Support test for Windows host (#92341)

Windows does not allow quotes in file names. So it is impossible to
build `libsvr4lib_b".so` on Windows.


  Commit: 588ce34ba626a369a416b883342af48c69e70925
      https://github.com/llvm/llvm-project/commit/588ce34ba626a369a416b883342af48c69e70925
  Author: zibi2 <62662650+zibi2 at users.noreply.github.com>
  Date:   2024-05-16 (Thu, 16 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] Fixup two linear_congruential_engine tests (#92261)


  Commit: e948da1021b207dbcee9ed484ccb3409c2295561
      https://github.com/llvm/llvm-project/commit/e948da1021b207dbcee9ed484ccb3409c2295561
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/DemoteRegToStack.cpp

  Log Message:
  -----------
  [Transforms] Fix -Wunused-variable in DemoteRegToStack.cpp (NFC)

llvm-project/llvm/lib/Transforms/Utils/DemoteRegToStack.cpp:58:21:
error: unused variable 'BB' [-Werror,-Wunused-variable]
        BasicBlock *BB = SplitCriticalEdge(II, i);
                    ^
1 error generated.


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

  Changed paths:
    M llvm/test/CodeGen/X86/rot32.ll

  Log Message:
  -----------
  [X86] rot32.ll - remove old shld check prefixes

This was missed in 8dbd745b09c9f65fefc2ffac14e8f7f288766861


  Commit: 44eded31e0bd5739391298497affe3412e4091aa
      https://github.com/llvm/llvm-project/commit/44eded31e0bd5739391298497affe3412e4091aa
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/lldbtest.py

  Log Message:
  -----------
  [lldb] Move TestBase.runCmd() to the Base class (#92252)

runCmd() is called from Base.getCPUInfo() but implemented only in
TestBase(Base). Usually it works if TestBase is used. But call
getCPUInfo() from a class based on Base will cause something like
```
File "E:\projects\llvm-nino\lldb\llvm-project\lldb\packages\Python\lldbsuite\test\lldbtest.py", line 1256, in getCPUInfo
  self.runCmd('platform get-file "/proc/cpuinfo" ' + cpuinfo_path)
AttributeError: 'TestGdbRemoteExpeditedRegisters' object has no attribute 'runCmd'
```
BTW, TestBase.setUp() called runCmd() before applying
LLDB_MAX_LAUNCH_COUNT and LLDB_TIME_WAIT_NEXT_LAUNCH.

This patch fixes the test TestGdbRemoteExpeditedRegisters in case of
Windows host and Linux target.


  Commit: f7392f40f3f6d5d4fc4ec11a982cf5379ab3c5d1
      https://github.com/llvm/llvm-project/commit/f7392f40f3f6d5d4fc4ec11a982cf5379ab3c5d1
  Author: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_max.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_maxnm.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_min.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_minnm.c
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-max.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-min.ll

  Log Message:
  -----------
  [AArch64] Add intrinsics for bfloat16 min/max/minnm/maxnm (#90105)

According to specifications in
[ARM-software/acle/pull/309](https://github.com/ARM-software/acle/pull/309)
Add following intrinsics:

```
// svmax single,multi
svbfloat16x2_t svmax_single_bf16_x2(svbfloat16x2_t zdn, svbfloat16_t zm)
svbfloat16x4_t svmax_single_bf16_x4(svbfloat16x4_t zdn, svbfloat16_t zm)
svbfloat16x2_t svmax_bf16_x2(svbfloat16x2_t zdn, svbfloat16x2_t zm)
svbfloat16x4_t svmax_bf16_x4(svbfloat16x4_t zdn, svbfloat16x4_t zm)
```

```
// svmin single,multi
svbfloat16x2_t svmin_single_bf16_x2(svbfloat16x2_t zdn, svbfloat16_t zm)
svbfloat16x4_t svmin_single_bf16_x4(svbfloat16x4_t zdn, svbfloat16_t zm)
svbfloat16x2_t svmin_bf16_x2(svbfloat16x2_t zdn, svbfloat16x2_t zm)
svbfloat16x4_t svmin_bf16_x4(svbfloat16x4_t zdn, svbfloat16x4_t zm)
```

```
// svmaxnm single,multi
svbfloat16x2_t svmaxnm_single_bf16_x2(svbfloat16x2_t zdn, svbfloat16_t zm)
svbfloat16x4_t svmaxnm_single_bf16_x4(svbfloat16x4_t zdn, svbfloat16_t zm)
svbfloat16x2_t svmaxnm_bf16_x2(svbfloat16x2_t zdn, svbfloat16x2_t zm)
svbfloat16x4_t svmaxnm_bf16_x4(svbfloat16x4_t zdn, svbfloat16x4_t zm)
```

```
// svminnm single,multi
svbfloat16x2_t svminnm_single_bf16_x2(svbfloat16x2_t zdn, svbfloat16_t zm)
svbfloat16x4_t svminnm_single_bf16_x4(svbfloat16x4_t zdn, svbfloat16_t zm)
svbfloat16x2_t svminnm_bf16_x2(svbfloat16x2_t zdn, svbfloat16x2_t zm)
svbfloat16x4_t svminnm_bf16_x4(svbfloat16x4_t zdn, svbfloat16x4_t zm)
```
- Variations other than bfloat16 are already supported.


  Commit: af57ad6536c7df19e6df7217d9d976067fdaf882
      https://github.com/llvm/llvm-project/commit/af57ad6536c7df19e6df7217d9d976067fdaf882
  Author: zibi2 <62662650+zibi2 at users.noreply.github.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M libcxx/include/__algorithm/simd_utils.h

  Log Message:
  -----------
  [libc++][z/OS] Correct a definition of __native_vector_size (#91995)

Fix `std/ranges/range.adaptors/range.lazy.split/general.pass.cpp` which
started failing on z/OS after this
[commit](https://github.com/llvm/llvm-project/commit/985c1a44f8d49e0af).

This test case is passing on other platforms such as AIX. This is
because the `__ALTIVEC__` macro is defined and `__mismatch` under
`_LIBCPP_VECTORIZE_ALGORITHMS` guard is compiled out. However, on z/OS
`_LIBCPP_VECTORIZE_ALGORITHMS` is defined. Analyzing the algorithm of
`__mismatch` shows that the culprit is the definition of
`__native_vector_size` which was defined wrongly as 1. This PR corrects
the definition of `__native_vector_size` and fixes the affected test.


  Commit: 4a5dffc67499640c71357d8f3f49edc97af5482f
      https://github.com/llvm/llvm-project/commit/4a5dffc67499640c71357d8f3f49edc97af5482f
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    A llvm/test/CodeGen/AArch64/arm64ec-symbols.ll

  Log Message:
  -----------
  [CodeGen][ARM64EC][NFC] Add ARM64EC alias symbols test. (#92100)


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

  Changed paths:
    M llvm/lib/Target/X86/X86ScheduleZnver3.td
    M llvm/lib/Target/X86/X86ScheduleZnver4.td
    M llvm/test/Transforms/LoopUnroll/X86/znver3.ll

  Log Message:
  -----------
  [X86] Reduce znver3/4 LoopMicroOpBufferSize to practical loop unrolling values (#91340)

The znver3/4 scheduler models have previously associated the LoopMicroOpBufferSize with the maximum size of their op caches, and when this led to quadratic complexity issues this were reduced to a value of 512 uops, based mainly on compilation time and not its effectiveness on runtime performance.

>From a runtime performance POV, a large LoopMicroOpBufferSize leads to a higher number of loop unrolls, meaning the cpu has to rely on the frontend decode rate (4 ins/cy max) for much longer to fill the op cache before looping begins and we make use of the faster op cache rate (8/9 ops/cy).

This patch proposes we instead cap the size of the LoopMicroOpBufferSize based off the maximum rate from the op cache (znver3 = 8op/cy, znver4 = 9op/cy) and the branch misprediction penalty from the opcache (~12cy) as a estimate of the useful number of ops we can unroll a loop by before mispredictions are likely to cause stalls. This isn't a perfect metric, but does try to be closer to the spirit of how we use LoopMicroOpBufferSize in the compiler vs the size of a similar naming buffer in the cpu.


  Commit: 93c02b7dc3bd07d3d62b56cb3299288901205f3a
      https://github.com/llvm/llvm-project/commit/93c02b7dc3bd07d3d62b56cb3299288901205f3a
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/test/CodeGen/AArch64/arm64ec-symbols.ll

  Log Message:
  -----------
  [CodeGen][ARM64EC] Use MCSymbolRefExpr::VK_None for function aliases. (#92100)


  Commit: c675a58edec6d1a876a0d0e7d261f74764855b38
      https://github.com/llvm/llvm-project/commit/c675a58edec6d1a876a0d0e7d261f74764855b38
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

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

  Log Message:
  -----------
  [TableGen][SubtargetEmitter] Early exit from loop in FindWriteResources and FindReadAdvance (#92202)

This gives us a 30% speed improvement in our downstream.


  Commit: 6c7ec6e1e6646fb334064bda6f301fdb52390d9b
      https://github.com/llvm/llvm-project/commit/6c7ec6e1e6646fb334064bda6f301fdb52390d9b
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M mlir/test/Dialect/ArmSME/tile-allocation-spills-with-mixed-tile-types.mlir

  Log Message:
  -----------
  [mlir][ArmSME] Remove empty line in test (NFC) (#92404)


  Commit: 74a87548e5b62881108e6cd1fd63b45580fc3097
      https://github.com/llvm/llvm-project/commit/74a87548e5b62881108e6cd1fd63b45580fc3097
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.h
    M flang/test/Fir/omp-reduction-embox-codegen.fir
    M flang/test/Lower/OpenMP/default-clause-byref.f90
    M flang/test/Lower/OpenMP/delayed-privatization-reduction-byref.f90
    M flang/test/Lower/OpenMP/parallel-reduction-add-byref.f90
    M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array-lb.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
    M flang/test/Lower/OpenMP/parallel-reduction-byref.f90
    M flang/test/Lower/OpenMP/parallel-reduction3.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-reduction-byref.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-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-ieor-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-2-byref.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-min-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M mlir/include/mlir/Dialect/OpenMP/OpenMPClauseOperands.h
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Conversion/SCFToOpenMP/SCFToOpenMP.cpp
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir
    M mlir/test/Target/LLVMIR/openmp-parallel-reduction-cleanup.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-byref.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-init-arg.mlir
    M mlir/test/Target/LLVMIR/openmp-wsloop-reduction-cleanup.mlir

  Log Message:
  -----------
  [flang][MLIR][OpenMP] make reduction by-ref toggled per variable (#92244)

Fixes #88935

Toggling reduction by-ref broke when multiple reduction clauses were
used. Decisions made for the by-ref status for later clauses could then
invalidate decisions for earlier clauses. For example,

```
reduction(+:scalar,scalar2) reduction(+:array)
```

The first clause would choose by value reduction and generate by-value
reduction regions, but then after this the second clause would force
by-ref to support the array argument. But by the time the second clause
is processed, the first clause has already had the wrong kind of
reduction regions generated.

This is solved by toggling whether a variable should be reduced by
reference per variable. In the above example, this allows only `array`
to be reduced by ref.


  Commit: d94582eea410a04f9f84e39a54276a8418aa2dbb
      https://github.com/llvm/llvm-project/commit/d94582eea410a04f9f84e39a54276a8418aa2dbb
  Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    A flang/test/Semantics/OpenMP/atomic-update-overloaded-ops.f90

  Log Message:
  -----------
  [flang][OpenMP] Add test for checking overloaded operator in atomic update (#88471)

Atomic update expression does not allow overloaded user-defined
operators. This PR adds a test case for the same; the semantic check is
already existent.


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

  Changed paths:
    M lldb/tools/lldb-dap/lldb-dap.cpp

  Log Message:
  -----------
  [lldb] Fixed an invalid error message in the DAP disconnect response (#92345)

The `disconnect` response contains the `error` message with invalid
characters (a junk data). To reproduce this issue it is enough to run
the `TestDAP_commands` test on Windows host and Linux target. The test
will fail to run ELF file on Windows and dap_server will be disconnected
unexpectedly.

Note dap_server hangs if read_packet() cannot decode JSON with invalid
characters. read_packet() must return None in this case instead of an
exception. But dap_server does not require any fix after this patch.


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

  Changed paths:
    M lldb/test/API/tools/lldb-dap/commands/TestDAP_commands.py
    M lldb/test/API/tools/lldb-dap/startDebugging/TestDAP_startDebugging.py

  Log Message:
  -----------
  [lldb] Fixed the DAP tests in case of a remote target (#92398)

These tests failed in case of Windows host and Linux target, because
dap_server tried to run ELF file on Windows.


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

  Changed paths:
    M clang/www/cxx_status.html

  Log Message:
  -----------
  [clang][NFC] Claim support for P3106R1 since Clang 17

Test for this paper were added in https://github.com/llvm/llvm-project/pull/91435


  Commit: 5ac34358181b21135851979c1c949632be5a9d32
      https://github.com/llvm/llvm-project/commit/5ac34358181b21135851979c1c949632be5a9d32
  Author: Dana Jansens <danakj at chromium.org>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-function-attr.cpp

  Log Message:
  -----------
  Respect the [[clang::unsafe_buffer_usage]] attribute for constructors (#91777)

The -Wunsafe-buffer-usage warning should fire on any call to a function
annotated with [[clang::unsafe_buffer_usage]], however it omitted calls
to constructors, since the expression is a CXXConstructExpr which does
not subclass CallExpr. Thus the matcher on callExpr() does not find
these expressions.

Add a new WarningGadget that matches cxxConstructExpr that are calling a
CXXConstructDecl annotated by [[clang::unsafe_buffer_usage]] and fires
the warning. The new UnsafeBufferUsageCtorAttrGadget gadget explicitly
avoids matching against the std::span(ptr, size) constructor because
that is handled by SpanTwoParamConstructorGadget and we never want two
gadgets to match the same thing (and this is guarded by asserts).

The gadgets themselves do not report the warnings, instead each gadget's
Stmt is passed to the UnsafeBufferUsageHandler (implemented by
UnsafeBufferUsageReporter). The Reporter is previously hardcoded that a
CXXConstructExpr statement must be a match for std::span(ptr, size), but
that is no longer the case. We want the Reporter to generate different
warnings (in the -Wunsafe-buffer-usage-in-container subgroup) for the
span contructor. And we will want it to report more warnings for other
std-container-specific gadgets in the future. To handle this we allow
the gadget to control if the warning is general (it calls
handleUnsafeBufferUsage()) or is a std-container-specific warning (it
calls handleUnsafeOperationInContainer()).

Then the WarningGadget grows a virtual method to dispatch to the
appropriate path in the UnsafeBufferUsageHandler. By doing so, we no
longer need getBaseStmt in the Gadget interface. The only use of it for
FixableGadgets was to get the SourceLocation, so we make an explicit
virtual method for that on Gadget. Then the handleUnsafeOperation()
dispatcher can be a virtual method that is only in WarningGadget.

The SpanTwoParamConstructorGadget gadget dispatches to
handleUnsafeOperationInContainer() while the other WarningGadgets all
dispatch to the original handleUnsafeBufferUsage().

Tests are added for annotated constructors, conversion operattors, call
operators, fold expressions, and regular methods.

Issue #80482


  Commit: ee407e17a3a4986bab49272665abc9973d78691d
      https://github.com/llvm/llvm-project/commit/ee407e17a3a4986bab49272665abc9973d78691d
  Author: Renaud Kauffmann <50748669+Renaud-K at users.noreply.github.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
    M flang/test/Analysis/AliasAnalysis/alias-analysis-2.fir
    M flang/test/Analysis/AliasAnalysis/alias-analysis-3.fir
    A flang/test/Analysis/AliasAnalysis/alias-analysis-9.fir

  Log Message:
  -----------
  [flang] AliasAnalysis: More formally define and distinguish between data and non-data  (#91020)

This PR is an implementation for changes proposed in
https://discourse.llvm.org/t/rfc-distinguish-between-data-and-non-data-in-fir-alias-analysis/78759

Test updates were made when the query was on the wrong reference. So, it
is my hope that this will clear ambiguity on the nature of the queries
from here on.
There are also some TODOs that were addressed. 

It also partly implements what
https://github.com/llvm/llvm-project/pull/87723 is attempting to
accomplish. At least, on a point-to-point query between references, the
distinction is made. To apply it to TBAA, would be another PR.

Note that, the changes were minimal in the TBAA code to retain the
current results.


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

  Changed paths:
    M llvm/include/llvm/Analysis/TargetLibraryInfo.h
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp
    M llvm/test/Transforms/PlaceSafepoints/libcall.ll

  Log Message:
  -----------
  PlaceSafepoints: Fix using default constructed TargetLibraryInfo (#92411)


  Commit: 309a881dccb82bf1f101cf138bee3e7400968ed8
      https://github.com/llvm/llvm-project/commit/309a881dccb82bf1f101cf138bee3e7400968ed8
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/docs/VectorizationPlan.rst
    M llvm/docs/conf.py

  Log Message:
  -----------
  [VPlan] Address remaining comments for #85689.

Address comments missed when landing
https://github.com/llvm/llvm-project/pull/85689.


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/AArch64/sadd_sat_vec.ll
    M llvm/test/CodeGen/AArch64/ssub_sat_vec.ll
    M llvm/test/CodeGen/PowerPC/pr44183.ll
    M llvm/test/CodeGen/RISCV/rvv/bitreverse-sdnode.ll
    M llvm/test/CodeGen/X86/vector_splat-const-shift-of-constmasked.ll

  Log Message:
  -----------
  [DAG] SimplifyDemandedBits - use ComputeKnownBits instead of getValidShiftAmountConstant to check for constant shift amounts. (#92412)

This allows us to handle cases where the constant has already been type legalized behind a bitcast

Despite calling ComputeKnownBits I'm not seeing any notable change in compile time.


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

  Changed paths:
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    M offload/src/device.cpp

  Log Message:
  -----------
  [Libomptarget] Remove requires information from plugin (#80345)

Summary:
Currently this is only used for the zero-copy handling. However, this
can easily be moved into `libomptarget` so that we do not need to bother
setting the requires flags in the plugin. The advantage here is that we
no longer need to do this for every device redundently. Additionally,
these requires flags are specifically OpenMP related, so they should
live in `libomptarget`.


  Commit: b28766eb3f20354d1d7a34ea83b9d915c3715032
      https://github.com/llvm/llvm-project/commit/b28766eb3f20354d1d7a34ea83b9d915c3715032
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
    M llvm/test/CodeGen/AArch64/arm64ec-entry-thunks.ll

  Log Message:
  -----------
  [Arm64EC] Correctly handle sret in entry thunks. (#92326)

I accidentally left out the code to transfer sret attributes to entry
thunks, so values weren't being passed in the right registers, and the
sret pointer wasn't returned in the correct register.

Fixes #90229


  Commit: b82fd5d75cff87f7480a24d4a16ea8400cc35c86
      https://github.com/llvm/llvm-project/commit/b82fd5d75cff87f7480a24d4a16ea8400cc35c86
  Author: pvanhout <pierre.vanhoutryve at amd.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h

  Log Message:
  -----------
  [GlobalISel] Initialize variables in IndexedLoadStoreMatchInfo


  Commit: e8692b88bec1d43325804d75166d9483d6c17fc7
      https://github.com/llvm/llvm-project/commit/e8692b88bec1d43325804d75166d9483d6c17fc7
  Author: Tim Besard <tim.besard at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/test/Transforms/Internalize/lists.ll

  Log Message:
  -----------
  [NewPM] Add pass options for InternalizePass to preserve GVs (reland) (#92383)

Reland of https://github.com/llvm/llvm-project/pull/91334, which broke
the gcc7 buildbot and was reverted in
https://github.com/llvm/llvm-project/pull/92321.
Work around the failure by being explicit about returning an `Expected`.

cc @joker-eph


  Commit: ce67fcf15f4ffac00a715cf724bc72e37f063064
      https://github.com/llvm/llvm-project/commit/ce67fcf15f4ffac00a715cf724bc72e37f063064
  Author: SunilKuravinakop <98882378+SunilKuravinakop at users.noreply.github.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/test/OpenMP/task_ast_print.cpp

  Log Message:
  -----------
  Avoid unevaluated implicit private (#92055)

For every variable used under `#pragma omp task` directive
(`DeclRefExpr`) an ImplicitPrivateVariable is created in the AST, if
`private` or `shared` clauses are not present. If the variable has the
property of `non_odr_use_unevaluated` e.g. for statements which use
`sizeof( i )` `i` will have `non_odr_use_unevaluated` . In such cases
CodeGen was asserting by avoiding emitting of LLVM IR for such
variables. To prevent this assertion this checkin avoids adding the
ImplicitPrivateVariable for variables with `non_odr_use_unevaluated`.

---------

Authored-by: Sunil Kuravinakop <kuravina at pe28vega.us.cray.com>


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

  Changed paths:
    R offload/include/Shared/PluginAPI.h
    R offload/include/Shared/PluginAPI.inc

  Log Message:
  -----------
  [Offload][NFC] Remove unused files following static plugins

Summary:
Forgot to remove these when I landed the initial patch, they are no
longer used.


  Commit: 224116ab9f4d97acb0cca76dc63c1d3d4a253078
      https://github.com/llvm/llvm-project/commit/224116ab9f4d97acb0cca76dc63c1d3d4a253078
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaInit.cpp
    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/eval-crashes.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  Revert "[Clang][CWG1815] Support lifetime extension of temporary created by aggregate initialization using a default member initializer (#87933)"

This reverts commit 17daa204feadf9c28fc13b7daa69c3cbe865b238.

Multiple examples on the PR
https://github.com/llvm/llvm-project/pull/87933

show regressions, so reverting until they can be fixed in the followup.


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

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

  Log Message:
  -----------
  [lldb-dap] Update repository in package.json

Use https://github.com/llvm/vscode-lldb instead of the monorepo, for
consistency with the other two extensions (mlir, clangd).


  Commit: f03430f5e37e8eb64878dc538b05210adea2d80f
      https://github.com/llvm/llvm-project/commit/f03430f5e37e8eb64878dc538b05210adea2d80f
  Author: Xiaoyang Liu <siujoeng.lau at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/include/__iterator/common_iterator.h
    M libcxx/test/std/iterators/predef.iterators/iterators.common/arrow.pass.cpp

  Log Message:
  -----------
  [libc++] LWG3672: `common_iterator::operator->()` should return by value (#87899)

## Abstract

This pull request implements LWG3672: `common_iterator::operator->()`
should return by value. The current implementation specifies that this
function should return the underlying pointer by reference (`T*
const&`), but it would be more intuitive to return it by value (`T*`).

## Reference

- [Draft C++ Standard:
[common.iter.access]](https://eel.is/c++draft/common.iter.access)
- [LWG3672](https://cplusplus.github.io/LWG/issue3672)


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

  Changed paths:
    M lldb/test/API/tools/lldb-dap/completions/TestDAP_completions.py
    M lldb/test/API/tools/lldb-dap/exception/TestDAP_exception.py

  Log Message:
  -----------
  [lldb] Fixed the DAP tests in case of a remote target (#92416)

These tests are based on dap_server which runs locally. These tests
failed in case of Windows host and Linux target.


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

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

  Log Message:
  -----------
  [memprof] Group MemProf data structures into a struct (NFC) (#92360)

This patch groups the three Memprof data structures into a struct
named IndexedMemProfData and teaches InstrProfWriter to use it.  This
way, we can pass IndexedMemProfData to writeMemProf and its helpers
instead of individual data structures.

As a follow-up, we can use the new struct in MemProfReader also.  That
in turn allows loadInput in llvm-profdata to move the MemProf data
into the writer context, saving a few seconds for a large MemProf
profile.


  Commit: 525bd66fc29fd056ef18118dfff3c9cc05fdd5e3
      https://github.com/llvm/llvm-project/commit/525bd66fc29fd056ef18118dfff3c9cc05fdd5e3
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M lldb/docs/index.rst
    A lldb/docs/resources/lldbdap.md
    M lldb/tools/lldb-dap/README.md

  Log Message:
  -----------
  [lldb-dap] Separate user and developer documentation (#92428)

The README.md is what users see when they look for the extension in the
Marketplace [1]. Right now, it's a mix of developer documentation (for
us) and user documentation. This commit moves the developer docs into
`docs` and the lldb website and refocuses the README on using the
extension.

[1] https://marketplace.visualstudio.com/items?itemName=llvm-vs-code-extensions.lldb-dap


  Commit: 80a0a067fb8cc3122f53083fd2fe20f9d5dfc5bf
      https://github.com/llvm/llvm-project/commit/80a0a067fb8cc3122f53083fd2fe20f9d5dfc5bf
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/known-bits.ll

  Log Message:
  -----------
  [ValueTracking] Add tests for computing knownbits from `(icmp upred (add/sub nuw X, Y), C)`; NFC


  Commit: 05347f8c2fde0cde2fd12f1ec3611eeaf666ece0
      https://github.com/llvm/llvm-project/commit/05347f8c2fde0cde2fd12f1ec3611eeaf666ece0
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstCombine/known-bits.ll

  Log Message:
  -----------
  [ValueTracking] Compute knownbits from `(icmp upred (add/sub nuw X, Y), C)`

`(icmp ule/ult (add nuw X, Y), C)` implies both `(icmp ule/ult X, C)` and
`(icmp ule/ult Y, C)`. We can use this to deduce leading zeros in `X`/`Y`.

`(icmp uge/ugt (sub nuw X, Y), C)` implies `(icmp uge/uge X, C)` . We
can use this to deduce leading ones in `X`.

Proofs: https://alive2.llvm.org/ce/z/sc5k22

Closes #87180


  Commit: ebbf484e1c62a312d88c7f6482af11a58d40f52d
      https://github.com/llvm/llvm-project/commit/ebbf484e1c62a312d88c7f6482af11a58d40f52d
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/icmp-trunc.ll

  Log Message:
  -----------
  [InstCombine] Add tests for folding `(icmp pred (trunc nuw/nsw X), C)`; NFC


  Commit: 23f1047daac9702876ca99b53e8fe649fca569fa
      https://github.com/llvm/llvm-project/commit/23f1047daac9702876ca99b53e8fe649fca569fa
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/icmp-trunc.ll

  Log Message:
  -----------
  [InstCombine] Fold `(icmp pred (trunc nuw/nsw X), C)` -> `(icmp pred X, (zext/sext C))`

This is valid as long as the sign of the wrap flag doesn't differ from
the sign of the `pred`.

Proofs: https://alive2.llvm.org/ce/z/35NsrR

NB: The online Alive2 hasn't been updated with `trunc nuw/nsw`
support, so the proofs must be reproduced locally.

Closes #87935


  Commit: da928c6d6e0e2f619fdaef71cea8747d9aef188d
      https://github.com/llvm/llvm-project/commit/da928c6d6e0e2f619fdaef71cea8747d9aef188d
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ASTContext.cpp
    A clang/test/CXX/temp/temp.decls/temp.fct/temp.func.order/p2.cpp

  Log Message:
  -----------
  [Clang][Sema] ASTContext::getUnconstrainedType propagates dependence (#92425)

When the argument passed to `ASTContext::getUnconstrainedType` is an
unconstrained `AutoType`, will return the argument unchanged. However,
when called with a constrained `AutoType`, an unconstrained,
non-dependent `AutoType` will be returned even if the argument was
dependent. Consider the following:
```
template<typename T>
concept C = sizeof(T) == sizeof(int);

template<auto N>
struct A;

template<C auto N>
struct A<N>; // error: class template partial specialization is not more specialized than the primary template
```
When comparing the template parameters for equivalence,
`ASTContext::getUnconstrainedType` is used to remove the constraints per
[temp.over.link] p6 sentence 2. For the template
parameter `N` of the class template, it returns a dependent `AutoType`.
For the template parameter `N` of the class template partial
specialization, it returns a non-dependent `AutoType`. We subsequently
compare the adjusted types and find they are not equivalent, thus we
consider the partial specialization to not be more specialized than the
primary template per [temp.func.order] p6.2.2.

This patch changes `ASTContext::getUnconstrainedType` such that the
dependence of a constrained `AutoType` will propagate to the returned
unconstrained `AutoType`. This causes the above example to be correctly
accepted, fixing #77377.


  Commit: 9a7f54ba4878c4e66c99430b52d8c014ab7b2a03
      https://github.com/llvm/llvm-project/commit/9a7f54ba4878c4e66c99430b52d8c014ab7b2a03
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/tools/clang-fuzzer/dictionary/dictionary.c

  Log Message:
  -----------
  [clang-fuzzer-dictionary] Skip EmptySpellingName after #89358

The dictionary entry `=""` is invalid.


  Commit: a383b3cca3383128123b33bc73ffc0199ec573e4
      https://github.com/llvm/llvm-project/commit/a383b3cca3383128123b33bc73ffc0199ec573e4
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaConcept.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp

  Log Message:
  -----------
  [clang] CTAD alias: Emit a more descriptive diagnostic message when is_deducible  constraint is evaluated to false. (#92389)

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


  Commit: 476f7f65f9f17fab7e78f395b83dcb7b0bbd5215
      https://github.com/llvm/llvm-project/commit/476f7f65f9f17fab7e78f395b83dcb7b0bbd5215
  Author: weltschildkroete <65237298+weltschildkroete at users.noreply.github.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaType.cpp
    M clang/test/SemaCXX/auto-cxx0x.cpp

  Log Message:
  -----------
  [clang][Sema] Emit more specific diagnostic for auto in lambda before C++14 (#46059) (#68540)

Namely, we specify that `auto` in a lambda parameter is a C++14
extension in the error message, which now reads:

`'auto' not allowed in lambda parameter before C++14`

This does not change the behavior for `decltype(auto)` and `__auto_type`
though.

---------

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


  Commit: 174cdeced0fe0da07a03d0d118bd70b93badfbb1
      https://github.com/llvm/llvm-project/commit/174cdeced0fe0da07a03d0d118bd70b93badfbb1
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/include/llvm/Passes/PassBuilder.h
    M llvm/lib/Passes/PassBuilderPipelines.cpp

  Log Message:
  -----------
  [nfc] Clarify when the various PGO instrumentation passes run (#92330)

The code seems easier to read if it's centered on what the user wants rather than combinations of whatever internal variables.


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

  Changed paths:
    M llvm/unittests/Support/ErrorTest.cpp

  Log Message:
  -----------
  Unittest for Error forwarding, follow-up to PR #92208 (#92314)

Added a unittest demonstrating Error -> Expected<T> forwarding.


  Commit: 9144553207052a868efc5a8ce61a0afbb0eaf236
      https://github.com/llvm/llvm-project/commit/9144553207052a868efc5a8ce61a0afbb0eaf236
  Author: Evgenii Stepanov <eugenis at google.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp

  Log Message:
  -----------
  Revert "[RISCV] Remove unneeded casts from int64_t to uint64_t in RISCVMatInt.cpp. NFC"

LLVM is built with C++17, where left shift of any negative value is still UB.
Detected with UBSan on the buildbot.

This reverts commit 0647d1035cb208195e002b38089b82004b6f7b92.


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

  Changed paths:
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/plugins-nextgen/common/src/PluginInterface.cpp

  Log Message:
  -----------
  [Libomptarget] Rework Record & Replay to be a plugin member (#88928) (#89097)

Summary:
Previously, the R&R support was global state initialized by a global
constructor. This is bad because it prevents us from adequately
constraining the lifetime of the library. Additionally, we want to
minimize the amount of global state floating around.

This patch moves the R&R support into a plugin member like everything
else. This means there will be multiple copies of the R&R implementation
floating around, but this was already the case given the fact that we
currently handle everything with dynamic libraries.


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

  Changed paths:
    M libc/src/time/gpu/time_utils.cpp
    M libc/src/time/gpu/time_utils.h

  Log Message:
  -----------
  [libc][NFC] Replace address space with constant GPU utility

Summary:
This was written before we had the address space helpers. Using
numerical address spaces is bad so this should be removed.


  Commit: 61565abcdc4d864a8c7aa7ad23ed441a3762b77d
      https://github.com/llvm/llvm-project/commit/61565abcdc4d864a8c7aa7ad23ed441a3762b77d
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-16 (Thu, 16 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 variable initializer


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

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

  Log Message:
  -----------
  [memprof] Update comments for writeMemProf and its helpers (#92446)

This patch adds comments for writeMemProf{V0,V1,V2} in a
version-specific manner.  The mostly repetitive nature of the comments
is somewhat unfortunate but intentional to make it easy to retire
older versions.

Without this patch, the comment just before writeMemProf documents the
Version1 format, which is very confusing.


  Commit: f05c068429a86ef2187eae094354c73e8339baa2
      https://github.com/llvm/llvm-project/commit/f05c068429a86ef2187eae094354c73e8339baa2
  Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

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

  Log Message:
  -----------
  [InstrProf] Remove unused argv in llvm-profdata.cpp (#92435)

https://github.com/llvm/llvm-project/pull/71328 refactored
`llvm-profdata.cpp` to use subcommands (which is super nice), but left
many unused `argv` variables. This opts to use `ProgName` where
necessary, and removes `argv` otherwise.


  Commit: 1ede503910d3133ea1af8c084fee96ca98c66464
      https://github.com/llvm/llvm-project/commit/1ede503910d3133ea1af8c084fee96ca98c66464
  Author: Hugo Trachino <hugo.trachino at huawei.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M mlir/lib/Dialect/Tensor/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Tensor/Transforms/FoldTensorSubsetOps.cpp
    M mlir/test/Dialect/Tensor/fold-tensor-subset-ops-into-vector-transfers.mlir

  Log Message:
  -----------
  [MLIR][Vector] Implement TransferReadOfExtractSliceOp as MaskableOpRewritePattern (#91960)

Split of https://github.com/llvm/llvm-project/pull/90835
Adds support for `TransferReadOfExtractSliceOpFolder` when the
`TransferReadOp` is inside a `MaskOp`.


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

  Changed paths:
    M llvm/lib/Passes/PassBuilderPipelines.cpp

  Log Message:
  -----------
  [ctx_profile] Decouple ctx  instrumentation from PGOOpt (#92445)

We currently don't support passing files and don't need frontend involvement either.


  Commit: e8d41fc9bcf0f19a4c2a28cee05367e03c514dc2
      https://github.com/llvm/llvm-project/commit/e8d41fc9bcf0f19a4c2a28cee05367e03c514dc2
  Author: OfekShochat <ofeksh.oss at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/lib/Basic/TypeTraits.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/test/AST/Interp/builtin-functions.cpp
    M clang/test/AST/ast-dump-ctad-alias.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-lambda.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
    M clang/test/Analysis/lifetime-extended-regions.cpp
    M clang/test/C/C2x/n2900_n3011.c
    M clang/test/C/C2x/n2900_n3011_2.c
    M clang/test/CXX/drs/cwg16xx.cpp
    M clang/test/CXX/drs/cwg18xx.cpp
    A clang/test/CXX/expr/expr.unary/expr.unary.general/p1.cpp
    M clang/test/CXX/over/over.built/ast.cpp
    M clang/test/CXX/over/over.built/p10.cpp
    M clang/test/CXX/over/over.built/p11.cpp
    A clang/test/CXX/over/over.oper/over.oper.general/p1.cpp
    M clang/test/CXX/special/class.temporary/p6.cpp
    A clang/test/CXX/temp/temp.decls/temp.fct/temp.func.order/p2.cpp
    M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_max.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_maxnm.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_min.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_minnm.c
    A clang/test/Driver/flang/msvc-link.f90
    M clang/test/Frontend/noderef_templates.cpp
    M clang/test/OpenMP/task_ast_print.cpp
    M clang/test/Sema/compound-literal.c
    M clang/test/SemaCXX/auto-cxx0x.cpp
    M clang/test/SemaCXX/constexpr-default-arg.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
    M clang/test/SemaCXX/cxx2b-deducing-this.cpp
    M clang/test/SemaCXX/eval-crashes.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-function-attr.cpp
    M clang/test/SemaTemplate/class-template-spec.cpp
    M clang/test/SemaTemplate/cwg2398.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp
    M clang/tools/clang-format/ClangFormat.cpp
    M clang/tools/clang-fuzzer/dictionary/dictionary.c
    M clang/tools/driver/cc1as_main.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
    A clang/unittests/Tooling/RecursiveASTVisitorTests/DeductionGuide.cpp
    M clang/www/cxx_dr_status.html
    M clang/www/cxx_status.html
    M flang/include/flang/Lower/LoweringOptions.def
    M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
    A flang/include/flang/Optimizer/CodeGen/CGOps.h
    M flang/include/flang/Optimizer/CodeGen/CGOps.td
    M flang/include/flang/Optimizer/CodeGen/CGPasses.td
    M flang/include/flang/Optimizer/CodeGen/CodeGen.h
    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/include/flang/Tools/CrossToolHelpers.h
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/IO.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Lower/OpenMP/Clauses.h
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.h
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Lower/OpenMP/Utils.h
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/CodeGen/CGOps.cpp
    R flang/lib/Optimizer/CodeGen/CGOps.h
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
    M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    M flang/test/Analysis/AliasAnalysis/alias-analysis-2.fir
    M flang/test/Analysis/AliasAnalysis/alias-analysis-3.fir
    A flang/test/Analysis/AliasAnalysis/alias-analysis-9.fir
    M flang/test/Driver/frontend-forwarding.f90
    M flang/test/Fir/declare-codegen.fir
    M flang/test/Fir/dummy-scope-codegen.fir
    M flang/test/Fir/loop01.fir
    M flang/test/Fir/omp-reduction-embox-codegen.fir
    M flang/test/Lower/OpenMP/default-clause-byref.f90
    M flang/test/Lower/OpenMP/delayed-privatization-reduction-byref.f90
    M flang/test/Lower/OpenMP/parallel-reduction-add-byref.f90
    M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array-lb.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
    M flang/test/Lower/OpenMP/parallel-reduction-byref.f90
    M flang/test/Lower/OpenMP/parallel-reduction3.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-reduction-byref.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-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-ieor-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-2-byref.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-min-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
    M flang/test/Lower/array-substring.f90
    M flang/test/Lower/do_loop.f90
    M flang/test/Lower/do_loop_unstructured.f90
    M flang/test/Lower/infinite_loop.f90
    M flang/test/Lower/io-implied-do-fixes.f90
    A flang/test/Semantics/OpenMP/atomic-update-overloaded-ops.f90
    A flang/test/Transforms/debug-local-var-2.f90
    A flang/test/Transforms/debug-local-var.f90
    M flang/tools/bbc/bbc.cpp
    M libc/src/time/gpu/time_utils.cpp
    M libc/src/time/gpu/time_utils.h
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/include/__algorithm/simd_utils.h
    M libcxx/include/__iterator/common_iterator.h
    M libcxx/include/version
    M libcxx/test/std/iterators/predef.iterators/iterators.common/arrow.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/type_traits.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.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/utils/generate_feature_test_macro_components.py
    M lld/ELF/Arch/AArch64.cpp
    M lld/ELF/Relocations.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h
    M lld/ELF/Writer.cpp
    M lld/test/ELF/aarch64-reloc-pauth.s
    M lld/test/ELF/emulation-loongarch.s
    M lldb/docs/index.rst
    A lldb/docs/resources/lldbdap.md
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/test/API/functionalities/avoids-fd-leak/TestFdLeak.py
    M lldb/test/API/tools/lldb-dap/commands/TestDAP_commands.py
    M lldb/test/API/tools/lldb-dap/completions/TestDAP_completions.py
    M lldb/test/API/tools/lldb-dap/exception/TestDAP_exception.py
    M lldb/test/API/tools/lldb-dap/startDebugging/TestDAP_startDebugging.py
    M lldb/test/API/tools/lldb-server/libraries-svr4/TestGdbRemoteLibrariesSvr4Support.py
    M lldb/tools/lldb-dap/README.md
    M lldb/tools/lldb-dap/lldb-dap.cpp
    M lldb/tools/lldb-dap/package.json
    M llvm/docs/GlobalISel/MIRPatterns.rst
    M llvm/docs/VectorizationPlan.rst
    M llvm/docs/conf.py
    A llvm/docs/vplan-scope.png
    A llvm/docs/vplan-transform-pipeline.png
    M llvm/include/llvm/ADT/StringRef.h
    M llvm/include/llvm/Analysis/TargetLibraryInfo.h
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/include/llvm/MC/MCAsmMacro.h
    M llvm/include/llvm/MC/MCContext.h
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/include/llvm/Passes/PassBuilder.h
    M llvm/include/llvm/ProfileData/InstrProfWriter.h
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
    M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/MC/MCObjectStreamer.cpp
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/MC/MCParser/MCAsmParser.cpp
    M llvm/lib/MC/MCStreamer.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/ProfileData/InstrProfWriter.cpp
    M llvm/lib/ProfileData/MemProf.cpp
    M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64PostSelectOptimize.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchSubtarget.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.h
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFStreamer.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
    M llvm/lib/Target/RISCV/RISCV.h
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    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/X86/X86ScheduleZnver3.td
    M llvm/lib/Target/X86/X86ScheduleZnver4.td
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp
    M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
    M llvm/lib/Transforms/Utils/DemoteRegToStack.cpp
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/test/Bindings/llvm-c/debug_info.ll
    A llvm/test/Bindings/llvm-c/debug_info_new_format.ll
    M llvm/test/CodeGen/AArch64/aarch64-mulv.ll
    M llvm/test/CodeGen/AArch64/aarch64-smull.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
    M llvm/test/CodeGen/AArch64/arm64ec-entry-thunks.ll
    A llvm/test/CodeGen/AArch64/arm64ec-symbols.ll
    M llvm/test/CodeGen/AArch64/bitcast.ll
    M llvm/test/CodeGen/AArch64/insertextract.ll
    M llvm/test/CodeGen/AArch64/ptradd.ll
    M llvm/test/CodeGen/AArch64/reduce-and.ll
    M llvm/test/CodeGen/AArch64/reduce-or.ll
    M llvm/test/CodeGen/AArch64/reduce-xor.ll
    M llvm/test/CodeGen/AArch64/sadd_sat_vec.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-max.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-min.ll
    M llvm/test/CodeGen/AArch64/ssub_sat_vec.ll
    M llvm/test/CodeGen/LoongArch/e_flags.ll
    M llvm/test/CodeGen/LoongArch/target-abi-from-triple-edge-cases.ll
    A llvm/test/CodeGen/LoongArch/target-abi.ll
    M llvm/test/CodeGen/PowerPC/pr44183.ll
    M llvm/test/CodeGen/RISCV/rvv/bitreverse-sdnode.ll
    M llvm/test/CodeGen/Thumb2/mve-laneinterleaving-cost.ll
    M llvm/test/CodeGen/X86/big-array-init.ll
    M llvm/test/CodeGen/X86/midpoint-int-vec-128.ll
    M llvm/test/CodeGen/X86/midpoint-int-vec-256.ll
    M llvm/test/CodeGen/X86/rot32.ll
    M llvm/test/CodeGen/X86/vector_splat-const-shift-of-constmasked.ll
    A llvm/test/DebugInfo/AArch64/merge-locations-legalizer.mir
    M llvm/test/MC/AsmParser/assembler-expressions-inlineasm.ll
    M llvm/test/MC/AsmParser/macro-at-pseudo-variable.s
    A llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-cxx.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-permutations.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-variadics.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/patfrag-errors.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-errors.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-parsing.td
    M llvm/test/TableGen/GlobalISelEmitter.td
    M llvm/test/TableGen/GlobalISelEmitterHwModes.td
    M llvm/test/Transforms/InstCombine/exp2-1.ll
    M llvm/test/Transforms/InstCombine/exp2-to-ldexp.ll
    M llvm/test/Transforms/InstCombine/icmp-trunc.ll
    M llvm/test/Transforms/InstCombine/known-bits.ll
    M llvm/test/Transforms/InstCombine/pow-1.ll
    M llvm/test/Transforms/InstCombine/pow_fp_int.ll
    M llvm/test/Transforms/Internalize/lists.ll
    M llvm/test/Transforms/LoopUnroll/X86/znver3.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-cost.ll
    M llvm/test/Transforms/PlaceSafepoints/libcall.ll
    A llvm/test/Transforms/Reg2Mem/callbr-crash.ll
    M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/reorder-gep.ll
    M llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/lower-gep-reorder.ll
    M llvm/tools/llvm-c-test/debuginfo.c
    M llvm/tools/llvm-c-test/main.c
    M llvm/tools/llvm-mc/llvm-mc.cpp
    M llvm/tools/llvm-ml/llvm-ml.cpp
    M llvm/tools/llvm-profdata/llvm-profdata.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M llvm/unittests/ProfileData/MemProfTest.cpp
    M llvm/unittests/Support/ErrorTest.cpp
    M llvm/utils/TableGen/ARMTargetDefEmitter.cpp
    M llvm/utils/TableGen/Common/CMakeLists.txt
    M llvm/utils/TableGen/Common/GlobalISel/CXXPredicates.cpp
    M llvm/utils/TableGen/Common/GlobalISel/CXXPredicates.h
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.cpp
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.h
    R llvm/utils/TableGen/Common/GlobalISel/MatchDataInfo.cpp
    R llvm/utils/TableGen/Common/GlobalISel/MatchDataInfo.h
    M llvm/utils/TableGen/Common/GlobalISel/Patterns.cpp
    M llvm/utils/TableGen/Common/GlobalISel/Patterns.h
    M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
    M llvm/utils/TableGen/GlobalISelEmitter.cpp
    M llvm/utils/TableGen/SubtargetEmitter.cpp
    M llvm/utils/gn/secondary/llvm/utils/TableGen/Common/BUILD.gn
    R mlir/docs/Dialects/Polynomial.md
    M mlir/docs/Dialects/Transform.md
    M mlir/include/mlir-c/Dialect/LLVM.h
    M mlir/include/mlir/Dialect/IRDL/IR/CMakeLists.txt
    M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
    M mlir/include/mlir/Dialect/MemRef/TransformOps/MemRefTransformOps.h
    M mlir/include/mlir/Dialect/MemRef/Utils/MemRefUtils.h
    M mlir/include/mlir/Dialect/OpenMP/OpenMPClauseOperands.h
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/include/mlir/Dialect/Polynomial/IR/CMakeLists.txt
    M mlir/lib/CAPI/Dialect/LLVM.cpp
    M mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
    M mlir/lib/Conversion/SCFToOpenMP/SCFToOpenMP.cpp
    M mlir/lib/Dialect/MemRef/Utils/MemRefUtils.cpp
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/lib/Dialect/Tensor/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Tensor/Transforms/FoldTensorSubsetOps.cpp
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
    M mlir/lib/Target/LLVMIR/DebugImporter.cpp
    M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/CAPI/llvm.c
    M mlir/test/Conversion/ArmSMEToLLVM/arm-sme-to-llvm.mlir
    M mlir/test/Conversion/ArmSMEToLLVM/tile-spills-and-fills.mlir
    M mlir/test/Conversion/ArmSMEToLLVM/unsupported.mlir
    M mlir/test/Dialect/ArmSME/tile-allocation-spills-with-mixed-tile-types.mlir
    M mlir/test/Dialect/LLVMIR/debuginfo.mlir
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir
    M mlir/test/Dialect/Tensor/canonicalize.mlir
    M mlir/test/Dialect/Tensor/fold-tensor-subset-ops-into-vector-transfers.mlir
    M mlir/test/Dialect/Vector/vector-transferop-opt.mlir
    M mlir/test/Target/LLVMIR/Import/debug-info.ll
    M mlir/test/Target/LLVMIR/llvmir-debug.mlir
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir
    M mlir/test/Target/LLVMIR/openmp-parallel-reduction-cleanup.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-byref.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-init-arg.mlir
    M mlir/test/Target/LLVMIR/openmp-wsloop-reduction-cleanup.mlir
    R offload/include/Shared/PluginAPI.h
    R offload/include/Shared/PluginAPI.inc
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    M offload/src/device.cpp
    M openmp/runtime/src/CMakeLists.txt
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  use a generic elf triple

Created using spr 1.3.5-bogner


Compare: https://github.com/llvm/llvm-project/compare/157f371f1c16...e8d41fc9bcf0

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