[all-commits] [llvm/llvm-project] ea3eeb: [mlir][sparse] fuse concat and extract_slice op if...

Fangrui Song via All-commits all-commits at lists.llvm.org
Thu Apr 25 11:25:33 PDT 2024


  Branch: refs/heads/users/MaskRay/spr/llvmgold-suppress-wcast-function-type-mismatch-diagnostic
  Home:   https://github.com/llvm/llvm-project
  Commit: ea3eeb483fbbe09b9a66ed4c032cc7168f0265dd
      https://github.com/llvm/llvm-project/commit/ea3eeb483fbbe09b9a66ed4c032cc7168f0265dd
  Author: Peiming Liu <peiming at google.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
    A mlir/test/Dialect/SparseTensor/fuse_sparse_concat_with_extract_slice.mlir

  Log Message:
  -----------
  [mlir][sparse] fuse concat and extract_slice op if possible. (#89825)


  Commit: 418e4b0c4ff2bc22dda318fce0293002a22fa76f
      https://github.com/llvm/llvm-project/commit/418e4b0c4ff2bc22dda318fce0293002a22fa76f
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M bolt/lib/Rewrite/RewriteInstance.cpp
    A bolt/test/X86/indirect-goto-pie.test
    M bolt/test/X86/shrinkwrapping-do-not-pessimize.s
    R bolt/test/runtime/X86/Inputs/indirect_goto.c
    R bolt/test/runtime/X86/indirect-goto-pie.test

  Log Message:
  -----------
  [BOLT] Detect incorrect update of dynamic relocations (#89681)

When we rewrite dynamic relocations, there could be cases where they
reference code locations inside functions that were rewritten. When this
happens, we need to precisely map old address to a new one. Until we can
reliably perform the mapping, detect such condition and issue an error
refusing to write a broken binary.


  Commit: 82a8c1cf35e6794d4d1e56797d58abbed0112ad9
      https://github.com/llvm/llvm-project/commit/82a8c1cf35e6794d4d1e56797d58abbed0112ad9
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M flang/include/flang/Runtime/numeric.h
    M flang/lib/Evaluate/type.cpp
    M flang/runtime/numeric.cpp

  Log Message:
  -----------
  [flang][runtime] Support SELECTED_CHAR_KIND, SELECTED_LOGICAL_KIND (#89691)

Add code to the runtime support library for the SELECTED_CHAR_KIND and
SELECTED_LOGICAL_KIND intrinsic functions. These are usually used with
constant folding in constant expressions, but the are available for use
with dynamic arguments as well.

Lowering support remains to be implemented.


  Commit: 186952f0176fda0f73989c2c9335faf26632e112
      https://github.com/llvm/llvm-project/commit/186952f0176fda0f73989c2c9335faf26632e112
  Author: Chao Chen <116223022+chencha3 at users.noreply.github.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

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

  Log Message:
  -----------
  [MLIR][XeGPU] Fix Bot failure for #88973 (#89991)


  Commit: 69bde04230d45f9bb54cc10af1a6d19cf565dd9e
      https://github.com/llvm/llvm-project/commit/69bde04230d45f9bb54cc10af1a6d19cf565dd9e
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

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

  Log Message:
  -----------
  split XeGPU enums into a separate build rule (#89997)

Fixes the bazel build. Note the addition of the Arith dependency created
duplicate arith enum declarations in the two dialects, so it had to be
spit into its own build rule. This matches what the cmake build does for
this dialect.


  Commit: 29c98e59cd84ed5c8dde27876779d6b8830ccac5
      https://github.com/llvm/llvm-project/commit/29c98e59cd84ed5c8dde27876779d6b8830ccac5
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/CloneFunction.cpp
    M llvm/test/Transforms/Inline/inline-deferred-instsimplify.ll
    M llvm/test/Transforms/Inline/prof-update-sample-alwaysinline.ll
    M llvm/test/Transforms/Inline/prof-update-sample.ll

  Log Message:
  -----------
  Revert "[Inline][Cloning] Defer simplification after phi-nodes resolution" #87963

Reopens #87534.

Breaks multiple bots:
https://lab.llvm.org/buildbot/#/builders/168/builds/20028
https://lab.llvm.org/buildbot/#/builders/74/builds/27773

And reproducer in a61f9fe31750cee65c726fb51f1b14e31e177258.

This reverts commit a61f9fe31750cee65c726fb51f1b14e31e177258.


  Commit: c3def59d0f28edf32eb43236db88f21321f36dca
      https://github.com/llvm/llvm-project/commit/c3def59d0f28edf32eb43236db88f21321f36dca
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Semantics/declarations03.f90

  Log Message:
  -----------
  [flang] Fix bogus error about duplicate binding names (#89786)

Don't call SetBindNameOn() from DeclareUnknownEntity() unless there is
an explicit BIND(C) attribute.

Fixes https://github.com/llvm/llvm-project/issues/89439 and
https://github.com/llvm/llvm-project/issues/89558.


  Commit: 1b232fa0e9864dde230db8da82a906c588baf792
      https://github.com/llvm/llvm-project/commit/1b232fa0e9864dde230db8da82a906c588baf792
  Author: Jeff Niu <jeff at modular.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M mlir/CMakeLists.txt
    M mlir/cmake/modules/AddMLIR.cmake
    M mlir/cmake/modules/CMakeLists.txt
    M mlir/cmake/modules/MLIRConfig.cmake.in
    M mlir/include/mlir/TableGen/CodeGenHelpers.h
    M mlir/lib/TableGen/CodeGenHelpers.cpp
    A mlir/test/mlir-tblgen/shard-op-defs.td
    A mlir/tools/mlir-src-sharder/CMakeLists.txt
    A mlir/tools/mlir-src-sharder/mlir-src-sharder.cpp
    M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
    M mlir/tools/mlir-tblgen/OpGenHelpers.cpp
    M mlir/tools/mlir-tblgen/OpGenHelpers.h
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/tblgen.bzl

  Log Message:
  -----------
  [mlir][ods] Allow sharding of op definitions (#89423)

Adds an option to `mlir-tblgen -gen-op-defs` `op-shard-count=N` that
divides the
op class definitions and op list into N segments, e.g.

```
// mlir-tblgen -gen-op-defs -op-shard-count=2

void FooDialect::initialize() {
  addOperations<
  >();
  addOperations<
  >();
}

```

When split across multiple source files, this can help significantly
improve
dialect compile time for dialects with a large opset.


  Commit: ae22ac95354629baca45d979038d73a4ce40d081
      https://github.com/llvm/llvm-project/commit/ae22ac95354629baca45d979038d73a4ce40d081
  Author: Jeff Niu <jeff at modular.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M mlir/test/lib/Dialect/Test/CMakeLists.txt
    M mlir/test/lib/Dialect/Test/TestDialect.cpp
    M mlir/test/lib/Dialect/Test/TestOps.cpp
    M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel

  Log Message:
  -----------
  [mlir][test] Shard the Test Dialect (NFC) (#89628)

This PR uses the new op sharding mechanism in tablegen to shard the test
dialect's op definitions. This breaks the definition of ops into
multiple source files, speeding up compile time of the test dialect
dramatically. This improves developer cycle times when iterating on the
test dialect.


  Commit: 83d06162cca4f35a68e9c64032ba348ac3e27647
      https://github.com/llvm/llvm-project/commit/83d06162cca4f35a68e9c64032ba348ac3e27647
  Author: Jeff Niu <jeff at modular.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M mlir/docs/DefiningDialects/Operations.md

  Log Message:
  -----------
  [mlir][ods] Add documentation on how to use sharded op definitions (NFC) (#89664)

This adds explanations and instructions on how to set up a dialect for
sharded op definitions to the MLIR documentation.


  Commit: 0e1bb1d8352ce21808523357d315b73da0d53560
      https://github.com/llvm/llvm-project/commit/0e1bb1d8352ce21808523357d315b73da0d53560
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/expression.cpp
    A flang/test/Semantics/arg-convert.f90

  Log Message:
  -----------
  [flang] Don't convert actual arguments when interface is implicit (#89795)

When the interface of a procedure is implicit at the point of call,
don't perform actual argument type conversion to the types of the dummy
arguments. This was inadvertently taking place in a case where the
procedure has an implicit interface but was also defined in the same
source file, so that its characteristics were known.


  Commit: 68a27989d0c8d58a64dcbb1c78b7002c68a723b2
      https://github.com/llvm/llvm-project/commit/68a27989d0c8d58a64dcbb1c78b7002c68a723b2
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M flang/include/flang/Parser/parse-tree.h
    M flang/lib/Parser/Fortran-parsers.cpp
    M flang/lib/Semantics/program-tree.cpp
    M flang/lib/Semantics/program-tree.h
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Parser/unrecognized-dir.f90

  Log Message:
  -----------
  [flang] Accept and ignore compiler directives between internal subpro… (#89810)

…grams

The parser only recognizes compiler directives that appear within
internal / module subprograms, not those that might appear between them.
Extend to allow them between subprograms as well.


  Commit: 6fd475fe2e7b15a6f6344430d02c454cf8928a35
      https://github.com/llvm/llvm-project/commit/6fd475fe2e7b15a6f6344430d02c454cf8928a35
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M flang/runtime/edit-output.cpp
    M flang/unittests/Runtime/RuntimeCrashTest.cpp

  Log Message:
  -----------
  [flang][runtime] 'A' output editing for LOGICAL (#89817)

We support 'A' output editing for INTEGER and REAL as an extension; it
turns out to be used as well for LOGICAL in application code.


  Commit: fa465b479b09b638e95c8b92ecf358c38910f8b0
      https://github.com/llvm/llvm-project/commit/fa465b479b09b638e95c8b92ecf358c38910f8b0
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M flang/runtime/edit-output.cpp
    M flang/unittests/Runtime/NumericalFormatTest.cpp

  Log Message:
  -----------
  [flang][runtime] Improve confusing list-directed REAL(2) output (#89846)

List-directed output editing of REAL values will minimize the number of
digits that are emitted by calculating a decimal value that, if read
back in to a REAL variable of the same kind, would compare equal.

This behavior is causing some confusion when applied to list-directed
output of large REAL(2) values. Specifically, the value HUGE(0._2)
(which is 0x7bff in hex) is exactly 65504, but is edited to 65500. by
list-directed output, which selects F0 editing, minimizes the value to
6.55e4, and then formats it without the exponent.

This small patch changes that behavior for cases where the output of
digit-minimized F editing has no digits after the decimal point and
zeroes need to be emitted before it due to the decimal exponent. Digit
minimization is disabled in this case and the exact digits are emitted
instead.


  Commit: 8b512e525d3adc56da626a6e4f16c3b2f602aade
      https://github.com/llvm/llvm-project/commit/8b512e525d3adc56da626a6e4f16c3b2f602aade
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M flang/docs/Preprocessing.md
    M flang/include/flang/Parser/preprocessor.h
    M flang/lib/Parser/prescan.cpp
    M flang/lib/Parser/prescan.h
    A flang/test/Preprocessing/backslash-contin1.F90

  Log Message:
  -----------
  [flang][preprocessor] Support \ as line continuation (#89970)

When prescanning a Fortran source file with preprocessing enabled in
free source form, interpret a line-ending backslash as a source line
continuation marker as a C preprocessor would. This usage isn't
completely portable, but it is supported by GNU Fortran and appears in
the source for FPM package manager.


  Commit: 14339aba9ca3299f0f76999e0e8f42a7e1eacb10
      https://github.com/llvm/llvm-project/commit/14339aba9ca3299f0f76999e0e8f42a7e1eacb10
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M flang/lib/Evaluate/intrinsics.cpp

  Log Message:
  -----------
  [flang] Catch error on REPEAT(x,NCOPIES=array) (#89993)

The NCOPIES= argument to the intrinsic function REPEAT must be a scalar
integer.

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


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

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

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

Reverts llvm/llvm-project#89693

This broke the premerge bot (bolt tests failing)


  Commit: 49586eacd306c70f81986644921e12e55dd7422f
      https://github.com/llvm/llvm-project/commit/49586eacd306c70f81986644921e12e55dd7422f
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

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

  Log Message:
  -----------
  remove duplicate td_library import (#90003)

Reverts bad part of one line from
https://github.com/llvm/llvm-project/commit/ae22ac95354629baca45d979038d73a4ce40d081#diff-9b538219c38ed73e193087a031284f10c62de8692ccc0efbe8c670fe9bfe868f


  Commit: a10d67f9fb559d0c35a12b2d26974636bbf642c0
      https://github.com/llvm/llvm-project/commit/a10d67f9fb559d0c35a12b2d26974636bbf642c0
  Author: Yinying Li <yinyingli at google.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M mlir/include/mlir-c/Dialect/SparseTensor.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
    M mlir/lib/Bindings/Python/DialectSparseTensor.cpp
    M mlir/lib/CAPI/Dialect/SparseTensor.cpp
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/test/CAPI/sparse_tensor.c
    M mlir/test/Dialect/SparseTensor/roundtrip_encoding.mlir
    M mlir/test/python/dialects/sparse_tensor/dialect.py

  Log Message:
  -----------
  [mlir][sparse] Enable explicit and implicit value in sparse encoding (#88975)

1. Explicit value means the non-zero value in a sparse tensor. If
explicitVal is set, then all the non-zero values in the tensor have the
same explicit value. The default value Attribute() indicates that it is
not set.

2. Implicit value means the "zero" value in a sparse tensor. If
implicitVal is set, then the "zero" value in the tensor is equal to the
implicit value. For now, we only support `0` as the implicit value but
it could be extended in the future. The default value Attribute()
indicates that the implicit value is `0` (same type as the tensor
element type).

Example:

```
#CSR = #sparse_tensor.encoding<{
  map = (d0, d1) -> (d0 : dense, d1 : compressed),
  posWidth = 64,
  crdWidth = 64,
  explicitVal = 1 : i64,
  implicitVal = 0 : i64
}>
```

Note: this PR tests that implicitVal could be set to other values as
well. The following PR will add verifier and reject any value that's not
zero for implicitVal.


  Commit: 4c8ec8f8bc3fb4dda4fd36c3b2ad745bd3451970
      https://github.com/llvm/llvm-project/commit/4c8ec8f8bc3fb4dda4fd36c3b2ad745bd3451970
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/InstrProfWriter.h
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/lib/ProfileData/InstrProfWriter.cpp
    M llvm/test/tools/llvm-profdata/memprof-merge-v0.test
    M llvm/tools/llvm-profdata/llvm-profdata.cpp
    M llvm/unittests/ProfileData/InstrProfTest.cpp

  Log Message:
  -----------
  [memprof] Reduce schema for Version2 (#89876)

Curently, the compiler only uses several fields of MemoryInfoBlock.
Serializing all fields into the indexed MemProf file simply wastes
storage.

This patch limits the schema down to four fields for Version2 by
default.  It retains the old behavior of serializing all fields via:

  llvm-profdata merge --memprof-version=2 --memprof-full-schema

This patch reduces the size of the indexed MemProf profile I have by
40% (1.6GB down to 1.0GB).


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

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

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

Temporary symbols generated for .eh_frame and .debug_line have an empty
name, which appear in .symtab in the presence of RISC-V style linker
relaxation and will not be discarded by ld/objcopy --discard-locals
(-X).

In contrast, GNU assembler's riscv port assigns a fake name ".L0 " (with
a trailing space) to these symbols so that will be discarded by
ld/objcopy --discard-locals.

This patch matches the GNU behavior. Since Clang's RISC-V targets pass
-X to ld, and GNU ld defaults to -X for RISC-V targets, these ".L0 "
symbols will be discarded after linking by default, as expected by
users.

The llvm-symbolizer special case for RISC-V `SF_FormatSpecific` symbols
https://reviews.llvm.org/D98669 needs to be adjusted.

Note: `"":` in assembly currently crashes.


  Commit: d5308949cf884d8e4b971d51a8b4f73584c4adec
      https://github.com/llvm/llvm-project/commit/d5308949cf884d8e4b971d51a8b4f73584c4adec
  Author: Nathan Ridge <zeratul976 at hotmail.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

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

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

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


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

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

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

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


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

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

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

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


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

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

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

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


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

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

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

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


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

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

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


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

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

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


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

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

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

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

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

Reviewers: AaronBallman, erichkeane, bcardosolopes

Reviewed By: erichkeane, AaronBallman, bcardosolopes

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


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

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

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


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

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

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

Also drop irrelevant function attributes from tests.


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

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

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

Fixes #89759.


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

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

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


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

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

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

A case where still performing the fold is clearly profitable.


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

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

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

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


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

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/DeclBase.h
    A clang/include/clang/AST/DeclID.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/ExternalASTSource.h
    M clang/include/clang/Frontend/ASTUnit.h
    M clang/include/clang/Frontend/MultiplexConsumer.h
    M clang/include/clang/Sema/MultiplexExternalSemaSource.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTDeserializationListener.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTRecordReader.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/include/clang/Serialization/ModuleFile.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/DeclFriend.cpp
    M clang/lib/AST/DeclObjC.cpp
    M clang/lib/AST/DeclOpenMP.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/ExternalASTSource.cpp
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/lib/Frontend/MultiplexConsumer.cpp
    M clang/lib/Sema/MultiplexExternalSemaSource.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp

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

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

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


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

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

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

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


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

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

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

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


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

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

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

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

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


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

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

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

This reverts commit 42070a5c092ed420bf92ebf38229c594885e94c7.

I forgot to touch lldb.


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

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

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

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


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

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

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

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

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

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

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


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

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

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

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


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

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

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

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


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

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

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

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

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


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

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

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

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

Also add a requires clause.


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

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

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

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

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


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

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

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

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

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

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

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

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

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

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


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

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

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

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

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


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

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

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

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

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

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


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

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/Transforms/CharacterConversion.cpp
    M flang/test/Driver/bbc-mlir-pass-pipeline.f90
    M flang/test/Driver/mlir-debug-pass-pipeline.f90
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Fir/basic-program.fir

  Log Message:
  -----------
  [flang] run character conversion pass on all top level ops (#89910)

See RFC:

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

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


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

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

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

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


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

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

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

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


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

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

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

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

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


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

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

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

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


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

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

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


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

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

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

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

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

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

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


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

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

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

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

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

---------

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


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

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

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

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


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

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

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

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


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

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

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

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

---------

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


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

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

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

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

case0:
  br label %exit

case1:
  br label %exit

case2:
  br label %exit

default:
  br label %exit

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

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

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


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

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

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

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


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

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

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


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

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

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

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


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

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

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


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

  Changed paths:
    M libcxx/include/variant

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

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

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

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


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

  Changed paths:
    M libcxx/include/__availability

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

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


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

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

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

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


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

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

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

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

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


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

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

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

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


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

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

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

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

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

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


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

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

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


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

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

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


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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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


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

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

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

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

Closes #25340


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

  Changed paths:
    R clang/test/TestRunner.sh

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

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


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

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

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

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

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


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

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

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

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

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

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


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

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

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


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

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

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

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

@ImanHosseini


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

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

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

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

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

Thanks @jeanPerier for the advice!

FYI @ImanHosseini


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

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

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

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


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

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

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

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

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

Reviewers:
@jeffreytan81, at clayborg, at kusmour,

Subscribers:

Tasks:
lldb-dap

Tags:


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

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

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

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

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

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

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

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


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

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

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

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


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

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

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


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

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

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

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


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

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

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

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

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


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

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

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

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

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

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


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

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

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

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


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

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

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

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


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

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

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

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

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


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

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

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


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

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

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

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

Test plan: ninja check-all


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

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

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

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

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


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

  Changed paths:
    M .github/new-prs-labeler.yml
    M bolt/include/bolt/Passes/BinaryPasses.h
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Rewrite/BinaryPassManager.cpp
    M bolt/lib/Rewrite/BoltDiff.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/test/RISCV/unnamed-sym-no-entry.c
    M bolt/test/X86/cdsplit-symbol-names.s
    A bolt/test/X86/indirect-goto-pie.test
    M bolt/test/X86/pre-aggregated-perf.test
    M bolt/test/X86/shrinkwrapping-do-not-pessimize.s
    R bolt/test/runtime/X86/Inputs/indirect_goto.c
    R bolt/test/runtime/X86/indirect-goto-pie.test
    M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
    A clang-tools-extra/clang-tidy/modernize/MinMaxUseInitializerListCheck.cpp
    A clang-tools-extra/clang-tidy/modernize/MinMaxUseInitializerListCheck.h
    M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
    M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
    A clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.cpp
    A clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.h
    M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/docs/clang-tidy/checks/modernize/min-max-use-initializer-list.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/math-missing-parentheses.rst
    A clang-tools-extra/test/clang-tidy/checkers/modernize/min-max-use-initializer-list.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/math-missing-parentheses.cpp
    M clang/CMakeLists.txt
    M clang/cmake/caches/VectorEngine.cmake
    M clang/docs/ReleaseNotes.rst
    M clang/docs/UsersManual.rst
    M clang/include/clang-c/Index.h
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/BuiltinTypes.def
    M clang/include/clang/AST/ComputeDependence.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/AST/DeclFriend.h
    A clang/include/clang/AST/DeclID.h
    M clang/include/clang/AST/DeclObjC.h
    M clang/include/clang/AST/DeclOpenMP.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/AST/ExprOpenMP.h
    M clang/include/clang/AST/ExternalASTSource.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/Basic/DiagnosticFrontendKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/FileManager.h
    M clang/include/clang/Basic/StmtNodes.td
    M clang/include/clang/CIR/CMakeLists.txt
    A clang/include/clang/CIR/Dialect/CMakeLists.txt
    A clang/include/clang/CIR/Dialect/IR/CIRDialect.h
    A clang/include/clang/CIR/Dialect/IR/CIRDialect.td
    A clang/include/clang/CIR/Dialect/IR/CIROps.td
    A clang/include/clang/CIR/Dialect/IR/CMakeLists.txt
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Frontend/ASTUnit.h
    M clang/include/clang/Frontend/MultiplexConsumer.h
    M clang/include/clang/Sema/MultiplexExternalSemaSource.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTDeserializationListener.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTRecordReader.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/include/clang/Serialization/ModuleFile.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ComputeDependence.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/DeclFriend.cpp
    M clang/lib/AST/DeclObjC.cpp
    M clang/lib/AST/DeclOpenMP.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprClassification.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/ExternalASTSource.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/NSAPI.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypeLoc.cpp
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Basic/FileManager.cpp
    M clang/lib/CIR/CMakeLists.txt
    A clang/lib/CIR/Dialect/CMakeLists.txt
    A clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    A clang/lib/CIR/Dialect/IR/CMakeLists.txt
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/Linux.cpp
    M clang/lib/Driver/ToolChains/Linux.h
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/lib/Frontend/MultiplexConsumer.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Sema/JumpDiagnostics.cpp
    M clang/lib/Sema/MultiplexExternalSemaSource.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTCommon.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/IdenticalExprChecker.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    M clang/test/AST/ast-dump-recovery.cpp
    A clang/test/CodeGenCXX/dependent-template-alias.cpp
    M clang/test/Driver/default-denormal-fp-math.c
    M clang/test/Driver/integrated-as.c
    M clang/test/Driver/linux-ld.c
    A clang/test/Frontend/ast-dump-on-llvm.ll
    M clang/test/Interpreter/fail.cpp
    M clang/test/OpenMP/task_depend_messages.cpp
    M clang/test/ParserOpenACC/parse-cache-construct.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/SemaCXX/cxx2a-consteval.cpp
    R clang/test/TestRunner.sh
    M clang/tools/clang-repl/ClangRepl.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CXCursor.cpp
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_constants.h
    M flang/docs/Preprocessing.md
    M flang/include/flang/Common/visit.h
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Parser/preprocessor.h
    M flang/include/flang/Runtime/numeric.h
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Evaluate/type.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/Transforms/CharacterConversion.cpp
    M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
    M flang/lib/Optimizer/Transforms/SimplifyRegionLite.cpp
    M flang/lib/Parser/Fortran-parsers.cpp
    M flang/lib/Parser/prescan.cpp
    M flang/lib/Parser/prescan.h
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/program-tree.cpp
    M flang/lib/Semantics/program-tree.h
    M flang/lib/Semantics/resolve-names.cpp
    M flang/runtime/edit-output.cpp
    M flang/runtime/numeric.cpp
    M flang/test/Driver/bbc-mlir-pass-pipeline.f90
    M flang/test/Driver/mlir-debug-pass-pipeline.f90
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Fir/basic-program.fir
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf
    M flang/test/Lower/OpenMP/FIR/if-clause.f90
    M flang/test/Lower/OpenMP/FIR/simd.f90
    M flang/test/Lower/OpenMP/FIR/target.f90
    M flang/test/Lower/OpenMP/if-clause.f90
    M flang/test/Lower/OpenMP/simd.f90
    M flang/test/Lower/OpenMP/target.f90
    M flang/test/Lower/OpenMP/use-device-ptr-to-use-device-addr.f90
    M flang/test/Parser/unrecognized-dir.f90
    A flang/test/Preprocessing/backslash-contin1.F90
    A flang/test/Semantics/arg-convert.f90
    M flang/test/Semantics/declarations03.f90
    M flang/unittests/Runtime/NumericalFormatTest.cpp
    M flang/unittests/Runtime/RuntimeCrashTest.cpp
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/Status/Cxx23Papers.csv
    M libcxx/docs/Status/Cxx2cIssues.csv
    M libcxx/docs/Status/FormatIssues.csv
    M libcxx/include/__availability
    M libcxx/include/__format/escaped_output_table.h
    M libcxx/include/__format/write_escaped.h
    M libcxx/include/streambuf
    M libcxx/include/variant
    M libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.cons/copy.pass.cpp
    M libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.assign/assign.pass.cpp
    M libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.assign/swap.pass.cpp
    A libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.get.area/setg.assert.pass.cpp
    A libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.put.area/setp.assert.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/escaped_output.unicode.pass.cpp
    M libcxx/utils/generate_escaped_output_table.py
    M lldb/docs/index.rst
    R lldb/docs/lldb-platform-packets.txt
    A lldb/docs/resources/lldbplatformpackets.md
    M lldb/docs/resources/test.rst
    M lldb/include/lldb/API/SBProcess.h
    M lldb/include/lldb/API/SBTarget.h
    M lldb/include/lldb/API/SBType.h
    M lldb/include/lldb/API/SBValue.h
    M lldb/include/lldb/Symbol/CompilerDecl.h
    M lldb/include/lldb/Symbol/CompilerType.h
    M lldb/include/lldb/Symbol/TypeSystem.h
    M lldb/source/API/SBProcess.cpp
    M lldb/source/API/SBType.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
    M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
    M lldb/source/Symbol/CompilerDecl.cpp
    M lldb/source/Symbol/CompilerType.cpp
    M lldb/test/API/python_api/type/TestTypeList.py
    M lldb/test/API/python_api/type/main.cpp
    M lldb/test/API/tools/lldb-dap/console/TestDAP_console.py
    M lldb/tools/lldb-dap/lldb-dap.cpp
    M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
    M llvm/include/llvm/ProfileData/InstrProfWriter.h
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/ExecutionEngine/Orc/MemoryMapper.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/ExecutorSharedMemoryMapperService.cpp
    M llvm/lib/ProfileData/InstrProfWriter.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Utils/CloneFunction.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    A llvm/test/Analysis/LoopAccessAnalysis/different-strides-safe-dep-due-to-backedge-taken-count.ll
    M llvm/test/CodeGen/AArch64/concatbinop.ll
    M llvm/test/CodeGen/AArch64/mul_pow2.ll
    M llvm/test/CodeGen/AArch64/vecreduce-add.ll
    M llvm/test/CodeGen/AMDGPU/atomic_load_local.ll
    M llvm/test/CodeGen/AMDGPU/atomic_store_local.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics.ll
    M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
    M llvm/test/CodeGen/PowerPC/legalize-vaarg.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zba.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zbb-zbkb.ll
    M llvm/test/CodeGen/RISCV/rv64i-demanded-bits.ll
    M llvm/test/CodeGen/RISCV/rv64zba.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir
    M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail1.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail10.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail11.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail12.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail13.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail2.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail3.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail4.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail5.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail6.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail7.ll
    M llvm/test/TableGen/riscv-target-def.td
    A llvm/test/Transforms/AtomicExpand/AMDGPU/no-expand-atomic-load.ll
    A llvm/test/Transforms/AtomicExpand/AMDGPU/no-expand-atomic-store.ll
    A llvm/test/Transforms/CodeGenPrepare/RISCV/noop-copy-sink.ll
    M llvm/test/Transforms/Coroutines/coro-split-musttail10.ll
    R llvm/test/Transforms/Coroutines/coro-split-musttail11.ll
    M llvm/test/Transforms/Inline/inline-deferred-instsimplify.ll
    M llvm/test/Transforms/Inline/prof-update-sample-alwaysinline.ll
    M llvm/test/Transforms/Inline/prof-update-sample.ll
    M llvm/test/Transforms/InstCombine/fneg.ll
    A llvm/test/Transforms/InstCombine/gepofconstgepi8.ll
    M llvm/test/Transforms/InstCombine/shift.ll
    M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
    M llvm/test/Transforms/InstCombine/sub.ll
    M llvm/test/Transforms/SimplifyCFG/UnreachableEliminate.ll
    M llvm/test/tools/llvm-profdata/memprof-merge-v0.test
    M llvm/tools/gold/gold-plugin.cpp
    M llvm/tools/llvm-profdata/llvm-profdata.cpp
    M llvm/unittests/ProfileData/InstrProfTest.cpp
    M llvm/unittests/ProfileData/MemProfTest.cpp
    M llvm/utils/LLVMVisualizers/llvm.natvis
    M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/modernize/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/readability/BUILD.gn
    M mlir/CMakeLists.txt
    M mlir/cmake/modules/AddMLIR.cmake
    M mlir/cmake/modules/CMakeLists.txt
    M mlir/cmake/modules/MLIRConfig.cmake.in
    M mlir/docs/DefiningDialects/Operations.md
    M mlir/include/mlir-c/Dialect/SparseTensor.h
    A mlir/include/mlir/Dialect/Linalg/Transforms/RuntimeOpVerification.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
    M mlir/include/mlir/InitAllDialects.h
    M mlir/include/mlir/Interfaces/RuntimeVerifiableOpInterface.td
    M mlir/include/mlir/TableGen/CodeGenHelpers.h
    M mlir/lib/Bindings/Python/DialectSparseTensor.cpp
    M mlir/lib/CAPI/Dialect/SparseTensor.cpp
    M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/Linalg/Transforms/RuntimeOpVerification.cpp
    M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
    M mlir/lib/Dialect/XeGPU/IR/CMakeLists.txt
    M mlir/lib/Interfaces/RuntimeVerifiableOpInterface.cpp
    M mlir/lib/TableGen/CodeGenHelpers.cpp
    M mlir/test/CAPI/sparse_tensor.c
    A mlir/test/Dialect/Linalg/runtime-verification.mlir
    A mlir/test/Dialect/SparseTensor/fuse_sparse_concat_with_extract_slice.mlir
    M mlir/test/Dialect/SparseTensor/roundtrip_encoding.mlir
    A mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir
    M mlir/test/lib/Dialect/Test/CMakeLists.txt
    M mlir/test/lib/Dialect/Test/TestDialect.cpp
    M mlir/test/lib/Dialect/Test/TestOps.cpp
    A mlir/test/mlir-tblgen/shard-op-defs.td
    M mlir/test/python/dialects/sparse_tensor/dialect.py
    A mlir/tools/mlir-src-sharder/CMakeLists.txt
    A mlir/tools/mlir-src-sharder/mlir-src-sharder.cpp
    M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
    M mlir/tools/mlir-tblgen/OpGenHelpers.cpp
    M mlir/tools/mlir-tblgen/OpGenHelpers.h
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/tblgen.bzl
    M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel

  Log Message:
  -----------
  use #pragma GCC to support GCC as well. this library is only built  for gcc/clang

Created using spr 1.3.5-bogner


Compare: https://github.com/llvm/llvm-project/compare/69285168c9c0...5b8361282d47

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