[all-commits] [llvm/llvm-project] 8003f5: Reland "[llvm-exegesis] Add thread IDs to subproce...

Fangrui Song via All-commits all-commits at lists.llvm.org
Wed Mar 13 10:12:50 PDT 2024


  Branch: refs/heads/users/MaskRay/spr/llvm-objcopy-simplify-decompress-debug-sections-and-dont-compress-shf_alloc-sections
  Home:   https://github.com/llvm/llvm-project
  Commit: 8003f553a01a9a2a7eb09fe07e88f1ba9ee7d3a7
      https://github.com/llvm/llvm-project/commit/8003f553a01a9a2a7eb09fe07e88f1ba9ee7d3a7
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/SubprocessMemory.cpp
    M llvm/tools/llvm-exegesis/lib/SubprocessMemory.h
    M llvm/unittests/tools/llvm-exegesis/X86/SubprocessMemoryTest.cpp

  Log Message:
  -----------
  Reland "[llvm-exegesis] Add thread IDs to subprocess memory names (#84451)"

This reverts commit aefad27096bba513f06162fac2763089578f3de4.

This relands commit 6bbe8a296ee91754d423c59c35727eaa624f7140.

This patch was casuing build failures on non-Linux platforms due to the
default implementations for the functions not being updated. This ended
up causing out-of-line definition errors. Fixed for the relanding.


  Commit: 1c3b15e9f5bc671e40bcf5d3475f5425466754ce
      https://github.com/llvm/llvm-project/commit/1c3b15e9f5bc671e40bcf5d3475f5425466754ce
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

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

  Log Message:
  -----------
  [llvm-exegesis] Use LLVM Support to get thread ID

This patch switches from manually using the Linux syscall to get the
current thread ID to using the relevant LLVM Support libraries that
abstract over the low level system details.


  Commit: 94e27c265a9aeb3659175ecee81a68d1763e0180
      https://github.com/llvm/llvm-project/commit/94e27c265a9aeb3659175ecee81a68d1763e0180
  Author: Peiming Liu <peiming at google.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/BufferizableOpInterfaceImpl.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseReinterpretMap.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
    M mlir/test/Dialect/SparseTensor/codegen.mlir
    M mlir/test/Dialect/SparseTensor/constant_index_map.mlir
    M mlir/test/Dialect/SparseTensor/conversion.mlir
    M mlir/test/Dialect/SparseTensor/invalid.mlir
    M mlir/test/Dialect/SparseTensor/roundtrip.mlir
    M mlir/test/Dialect/SparseTensor/sparse_2d.mlir
    M mlir/test/Dialect/SparseTensor/sparse_broadcast.mlir
    M mlir/test/Dialect/SparseTensor/sparse_conv_2d_slice_based.mlir
    M mlir/test/Dialect/SparseTensor/sparse_fp_ops.mlir
    M mlir/test/Dialect/SparseTensor/sparse_index.mlir
    M mlir/test/Dialect/SparseTensor/sparse_out.mlir
    M mlir/test/Dialect/SparseTensor/sparse_reinterpret_map.mlir
    M mlir/test/Dialect/SparseTensor/sparse_reshape.mlir
    M mlir/test/Dialect/SparseTensor/sparse_tensor_reshape.mlir
    M mlir/test/Dialect/SparseTensor/sparse_transpose.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_insert_1d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_insert_2d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_insert_3d.mlir

  Log Message:
  -----------
  [mlir][sparse] reuse tensor.insert operation to insert elements into … (#84987)

…a sparse tensor.


  Commit: 64111831ed46b9e82b8626356c087ce2202f029b
      https://github.com/llvm/llvm-project/commit/64111831ed46b9e82b8626356c087ce2202f029b
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M cross-project-tests/debuginfo-tests/llgdb-tests/forward-declare-class.cpp

  Log Message:
  -----------
  Relax test to work with newer versions of lldb


  Commit: bb5921e2a2da4a87016e623deb8c2eaed7f1f5a8
      https://github.com/llvm/llvm-project/commit/bb5921e2a2da4a87016e623deb8c2eaed7f1f5a8
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M libc/include/llvm-libc-macros/math-macros.h

  Log Message:
  -----------
  [libc] Include FP_* macros in math.h (#84996)

These are used unconditionally by libc++ math.h.

This is related to issue #84879.


  Commit: accfbf4e4959957db0993a15bab7316001131df3
      https://github.com/llvm/llvm-project/commit/accfbf4e4959957db0993a15bab7316001131df3
  Author: Zahi Moudallal <128723247+zahimoud at users.noreply.github.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
    M mlir/test/Target/LLVMIR/rocdl.mlir

  Log Message:
  -----------
  [MLIR][ROCDL] Add BallotOp and lit test (#84856)


  Commit: e2468bf16a0c1f63a39aa417c15c03ebd77fab9e
      https://github.com/llvm/llvm-project/commit/e2468bf16a0c1f63a39aa417c15c03ebd77fab9e
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M lldb/tools/debugserver/source/MacOSX/MachProcess.mm

  Log Message:
  -----------
  [lldb][debugserver] Update flags past to app launch request

rdar://117421999


  Commit: 2f400a2fd77b44d34281792aca84c42e149095e7
      https://github.com/llvm/llvm-project/commit/2f400a2fd77b44d34281792aca84c42e149095e7
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/docs/GlobalISel/GenericOpcode.rst
    M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
    M llvm/include/llvm/Support/TargetOpcodes.def
    M llvm/include/llvm/Target/GenericOpcodes.td
    M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    A llvm/test/MachineVerifier/test_g_vscale.mir

  Log Message:
  -----------
  [GISEL] Add G_VSCALE instruction (#84542)


  Commit: f467cc9caf37fcf6b3523271f977585c39372d55
      https://github.com/llvm/llvm-project/commit/f467cc9caf37fcf6b3523271f977585c39372d55
  Author: Dave Clausen <daveclausen at gmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

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

  Log Message:
  -----------
  [tsan] Add missing link option to tsan test after #84923

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


  Commit: 2aacb56e8361213c1bd69c2ceafdea3aa0ca9125
      https://github.com/llvm/llvm-project/commit/2aacb56e8361213c1bd69c2ceafdea3aa0ca9125
  Author: 4ast <alexei.starovoitov at gmail.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M clang/lib/Basic/Targets/BPF.cpp
    M clang/test/Preprocessor/bpf-predefined-macros.c
    M llvm/lib/Target/BPF/AsmParser/BPFAsmParser.cpp
    M llvm/lib/Target/BPF/BPF.h
    A llvm/lib/Target/BPF/BPFASpaceCastSimplifyPass.cpp
    M llvm/lib/Target/BPF/BPFCheckAndAdjustIR.cpp
    M llvm/lib/Target/BPF/BPFInstrInfo.td
    M llvm/lib/Target/BPF/BPFTargetMachine.cpp
    M llvm/lib/Target/BPF/CMakeLists.txt
    A llvm/test/CodeGen/BPF/addr-space-auto-casts.ll
    A llvm/test/CodeGen/BPF/addr-space-cast.ll
    A llvm/test/CodeGen/BPF/addr-space-gep-chain.ll
    A llvm/test/CodeGen/BPF/addr-space-globals.ll
    A llvm/test/CodeGen/BPF/addr-space-globals2.ll
    A llvm/test/CodeGen/BPF/addr-space-phi.ll
    A llvm/test/CodeGen/BPF/addr-space-simplify-1.ll
    A llvm/test/CodeGen/BPF/addr-space-simplify-2.ll
    A llvm/test/CodeGen/BPF/addr-space-simplify-3.ll
    A llvm/test/CodeGen/BPF/addr-space-simplify-4.ll
    A llvm/test/CodeGen/BPF/addr-space-simplify-5.ll
    M llvm/test/CodeGen/BPF/assembler-disassembler.s

  Log Message:
  -----------
  BPF address space insn (#84410)

This commit aims to support BPF arena kernel side
[feature](https://lore.kernel.org/bpf/20240209040608.98927-1-alexei.starovoitov@gmail.com/):
- arena is a memory region accessible from both BPF program and
userspace;
- base pointers for this memory region differ between kernel and user
spaces;
- `dst_reg = addr_space_cast(src_reg, dst_addr_space, src_addr_space)`
translates src_reg, a pointer in src_addr_space to dst_reg, equivalent
pointer in dst_addr_space, {src,dst}_addr_space are immediate constants;
- number 0 is assigned to kernel address space;
- number 1 is assigned to user address space.

On the LLVM side, the goal is to make load and store operations on arena
pointers "transparent" for BPF programs:
- assume that pointers with non-zero address space are pointers to
  arena memory;
- assume that arena is identified by address space number;
- assume that address space zero corresponds to kernel address space;
- assume that every BPF-side load or store from arena is done via
pointer in user address space, thus convert base pointers using
`addr_space_cast(src_reg, 0, 1)`;

Only load, store, cmpxchg and atomicrmw IR instructions are handled by
this transformation.

For example, the following C code:

```c
   #define __as __attribute__((address_space(1)))
   void copy(int __as *from, int __as *to) { *to = *from; }
```

Compiled to the following IR:

```llvm
    define void @copy(ptr addrspace(1) %from, ptr addrspace(1) %to) {
    entry:
      %0 = load i32, ptr addrspace(1) %from, align 4
      store i32 %0, ptr addrspace(1) %to, align 4
      ret void
    }
```

Is transformed to:

```llvm
    %to2 = addrspacecast ptr addrspace(1) %to to ptr     ;; !
    %from1 = addrspacecast ptr addrspace(1) %from to ptr ;; !
    %0 = load i32, ptr %from1, align 4, !tbaa !3
    store i32 %0, ptr %to2, align 4, !tbaa !3
    ret void
```

And compiled as:

```asm
    r2 = addr_space_cast(r2, 0, 1)
    r1 = addr_space_cast(r1, 0, 1)
    r1 = *(u32 *)(r1 + 0)
    *(u32 *)(r2 + 0) = r1
    exit
```

Co-authored-by: Eduard Zingerman <eddyz87 at gmail.com>


  Commit: d014708a217beaef04f9533d311c68bda71a52f7
      https://github.com/llvm/llvm-project/commit/d014708a217beaef04f9533d311c68bda71a52f7
  Author: Roger Ferrer Ibáñez <roger.ferrer at bsc.es>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.h
    M llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp

  Log Message:
  -----------
  [llvm][Mips] Use a Target ISD opcode for PseudoD_SELECT (#84294)

The Mips target uses two TargetOpcode enumerators called
`PseudoD_SELECT_I` and `PseudoD_SELECT_I64`. A SDAG node is created
using these enumerators which is manually selected in
`MipsSEISelDAGToDAG.cpp` and ultimately expanded in
`EmitInstrWithCustomInserter` in `MipsISelLowering.cpp`.

This is not causing any upstream build to fail at the moment but it is
not guaranteed that these enumerators do not clash with Target ISD nodes
(i.e. those in the `MipsISD` namespace). We have seen this happening in
our downstream builds in which `Mips::PseudoD_SELECT_I` ends having the
same integer value as `MipsISD::VEXTRACT_ZEXT_ELT`. This confuses the
function `trySelect` in `MipsSEISelDAGToDAG.cpp` and causes a crash in 3
tests.

This change adds a new Target ISD opcode for these two cases and uses
them for the SDAG nodes. No test is included because this is a potential
error in the future not one that can be demonstrated in the current
codebase.


  Commit: 97c0cad388e5d3f5089a05001149ea7eeabbd777
      https://github.com/llvm/llvm-project/commit/97c0cad388e5d3f5089a05001149ea7eeabbd777
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

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

  Log Message:
  -----------
  [gn build] Port 2aacb56e8361


  Commit: 8bda5657332c7a94900d3eb2891d2b86e60b0e68
      https://github.com/llvm/llvm-project/commit/8bda5657332c7a94900d3eb2891d2b86e60b0e68
  Author: Qizhi Hu <836744285 at qq.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplate.cpp
    A clang/test/SemaTemplate/PR25708.cpp

  Log Message:
  -----------
  [Clang][Sema] Allow access to a public template alias declaration that refers to friend's private nested type (#83847)

This patch attempts to fix
https://github.com/llvm/llvm-project/issues/25708
Current access check missed qualifier(`NestedNameSpecifier`) in friend
class checking. Add it to `Records` of `EffectiveContext` by changing
the `DeclContext` makes `MatchesFriend` work.

Co-authored-by: huqizhi <836744285 at qq.com>


  Commit: 0fae4530e8476328f9a19b3ea4338b3a1e2187a8
      https://github.com/llvm/llvm-project/commit/0fae4530e8476328f9a19b3ea4338b3a1e2187a8
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [LangRef] Fix mistake in example (#84849)


  Commit: dcd9f49c2214891e3e0faffa70cf1a082434592a
      https://github.com/llvm/llvm-project/commit/dcd9f49c2214891e3e0faffa70cf1a082434592a
  Author: Charlie Barto <chbarto at microsoft.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_report.cpp

  Log Message:
  -----------
  [sanitizer][windows] report symbols in clang_rt. or \compiler-rt\lib\ as internal. (#84971)

This is the windows equivalent to the existing filters.

Work from https://github.com/llvm/llvm-project/pull/81677 that can be
applied separately (and is actually not critical for that PR)


  Commit: c1ac9a09d04e9be8f8f4860416528baf3691848d
      https://github.com/llvm/llvm-project/commit/c1ac9a09d04e9be8f8f4860416528baf3691848d
  Author: Yinying Li <yinyingli at google.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_block.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_dyn.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_element.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_ptr.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_sparse2dense.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_sparse2sparse.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_coo_test.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_dilated_conv_2d_nhwc_hwcf.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_dot.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_expand.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_expand_shape.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_filter_conv2d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_flatten.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_foreach_slices.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_generate.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_index.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_index_dense.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_insert_3d.mlir

  Log Message:
  -----------
  [mlir][sparse] Finish migrating integration tests to use sparse_tensor.print (#84997)


  Commit: 16ae493f56c1857ec0f6f2777e9b8a2e5151b4ef
      https://github.com/llvm/llvm-project/commit/16ae493f56c1857ec0f6f2777e9b8a2e5151b4ef
  Author: Peter Rong <peterrong96 at gmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/lib/FuzzMutate/OpDescriptor.cpp

  Log Message:
  -----------
  [FuzzMutate] Only use undef when explictly asked to (#84959)

Per discussion in https://github.com/SecurityLab-UCD/IRFuzzer/issues/49,
generating undef during fuzzing seems to be less fruitful. Let's
eliminate undef in favor of poison unless the user explicitly asked for
it.

Signed-off-by: Peter Rong <PeterRong96 at gmail.com>


  Commit: c6a93fe80b3cf30ff82d06e959c1177798c858ae
      https://github.com/llvm/llvm-project/commit/c6a93fe80b3cf30ff82d06e959c1177798c858ae
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M libc/src/__support/GPU/utils.h

  Log Message:
  -----------
  [libc] Use __builtin_ffsll for RPC lane mask (#85000)

src/__support/GPU/utils.h doesn't compile on a 32-bit platforms because
__builtin_ffsl uses long which is a 32-bit number. Use __builtin_ffsll
which uses long long which is guaranteed to be at least 64-bits.


  Commit: 9d6c43b4aed117f53167e72749b31a943941345d
      https://github.com/llvm/llvm-project/commit/9d6c43b4aed117f53167e72749b31a943941345d
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp

  Log Message:
  -----------
  [NFC] [C++20] [Modules] [P1689] [Scanner] Don't use thread pool in P1689 per file mode (#84285)

I suddenly found that the clang scan deps may use all concurrent threads
to scan the files. It makes sense in the batch mode. But in P1689 per
file mode, it simply wastes times and resources.

This patch itself should be a NFC patch. It simply moves codes.


  Commit: 88986d65e4ed1b2ddd6693ff3e70b84436af767a
      https://github.com/llvm/llvm-project/commit/88986d65e4ed1b2ddd6693ff3e70b84436af767a
  Author: Yinying Li <yinyingli at google.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_generate.mlir

  Log Message:
  -----------
  [mlir][sparse] Fix sparse_generate test (#85009)

std::uniform_int_distribution may behave differently in different
systems.


  Commit: 096d061c1c2f91edef7186bd8b61067020f49898
      https://github.com/llvm/llvm-project/commit/096d061c1c2f91edef7186bd8b61067020f49898
  Author: Sterling Augustine <saugustine at google.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel

  Log Message:
  -----------
  Add missing dependency after 80ab8234ac309418637488b97e0a62d8377b2ecf


  Commit: 34cf6847752a3aad68eaa889ab6e0073a38fc2db
      https://github.com/llvm/llvm-project/commit/34cf6847752a3aad68eaa889ab6e0073a38fc2db
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M libc/spec/posix.td
    M libc/spec/spec.td
    M libc/spec/stdc.td

  Log Message:
  -----------
  [libc] Move `struct timespec` from POSIX to StdC (#85010)

`struct timespec` is actually defined in the C standard, not POSIX.


  Commit: a62222f5f0bf30a5437255521df62750060a4bf4
      https://github.com/llvm/llvm-project/commit/a62222f5f0bf30a5437255521df62750060a4bf4
  Author: Sterling Augustine <saugustine at google.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

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

  Log Message:
  -----------
  Update BUILD.bazel for 0ebf511ad011a83022edb171e044c98d9d16b1fa


  Commit: 5d7796e674224be54c48a8db981f4134845bcc7c
      https://github.com/llvm/llvm-project/commit/5d7796e674224be54c48a8db981f4134845bcc7c
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Serialization/GeneratePCH.cpp

  Log Message:
  -----------
  [NFC] [C++20] [Modules] Refactor ReducedBMIGenerator

Changes:
- Don't lookup the emitting module from HeaderSearch. We will use the
  module from the ASTContext directly.
- Remove some useless arguments. Let's addback in the future if
  required.


  Commit: 15a55486a54183d4fc597ed86c0d49fe9482f2bd
      https://github.com/llvm/llvm-project/commit/15a55486a54183d4fc597ed86c0d49fe9482f2bd
  Author: Michael Flanders <mkf727 at cs.washington.edu>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/math/index.rst
    M libc/spec/stdc.td
    M libc/src/math/CMakeLists.txt
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/nextafterf128.cpp
    A libc/src/math/nextafterf128.h
    M libc/test/src/math/CMakeLists.txt
    A libc/test/src/math/nextafterf128_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/nextafterf128_test.cpp

  Log Message:
  -----------
  [libc][math] Adds entrypoint and test for `nextafterf128` (#84882)


  Commit: e4edbae0aa6a9739954ee3b494b18f8c599d9d79
      https://github.com/llvm/llvm-project/commit/e4edbae0aa6a9739954ee3b494b18f8c599d9d79
  Author: Lu Weining <luweining at loongson.cn>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/test/CodeGen/LoongArch/lasx/intrinsic-permi.ll

  Log Message:
  -----------
  Revert "[llvm][LoongArch] Improve loongarch_lasx_xvpermi_q instrinsic" (#84708)

Reverts llvm/llvm-project#82984

See the discussion in https://github.com/llvm/llvm-project/pull/83540.


  Commit: 2dbaf265255a5fa9643a8092ec2dffa881d2cf93
      https://github.com/llvm/llvm-project/commit/2dbaf265255a5fa9643a8092ec2dffa881d2cf93
  Author: Jeff Niu <jeff at modular.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M mlir/test/IR/custom-print-parse.mlir
    M mlir/test/IR/invalid-custom-print-parse.mlir
    M mlir/test/lib/Dialect/Test/TestDialect.cpp
    M mlir/test/lib/Dialect/Test/TestOps.td
    M mlir/test/mlir-tblgen/attr-or-type-format.td
    M mlir/test/mlir-tblgen/op-format.td
    M mlir/tools/mlir-tblgen/AttrOrTypeFormatGen.cpp
    M mlir/tools/mlir-tblgen/OpFormatGen.cpp

  Log Message:
  -----------
  [mlir][ods] Fix generation of optional custom parsers (#84821)

We need to generate `.has_value` for `OptionalParseResult`, also ensure
that `auto result` doesn't conflict with `result` which is the variable
name for `OperationState`.


  Commit: e25bf70d50cbf8bdebeacdaf3313486c1b1d0395
      https://github.com/llvm/llvm-project/commit/e25bf70d50cbf8bdebeacdaf3313486c1b1d0395
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M libc/config/baremetal/api.td
    M libc/config/baremetal/arm/headers.txt
    M libc/config/baremetal/riscv/headers.txt
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/mbstate_t.h
    A libc/include/uchar.h.def
    M libc/spec/spec.td
    M libc/spec/stdc.td

  Log Message:
  -----------
  [libc] Add an empty definition of mbstate_t (#84993)

We expect to eventually provide a complete implementation, but having an
empty definition is necessary to unblock the use of libc++ in embedded
environments.

See #84884 for more details.


  Commit: a0283987d07c2d4ce2cc5a4adaee0512f9553797
      https://github.com/llvm/llvm-project/commit/a0283987d07c2d4ce2cc5a4adaee0512f9553797
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M libc/config/baremetal/api.td
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt

  Log Message:
  -----------
  [libc] Include additional baremetal entrypoints (#85020)

These functions are usable on embedded platforms and are sometimes used
in various baremetal projects.


  Commit: deebf6b312227e028dd3258b162306b9cdb21cf7
      https://github.com/llvm/llvm-project/commit/deebf6b312227e028dd3258b162306b9cdb21cf7
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M compiler-rt/test/lit.common.cfg.py
    M compiler-rt/test/tsan/getline_nohang.cpp

  Log Message:
  -----------
  [tsan] Disabled test dead locking on glibc-2.38

https://github.com/google/sanitizers/issues/1733


  Commit: 53613044ddf1bab186cde8d687f7f41bc0b1f9b1
      https://github.com/llvm/llvm-project/commit/53613044ddf1bab186cde8d687f7f41bc0b1f9b1
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/include/llvm/ObjCopy/CommonConfig.h
    M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp

  Log Message:
  -----------
  [llvm-objcopy] Use SmallVector to make some structs smaller. NFC


  Commit: 0d98582c8b86644e77f8ddd68fc251e41127b7f4
      https://github.com/llvm/llvm-project/commit/0d98582c8b86644e77f8ddd68fc251e41127b7f4
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/include/llvm/ObjCopy/CommonConfig.h
    M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp

  Log Message:
  -----------
  [llvm-objcopy] Remove unneeded #include. NFC


  Commit: 4d62929852849f768d7397f634cfdebc85de96a4
      https://github.com/llvm/llvm-project/commit/4d62929852849f768d7397f634cfdebc85de96a4
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/LangOptions.h
    M clang/include/clang/Frontend/FrontendActions.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaModule.cpp
    M clang/test/CXX/module/dcl.dcl/dcl.module/dcl.module.interface/p1.cppm
    R clang/test/Modules/missing-module-declaration.cppm
    M clang/test/Modules/pr72828.cppm

  Log Message:
  -----------
  [C++20] [Modules] Disambuguous Clang module and C++20 Named module further

This patch tries to make the boundary of clang module and C++20 named
module more clear.

The changes included:

- Rename `TranslationUnitKind::TU_Module` to
  `TranslationUnitKind::TU_ClangModule`.
- Rename `Sema::ActOnModuleInclude` to `Sema::ActOnAnnotModuleInclude`.
- Rename `ActOnModuleBegin` to `Sema::ActOnAnnotModuleBegin`.
- Rename `Sema::ActOnModuleEnd` to `Sema::ActOnAnnotModuleEnd`.
- Removes a warning if we're trying to compile a non-module unit as
  C++20 module unit. This is not actually useful and makes (the future)
  implementation unnecessarily complex.

This patch meant to be a NFC fix. But it shows that it fixed a bug
suprisingly that previously we would surppress the unused-value warning
in named modules. Because it shares the same logic with clang modules,
which has headers semantics. This shows the change is meaningful.


  Commit: fe1d02b08ce2ca74de5b18d9f141d503b7985ec5
      https://github.com/llvm/llvm-project/commit/fe1d02b08ce2ca74de5b18d9f141d503b7985ec5
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M compiler-rt/lib/hwasan/hwasan_interceptors.cpp
    M compiler-rt/lib/lsan/lsan_interceptors.cpp
    M compiler-rt/lib/msan/msan_interceptors.cpp
    M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
    A compiler-rt/test/sanitizer_common/TestCases/Linux/static-link.c

  Log Message:
  -----------
  [sanitizer] Reject unsupported -static at link time (#83524)

Most sanitizers don't support static linking. One primary reason is the
incompatibility with interceptors. `GetTlsSize` is another reason.
asan/memprof use `__interception::DoesNotSupportStaticLinking`
(`_DYNAMIC` reference) to reject -static at link time. Port this
detector to other sanitizers. dfsan actually supports -static for
certain cases. Don't touch dfsan.


  Commit: cd2f6163137dce45d909aa445cfd57b7188f8ed1
      https://github.com/llvm/llvm-project/commit/cd2f6163137dce45d909aa445cfd57b7188f8ed1
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst

  Log Message:
  -----------
  AMDGPU: Use list-table for metadata table (#85024)

The table syntax for sphinx is really insufferably whitespace dependent.
I've been meaning to convert the existing attribute and intrinsic tables
to use list-table, which is less painful to merge.


  Commit: 0a443f13b49b3f392461a0bb60b0146cfc4607c7
      https://github.com/llvm/llvm-project/commit/0a443f13b49b3f392461a0bb60b0146cfc4607c7
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    M llvm/test/CodeGen/SPIRV/ComparePointers.ll
    M llvm/test/CodeGen/SPIRV/capability-kernel.ll
    M llvm/test/CodeGen/SPIRV/pointers/getelementptr-addressspace.ll
    M llvm/test/CodeGen/SPIRV/pointers/getelementptr-base-type.ll
    M llvm/test/CodeGen/SPIRV/pointers/kernel-argument-pointer-addressspace.ll
    M llvm/test/CodeGen/SPIRV/pointers/kernel-argument-pointer-type-deduction-no-bitcast-to-generic.ll
    M llvm/test/CodeGen/SPIRV/pointers/kernel-argument-pointer-type.ll
    M llvm/test/CodeGen/SPIRV/pointers/load-addressspace.ll
    M llvm/test/CodeGen/SPIRV/pointers/store-operand-ptr-to-struct.ll
    M llvm/test/CodeGen/SPIRV/pointers/struct-opaque-pointers.ll
    M llvm/test/CodeGen/SPIRV/pointers/two-bitcast-or-param-users.ll
    M llvm/test/CodeGen/SPIRV/pointers/two-subsequent-bitcasts.ll
    A llvm/test/CodeGen/SPIRV/pointers/type-deduce-by-call-rev.ll
    A llvm/test/CodeGen/SPIRV/pointers/type-deduce-by-call.ll
    A llvm/test/CodeGen/SPIRV/pointers/typeof-ptr-int.ll
    M llvm/test/CodeGen/SPIRV/relationals.ll
    M llvm/test/CodeGen/SPIRV/simple.ll
    M llvm/test/CodeGen/SPIRV/transcoding/AtomicCompareExchangeExplicit_cl20.ll
    M llvm/test/CodeGen/SPIRV/transcoding/BitReversePref.ll
    M llvm/test/CodeGen/SPIRV/transcoding/BuildNDRange.ll
    M llvm/test/CodeGen/SPIRV/transcoding/BuildNDRange_2.ll
    M llvm/test/CodeGen/SPIRV/transcoding/ConvertPtr.ll
    M llvm/test/CodeGen/SPIRV/transcoding/DecorationAlignment.ll
    M llvm/test/CodeGen/SPIRV/transcoding/DecorationMaxByteOffset.ll
    M llvm/test/CodeGen/SPIRV/transcoding/DivRem.ll
    M llvm/test/CodeGen/SPIRV/transcoding/ExecutionMode_SPIR_to_SPIRV.ll
    M llvm/test/CodeGen/SPIRV/transcoding/GlobalFunAnnotate.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpenCL/atomic_cmpxchg.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpenCL/atomic_legacy.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpenCL/atomic_work_item_fence.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpenCL/barrier.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpenCL/sub_group_mask.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpenCL/work_group_barrier.ll
    M llvm/test/CodeGen/SPIRV/transcoding/atomic_flag.ll
    M llvm/test/CodeGen/SPIRV/transcoding/atomic_load_store.ll
    M llvm/test/CodeGen/SPIRV/transcoding/bitcast.ll
    M llvm/test/CodeGen/SPIRV/transcoding/block_w_struct_return.ll
    M llvm/test/CodeGen/SPIRV/transcoding/builtin_calls.ll
    M llvm/test/CodeGen/SPIRV/transcoding/builtin_vars.ll
    M llvm/test/CodeGen/SPIRV/transcoding/builtin_vars_arithmetics.ll
    M llvm/test/CodeGen/SPIRV/transcoding/builtin_vars_opt.ll
    M llvm/test/CodeGen/SPIRV/transcoding/check_ro_qualifier.ll
    M llvm/test/CodeGen/SPIRV/transcoding/cl-types.ll
    M llvm/test/CodeGen/SPIRV/transcoding/clk_event_t.ll
    M llvm/test/CodeGen/SPIRV/transcoding/enqueue_kernel.ll
    M llvm/test/CodeGen/SPIRV/transcoding/explicit-conversions.ll
    M llvm/test/CodeGen/SPIRV/transcoding/extract_insert_value.ll
    M llvm/test/CodeGen/SPIRV/transcoding/fadd.ll
    M llvm/test/CodeGen/SPIRV/transcoding/fclamp.ll
    M llvm/test/CodeGen/SPIRV/transcoding/fcmp.ll
    M llvm/test/CodeGen/SPIRV/transcoding/fdiv.ll
    M llvm/test/CodeGen/SPIRV/transcoding/fmod.ll
    M llvm/test/CodeGen/SPIRV/transcoding/fmul.ll
    M llvm/test/CodeGen/SPIRV/transcoding/fneg.ll
    M llvm/test/CodeGen/SPIRV/transcoding/fp_contract_reassoc_fast_mode.ll
    M llvm/test/CodeGen/SPIRV/transcoding/frem.ll
    M llvm/test/CodeGen/SPIRV/transcoding/fsub.ll
    M llvm/test/CodeGen/SPIRV/transcoding/get_image_num_mip_levels.ll
    M llvm/test/CodeGen/SPIRV/transcoding/global_block.ll
    M llvm/test/CodeGen/SPIRV/transcoding/group_ops.ll
    M llvm/test/CodeGen/SPIRV/transcoding/isequal.ll
    M llvm/test/CodeGen/SPIRV/transcoding/relationals_double.ll
    M llvm/test/CodeGen/SPIRV/transcoding/relationals_float.ll
    M llvm/test/CodeGen/SPIRV/transcoding/relationals_half.ll

  Log Message:
  -----------
  [SPIR-V] Add implementation of G_SPLAT_VECTOR opcode and fix invalid types processing (#84766)

This PR:
* adds support for G_SPLAT_VECTOR generic opcode that may be legally
generated instead of G_BUILD_VECTOR by previous passes of the translator
(see https://github.com/llvm/llvm-project/pull/80378 for the source of
breaking changes);
* improves deduction of types for opaque pointers.

This PR also fixes the following issues:
* if a function has ptr argument(s), two functions that have different
SPIR-V type definitions may get identical LLVM function types and break
agreements of global register and duplicate checker;
* checks for pointer types do not account for TypedPointerType.

Update of tests:
* A test case is added to cover the issue with function ptr parameters.
* The first case, that is support for G_SPLAT_VECTOR generic opcode, is
covered by existing test cases.
* Multiple additional checks by `spirv-val` is added to cover more
possibilities of generation of invalid code.


  Commit: 5a4e2210bd60fec854822d3fb2a2aaa1e20ad2e1
      https://github.com/llvm/llvm-project/commit/5a4e2210bd60fec854822d3fb2a2aaa1e20ad2e1
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

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

  Log Message:
  -----------
  Revert "[llvm-exegesis] Use LLVM Support to get thread ID"

This reverts commit 1c3b15e9f5bc671e40bcf5d3475f5425466754ce.

This (and/or) a related patch was causing build failures on one of the
buildbots. More information is available at
https://lab.llvm.org/buildbot/#/builders/178/builds/7015.


  Commit: 1fe9c417a0bf143f9bb9f9e1fbf7b20f44196883
      https://github.com/llvm/llvm-project/commit/1fe9c417a0bf143f9bb9f9e1fbf7b20f44196883
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/SubprocessMemory.cpp
    M llvm/tools/llvm-exegesis/lib/SubprocessMemory.h
    M llvm/unittests/tools/llvm-exegesis/X86/SubprocessMemoryTest.cpp

  Log Message:
  -----------
  Revert "Reland "[llvm-exegesis] Add thread IDs to subprocess memory names (#84451)""

This reverts commit 8003f553a01a9a2a7eb09fe07e88f1ba9ee7d3a7.

This (and/or a related commit) was causing build failures on one of the
buildbots that needs more investigation. More information is available
at https://lab.llvm.org/buildbot/#/builders/178/builds/7015.


  Commit: 46682f445adfa06cb74239b17b588e36fcd4fdaa
      https://github.com/llvm/llvm-project/commit/46682f445adfa06cb74239b17b588e36fcd4fdaa
  Author: Danial Klimkin <dklimkin at google.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M clang/include/clang/InstallAPI/FrontendRecords.h

  Log Message:
  -----------
  Fix missing include past a38b7a432d3cbb093af9310eba5b4982dc0a0243 (#85041)


  Commit: 1c792d24e0a228ad49cc004a1c26bbd7cd87f030
      https://github.com/llvm/llvm-project/commit/1c792d24e0a228ad49cc004a1c26bbd7cd87f030
  Author: Marco Elver <elver at google.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M compiler-rt/lib/interception/interception.h
    M compiler-rt/lib/sanitizer_common/sanitizer_asm.h

  Log Message:
  -----------
  [compiler-rt] Fix interceptors with AArch64 BTI (#84061)

On AArch64 with BTI, we have to start functions with the appropriate
BTI hint to indicate that the function is a valid call target.

To support interceptors with AArch64 BTI, add "BTI c".


  Commit: 0be9592b0077dc63596ce46379cf7b3bd4a405c8
      https://github.com/llvm/llvm-project/commit/0be9592b0077dc63596ce46379cf7b3bd4a405c8
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp

  Log Message:
  -----------
  [clang] CTAD: Respect requires-clause of the original function template for the synthesized deduction guide (#84913)

We ignored the require-clause of the original template when building the deduction guide for type-alias CTAD, this resulted in accepting code which should be rejected (see the test case). This patch fixes it, part of #84492.


  Commit: e42e97a4ada141ca1320a49e7fe03245d6765bce
      https://github.com/llvm/llvm-project/commit/e42e97a4ada141ca1320a49e7fe03245d6765bce
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    A llvm/test/CodeGen/AArch64/sme-write-vg.ll

  Log Message:
  -----------
  [AArch64][SME] Don't mark 'smstart za' as using/defining VG. (#84775)

VG is only used/defined when changing the streaming mode, using 'smstart
sm' or plainly 'smstart' (same for smstop).


  Commit: 06c06e15f45acd3ea24756978629f1d78724870e
      https://github.com/llvm/llvm-project/commit/06c06e15f45acd3ea24756978629f1d78724870e
  Author: AtariDreams <83477269+AtariDreams at users.noreply.github.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Scalar/Float2Int.h
    M llvm/lib/Transforms/Scalar/Float2Int.cpp
    M llvm/test/Transforms/Float2Int/basic.ll

  Log Message:
  -----------
  [Float2Int] Resolve FIXME: Pick the smallest legal type that fits (#79158)

Pick the type based on the smallest bit-width possible, using
DataLayout.


  Commit: 676c495195748e8ab2755b62153a718a53f7dae9
      https://github.com/llvm/llvm-project/commit/676c495195748e8ab2755b62153a718a53f7dae9
  Author: lcvon007 <141613945+lcvon007 at users.noreply.github.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp

  Log Message:
  -----------
  [Attributor][FIX] Register right new created BB. (#84929)

CBBB will keep same after the first iteration so
registerManifestAddedBasicBlock would always register the same basic
block later.

Co-authored-by: laichunfeng <laichunfeng at tencent.com>


  Commit: 2d62ce4bebe484f7c6855b9ef479e9b398595df9
      https://github.com/llvm/llvm-project/commit/2d62ce4bebe484f7c6855b9ef479e9b398595df9
  Author: mikaelholmen <mikael.holmen at ericsson.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    A llvm/test/Analysis/Lint/crash_empty_iterator.ll

  Log Message:
  -----------
  [ValueTracking] Remove faulty dereference of "InsertBefore" (#85034)

In 2fe81edef6f
 [NFC][RemoveDIs] Insert instruction using iterators in Transforms/
we changed
       if (*req_idx != *i)
         return FindInsertedValue(I->getAggregateOperand(), idx_range,
-                                 InsertBefore);
+                                 *InsertBefore);
     }
but there is no guarantee that is InsertBefore is non-empty at that
point,
which we e.g can see in the added testcase.

Instead just pass on the optional InsertBefore in the recursive call to
FindInsertedValue, as we do at several other places already.


  Commit: e371ada409b225ea990b5ac0d5cafea26a6046e1
      https://github.com/llvm/llvm-project/commit/e371ada409b225ea990b5ac0d5cafea26a6046e1
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M compiler-rt/lib/fuzzer/FuzzerUtilLinux.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_procmaps_bsd.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_procmaps_common.cpp

  Log Message:
  -----------
  [compiler-rt] reimplements GetMemoryProfile for netbsd. (#84841)

The actual solution relies on the premise /proc/self/smaps existence.
instead relying on native api like freebsd.
fixing fuzzer build too.


  Commit: 995d1d114e4e4ff708a03cdb0a975209c6197f9f
      https://github.com/llvm/llvm-project/commit/995d1d114e4e4ff708a03cdb0a975209c6197f9f
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

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

  Log Message:
  -----------
  [SjLjEHPrepare] Use inverse_depth_first() instead of _ext variant (NFC). (#84920)

inverse_depth_first df_iterator_default_set as default set, so there's
no need to explicitly use inverse_depth_first_ext.

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


  Commit: 20b15e645cdbde07ae46aefe46ede5ff4d1e8ba3
      https://github.com/llvm/llvm-project/commit/20b15e645cdbde07ae46aefe46ede5ff4d1e8ba3
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/fold-global-offsets.ll
    M llvm/test/CodeGen/Hexagon/addrmode-immop.mir
    M llvm/test/CodeGen/NVPTX/b52037.ll
    M llvm/test/CodeGen/WinCFGuard/cfguard-mingw.ll
    M llvm/test/CodeGen/X86/tls-align.ll
    M llvm/test/DebugInfo/X86/tu-to-non-tu.ll
    M llvm/unittests/Transforms/Utils/CallPromotionUtilsTest.cpp

  Log Message:
  -----------
  [Tests] Drop inrange attribute from some tests (NFC)

These don't actually test anything related to inrange, so drop the
attribute.


  Commit: e4b27359fde552f65fd3434398a6b80104e1a20d
      https://github.com/llvm/llvm-project/commit/e4b27359fde552f65fd3434398a6b80104e1a20d
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/test/ThinLTO/X86/Inputs/devirt_single_hybrid_bar.ll
    M llvm/test/ThinLTO/X86/devirt_after_filtering_unreachable.ll
    M llvm/test/ThinLTO/X86/devirt_external_comdat_same_guid.ll
    M llvm/test/ThinLTO/X86/devirt_local_same_guid.ll
    M llvm/test/ThinLTO/X86/lower_type_test_phi.ll
    M llvm/test/ThinLTO/X86/nodevirt-nonpromoted-typeid.ll
    M llvm/test/ThinLTO/X86/type_test_noindircall.ll

  Log Message:
  -----------
  [ThinLTO] Drop inrange attribute from tests (NFC)

The inrange attribute is not relevant to the optimizations being
tested here. Additionally, all the inrange attributes in these
files don't actually carry any additional information, as the
"range" covers the whole object.


  Commit: 5a744776bb6192dae04360609457c9f49dce43a2
      https://github.com/llvm/llvm-project/commit/5a744776bb6192dae04360609457c9f49dce43a2
  Author: dyung <douglas.yung at sony.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M cross-project-tests/debuginfo-tests/llgdb-tests/forward-declare-class.cpp

  Log Message:
  -----------
  Mark test as XFAIL that started failing after 418f0066eb. (#85027)

Similar failures were previously seen and XFAILed in
https://reviews.llvm.org/D118468.

See the phabricator review for a description of the problem, and the
linked discourse thread for what the failing output looks like.

This change should fix the issue on two buildbots that are running older
versions of GDB:
- https://lab.llvm.org/buildbot/#/builders/217/builds/37559
- https://lab.llvm.org/buildbot/#/builders/247/builds/15173


  Commit: 560d7c51fdee4cc15766aa9b62c0cd8f0f18a353
      https://github.com/llvm/llvm-project/commit/560d7c51fdee4cc15766aa9b62c0cd8f0f18a353
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/SDPatternMatch.h
    M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp

  Log Message:
  -----------
  [DAG] Add SDPatternMatch m_And/m_Or/m_Xor matchers for logic ops


  Commit: 99be3875fb161a5786aaad5dab0b92fa052e47d1
      https://github.com/llvm/llvm-project/commit/99be3875fb161a5786aaad5dab0b92fa052e47d1
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/lib/TargetParser/Host.cpp

  Log Message:
  -----------
  [ARM][AArch64] Add missing Arm CPU part-ids to enable -mcpu=native (#84899)

Update Host.cpp with some missing Arm CPU part identifiers,
to enable `-mcpu=native` on these processors. These are found in
the Technical Reference Manuals listed under "part num" or "part no"


  Commit: a7af53e99bb1fc92f45c14df2acf2da8f849af2f
      https://github.com/llvm/llvm-project/commit/a7af53e99bb1fc92f45c14df2acf2da8f849af2f
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/SDPatternMatch.h
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AArch64/xor.ll

  Log Message:
  -----------
  [DAG] visitSUB - convert some folds to use SDPatternMatch

General cleanup and allows us to handle several commutable matches with a single pattern


  Commit: 7cd61f888c479da51215071336b34f6918cad3d8
      https://github.com/llvm/llvm-project/commit/7cd61f888c479da51215071336b34f6918cad3d8
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/BUFInstructions.td

  Log Message:
  -----------
  [AMDGPU] Remove unneeded MnemonicAlias. NFC.

This is unneeded because MUBUF_Real_Atomic_gfx11_gfx12 on the line above
generates it automatically.


  Commit: ceb744eb2fa0895db1526110462745962fdf43c0
      https://github.com/llvm/llvm-project/commit/ceb744eb2fa0895db1526110462745962fdf43c0
  Author: Harald van Dijk <harald at gigawatt.nl>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/clamp.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize-elimination.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize.ll
    M llvm/test/CodeGen/AMDGPU/fneg-combines.f16.ll
    M llvm/test/CodeGen/AMDGPU/fneg-combines.new.ll
    M llvm/test/CodeGen/AMDGPU/llvm.maxnum.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.minnum.f16.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix-lo.ll

  Log Message:
  -----------
  [AMDGPU] Fix canonicalization of truncated values. (#83054)

We were relying on roundings to implicitly canonicalize, which is
generally safe, except with roundings that may be optimized away.

Fixes #82937.


  Commit: c18e1215c4f387058961651148be730144d3537b
      https://github.com/llvm/llvm-project/commit/c18e1215c4f387058961651148be730144d3537b
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

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

  Log Message:
  -----------
  [InstCombine] Simplify `zext nneg i1 X` to zero (#85043)

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


  Commit: 203757776826cfd164c537048ec90f5ada50cae2
      https://github.com/llvm/llvm-project/commit/203757776826cfd164c537048ec90f5ada50cae2
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-ar.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/Object/Archive.h
    M llvm/lib/Object/Archive.cpp
    M llvm/lib/Object/ArchiveWriter.cpp
    A llvm/test/tools/llvm-ar/coff-symtab.test
    A llvm/test/tools/llvm-ar/no-symtab.yaml
    M llvm/tools/llvm-ar/llvm-ar.cpp

  Log Message:
  -----------
  [llvm-ar] Use COFF archive format for COFF targets. (#82898)

Detect COFF files by default and allow specifying it with --format
argument.

This is important for ARM64EC, which uses a separated symbol map for EC
symbols. Since K_COFF is mostly compatible with K_GNU, this shouldn't
really make a difference for other targets.

This originally landed as #82642, but was reverted due to test failures
in tests using no symbol table. Since COFF symbol can't express it,
fallback to GNU format in that case.


  Commit: 9e406ef4f4b089f88e74b2713f0fbee51b9537d6
      https://github.com/llvm/llvm-project/commit/9e406ef4f4b089f88e74b2713f0fbee51b9537d6
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/include/variant
    M libcxx/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp
    M libcxx/test/std/utilities/variant/variant.variant/variant.assign/conv.pass.cpp
    M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp
    M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/conv.pass.cpp
    M libcxx/test/support/variant_test_helpers.h

  Log Message:
  -----------
  [libc++] Remove _LIBCPP_ENABLE_NARROWING_CONVERSIONS_IN_VARIANT (#83928)

This was slated for removal in LLVM 19.


  Commit: 5c3d001668ec6117045a9750a1f9d7e3995adfee
      https://github.com/llvm/llvm-project/commit/5c3d001668ec6117045a9750a1f9d7e3995adfee
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst

  Log Message:
  -----------
  AMDGPU: Don't use table for metadata docs, and fix section headers (#85046)


  Commit: 9fa866020395b215ece6140c2fedc7c31950272c
      https://github.com/llvm/llvm-project/commit/9fa866020395b215ece6140c2fedc7c31950272c
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/test/MC/AMDGPU/gfx12_asm_vbuffer_mubuf.s

  Log Message:
  -----------
  [AMDGPU] Test new GFX12 opcode name buffer_atomic_min_num_f32

The old name buffer_atomic_min_f32 is still tested as part of the alias
tests.


  Commit: e48d5a838f69e0a8e0ae95a8aed1a8809f45465a
      https://github.com/llvm/llvm-project/commit/e48d5a838f69e0a8e0ae95a8aed1a8809f45465a
  Author: NagyDonat <donat.nagy at ericsson.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h
    M clang/lib/StaticAnalyzer/Core/CheckerContext.cpp
    M clang/unittests/StaticAnalyzer/CMakeLists.txt
    A clang/unittests/StaticAnalyzer/IsCLibraryFunctionTest.cpp
    M llvm/utils/gn/secondary/clang/unittests/StaticAnalyzer/BUILD.gn

  Log Message:
  -----------
  Reapply "[analyzer] Accept C library functions from the `std` namespace"

This reapplies f32b04d4ea91ad1018c25a1d4178cc4392d34968i, after fixing
the use-after-free of ASTUnit in the unittest.
https://github.com/llvm/llvm-project/pull/84469#issuecomment-1992163439

Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>


  Commit: 83d178843f4322159b6469f430a8a241b8672d6d
      https://github.com/llvm/llvm-project/commit/83d178843f4322159b6469f430a8a241b8672d6d
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    A llvm/test/Transforms/InstCombine/shift-cttz-ctlz.ll

  Log Message:
  -----------
  [InstCombine] Set zero_is_poison for ctlz/cttz if they are only used as shift amounts (#85035)

Alive2: https://alive2.llvm.org/ce/z/r-67t9

It would improve the codegen if the target doesn't provide a defined
value for ctlz/cttz with zero.


  Commit: 960b4aa6dab69125778f230c4c94f2d19c96cc87
      https://github.com/llvm/llvm-project/commit/960b4aa6dab69125778f230c4c94f2d19c96cc87
  Author: Jake Egan <Jake.egan at ibm.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M clang/unittests/Interpreter/InterpreterExtensionsTest.cpp

  Log Message:
  -----------
  [AIX][ClangRepl] Disable new test on AIX

This new test fails on the AIX bot with error `LLVM ERROR: Incompatible object format!`. Disable for now to investigate.

Same as 86337beca2e6f939127cd3e088ec80c0cf4a0a64.


  Commit: 424e0a825fe4d9e3bf98b63ef86edbc4fa5e3799
      https://github.com/llvm/llvm-project/commit/424e0a825fe4d9e3bf98b63ef86edbc4fa5e3799
  Author: Jake Egan <Jake.egan at ibm.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M clang/unittests/Interpreter/InterpreterExtensionsTest.cpp

  Log Message:
  -----------
  [ClangRepl] Add missing hashtag

Hashtag missing from commit 960b4aa6dab69125778f230c4c94f2d19c96cc87


  Commit: 2cf2bc472da87bb4bf971b1448e05b9e3bd983dc
      https://github.com/llvm/llvm-project/commit/2cf2bc472da87bb4bf971b1448e05b9e3bd983dc
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M clang/lib/AST/Decl.cpp
    M clang/test/CodeGen/const-init.c
    A clang/test/Sema/const-init.c

  Log Message:
  -----------
  [Clang] [CodeGen] Fix codegen bug in constant initialisation in C23 mode (#84981)

Consider the following code:
```c
bool const inf =  (1.0/0.0);
``` 

When trying to emit the initialiser of this variable in C23, we end up
hitting a code path in codegen in `VarDecl::evaluateValueImpl()` where
we check for `IsConstantInitialization && (Ctx.getLangOpts().CPlusPlus
|| Ctx.getLangOpts().C23)`, and if that is the case and we emitted any
notes, constant evaluation fails, and as a result, codegen issues this
error:
```
<source>:1:12: error: cannot compile this static initializer yet
    1 | bool const inf =  (1.0/0.0);
      |        
```

As a fix, only fail in C23 mode if we’re initialising a `constexpr`
variable.

This fixes #84784.


  Commit: 390f28702fad7b704d026b5c3e9a6030cecab01b
      https://github.com/llvm/llvm-project/commit/390f28702fad7b704d026b5c3e9a6030cecab01b
  Author: mahesh-attarde <145317060+mahesh-attarde at users.noreply.github.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/AccelTable.h
    M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp
    M llvm/utils/TableGen/DecoderEmitter.cpp

  Log Message:
  -----------
  [CodeGen][Tablegen] Fix uninitialized var and shift overflow. (#84896)

Fix uninitialized var and shift overflow.


  Commit: eb21ee49cff081911d99d29ba887c1715fc2b8fc
      https://github.com/llvm/llvm-project/commit/eb21ee49cff081911d99d29ba887c1715fc2b8fc
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M lldb/test/API/python_api/run_locker/TestRunLocker.py

  Log Message:
  -----------
  [lldb][test] Disable other runlocker test on AArch64 Linux

Flaky on the bot: https://lab.llvm.org/buildbot/#/builders/96/builds/54435


  Commit: e77324decf74e8203fdee53e53c1866319ebf47c
      https://github.com/llvm/llvm-project/commit/e77324decf74e8203fdee53e53c1866319ebf47c
  Author: Zepp <luzepu678 at gmail.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M clang/include/clang/Basic/Attr.td

  Log Message:
  -----------
  [Clang] [Docs] Add reference to documentation of `SysVABIAttr` (#85022)

We for some reason already had documentation for this attribute, but just weren’t linking to it.


  Commit: 37b5eb0a0a75bdf69b96b902417906da31c88dc3
      https://github.com/llvm/llvm-project/commit/37b5eb0a0a75bdf69b96b902417906da31c88dc3
  Author: Zaara Syeda <95926691+syzaara at users.noreply.github.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M clang/docs/UsersManual.rst
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticFrontendKinds.td
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/Targets/PPC.cpp
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    A clang/test/CodeGen/PowerPC/toc-data-attribute.c
    A clang/test/CodeGen/PowerPC/toc-data-attribute.cpp
    A clang/test/CodeGen/PowerPC/toc-data-diagnostics.c
    A clang/test/CodeGen/PowerPC/toc-data-structs-arrays.cpp
    A clang/test/Driver/toc-conf.c
    A clang/test/Driver/tocdata-cc1.c
    M llvm/include/llvm/ADT/STLExtras.h
    M llvm/lib/MC/MCSectionXCOFF.cpp
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
    M llvm/lib/Target/PowerPC/PPCSubtarget.cpp
    M llvm/lib/Target/PowerPC/PPCSubtarget.h
    A llvm/test/CodeGen/PowerPC/toc-data-large-array.ll
    A llvm/test/CodeGen/PowerPC/toc-data-large-array2.ll
    A llvm/test/CodeGen/PowerPC/toc-data-struct-array.ll

  Log Message:
  -----------
  [AIX][TOC] Add -mtocdata/-mno-tocdata options on AIX (#67999)

This patch enables support that the XL compiler had for AIX under
-qdatalocal/-qdataimported.


  Commit: 1402c016ffe860446552a959e9fc4696c39392f9
      https://github.com/llvm/llvm-project/commit/1402c016ffe860446552a959e9fc4696c39392f9
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
    M llvm/test/Transforms/LoopVectorize/dbg-outer-loop-vect.ll

  Log Message:
  -----------
  [VPlan] Use VPBuilder to create BranchOnCond in VPHCFGBuilder.

This simplifies the code to create the recipe slightly as well as
properly retaining the debug location of the input IR.


  Commit: 4e49ee55c587637e17dec7a72b9ce86d85f8f241
      https://github.com/llvm/llvm-project/commit/4e49ee55c587637e17dec7a72b9ce86d85f8f241
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M lldb/test/API/functionalities/fork/concurrent_vfork/TestConcurrentVFork.py

  Log Message:
  -----------
  [lldb][Test] Disable ConcurrentVFork tests on Arm/AArch64 Linux

They are either flaky, or not cleaning up after themselves.
See https://github.com/llvm/llvm-project/issues/85084.


  Commit: 63180ba444dc09fb9e85fdb98af56b2fc86f6027
      https://github.com/llvm/llvm-project/commit/63180ba444dc09fb9e85fdb98af56b2fc86f6027
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

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

  Log Message:
  -----------
  [DAG] Use SelectionDAG::getNOT helper where possible. NFC.


  Commit: f18d78b477c76bc09dc580cdaedd55e121f5ebf5
      https://github.com/llvm/llvm-project/commit/f18d78b477c76bc09dc580cdaedd55e121f5ebf5
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

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

  Log Message:
  -----------
  [DAG] isKnownToBeAPowerOfTwo - use sd_match to match both commutations of `x & -x` pattern`. NFC.

Allows us to remove some tricky commutation matching


  Commit: f46f5a01f4d5a7dcaf4a8fde5fc44eafdd9dbf27
      https://github.com/llvm/llvm-project/commit/f46f5a01f4d5a7dcaf4a8fde5fc44eafdd9dbf27
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.h
    A flang/test/Lower/OpenMP/FIR/parallel-reduction-add-byref.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-add-byref.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand-byref.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor-byref.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior-byref.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv-byref.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv-byref.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-max-byref.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-min-byref.f90
    A flang/test/Lower/OpenMP/default-clause-byref.f90
    A flang/test/Lower/OpenMP/delayed-privatization-reduction-byref.f90
    A flang/test/Lower/OpenMP/parallel-reduction-add-byref.f90
    A flang/test/Lower/OpenMP/parallel-reduction-byref.f90
    A flang/test/Lower/OpenMP/parallel-wsloop-reduction-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-max-2-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    A mlir/test/Target/LLVMIR/openmp-reduction-byref.mlir

  Log Message:
  -----------
  [flang][OpenMP][OMPIRBuilder][mlir] Optionally pass reduction vars by ref (#84304)

Previously reduction variables were always passed by value into and out
of the initialization and combiner regions of the OpenMP reduction
declare operation.

This worked well for reductions of primitive types (and might perform
better than passing by reference). But passing by reference will be
useful for array and derived type reductions (e.g. to move allocation
inside of the init region).

Passing reductions by reference requires different LLVM-IR generation
when lowering from MLIR because some of the loads/stores/allocations
will now be moved inside of the init and combiner regions. This
alternate code generation is requested using a new attribute to
omp.wsloop and omp.parallel.

Existing lowerings from mlir are unaffected (these will continue to use
the by-value argument passing.

Flang will continue to pass by-value argument passing for trivial types
unless a (hidden) command line argument is supplied. Non-trivial types
will always use the by-ref lowering.

Array reductions are not ready yet (but are coming very soon). In the
meantime, this is tested by forcing existing reductions to use by-ref.

Commit series for by-ref OpenMP reductions 3/3

---------

Co-authored-by: Mats Petersson <mats.petersson at arm.com>


  Commit: 3c227a31dd1046db02323868b9690a6152cfb3b8
      https://github.com/llvm/llvm-project/commit/3c227a31dd1046db02323868b9690a6152cfb3b8
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/cmake/modules/AddLLVM.cmake

  Log Message:
  -----------
  [cmake] Silence a duplicate libraries warning from Apple's linker (#85012)

ld: warning: ignoring duplicate libraries:

This triggers quite frequently in llvm's build because CMake's library
depends mechanism doesn't de-duplicate libraries on the link line.
Duplication is necessary for ELF platforms, but means something subtly
different on Darwin platforms, hence the warning. Since we don't have
much control over that from CMake, just disable the warning wholesale
whenever the linker is detected to support it.


  Commit: 628a79dad30befed82ee1c115b00fa9aca5305ed
      https://github.com/llvm/llvm-project/commit/628a79dad30befed82ee1c115b00fa9aca5305ed
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

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

  Log Message:
  -----------
  [InstCombine] Don't generate crash dialog for fixpoint verification failure (NFC)

Fixpoint verification failures outside our tests are usually not
indicative of a bug -- don't be pushy about having people report them.


  Commit: 59ff907fc14aa2d02e57b4af4140949d4f8caca1
      https://github.com/llvm/llvm-project/commit/59ff907fc14aa2d02e57b4af4140949d4f8caca1
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/same-scalar-in-same-phi-extract.ll

  Log Message:
  -----------
  [SLP]Fix PR85082: PHI node has multiple entries.

Need to record casted extractelement for the externally used scalar, not
original extract instruction.


  Commit: 096ee4e16fd62cd578d20ec4e8ad4756f4e369ee
      https://github.com/llvm/llvm-project/commit/096ee4e16fd62cd578d20ec4e8ad4756f4e369ee
  Author: agozillon <Andrew.Gozillon at amd.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    A flang/test/Lower/OpenMP/use-device-ptr-to-use-device-addr.f90
    M flang/test/Semantics/OpenMP/use_device_ptr1.f90

  Log Message:
  -----------
  [Flang][OpenMP] Implement "promotion" of use_device_ptr non-cptr arguments to use_device_addr (#82834)

This effectively implements some now deprecated OpenMP functionality
that some applications (most notably at the moment GenASiS)
unfortunately depend on (deprecated in specification version 5.2):

"If a list item in a use_device_ptr clause is not of type C_PTR, the
behavior is as if the list item appeared in a use_device_addr clause.
Support for such list items in a use_device_ptr clause is deprecated."

This PR downgrades the hard-error to a deprecated warning and "promotes"
the above cases by simply moving the offending operands from the
use_device_ptr value list to the back of the use_device_addr list (and
moves the related symbols, locs and types that form the BlockArgs
correspondingly) and then the generation of the target data construct
proceeds as normal.


  Commit: 732f5368cdc297e83f8720fb13a8c848ff116ccf
      https://github.com/llvm/llvm-project/commit/732f5368cdc297e83f8720fb13a8c848ff116ccf
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Transforms/Inliner.h
    M mlir/include/mlir/Transforms/Passes.td
    M mlir/lib/Transforms/InlinerPass.cpp
    M mlir/lib/Transforms/Utils/Inliner.cpp
    M mlir/test/Transforms/inlining-dump-default-pipeline.mlir
    A mlir/test/Transforms/inlining-threshold.mlir

  Log Message:
  -----------
  [RFC][mlir] Add profitability callback to the Inliner. (#84258)

Discussion at https://discourse.llvm.org/t/inliner-cost-model/2992

This change adds a callback that reports whether inlining
of the particular call site (communicated via ResolvedCall argument)
is profitable or not. The default MLIR inliner pass behavior
is unchanged, i.e. the callback always returns true.
This callback may be used to customize the inliner behavior
based on the target specifics (like target instructions costs),
profitability of the inlining for further optimizations
(e.g. if inlining may enable loop optimizations or scalar optimizations
due to object shape propagation), optimization levels (e.g. -Os inlining
may be quite different from -Ofast inlining), etc.

One of the questions is whether the ResolvedCall entity represents
enough of the context for the custom inlining models to come up with
the profitability decision. I think we can start with this and
extend it as necessary.

---------

Co-authored-by: Mehdi Amini <joker.eph at gmail.com>


  Commit: e0738cc65865c31975b5bdbbf89c5a4dbbe06dc5
      https://github.com/llvm/llvm-project/commit/e0738cc65865c31975b5bdbbf89c5a4dbbe06dc5
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
    M flang/runtime/Float128Math/CMakeLists.txt
    A flang/runtime/Float128Math/random.cpp
    A flang/runtime/random-templates.h
    M flang/runtime/random.cpp
    A flang/test/Lower/Intrinsics/random_number_real16.f90

  Log Message:
  -----------
  [flang] Moved REAL(16) RANDOM_NUMBER to Float128Math library. (#85002)


  Commit: 286c3b500dc36b2451683bde5d681bf6efea3e63
      https://github.com/llvm/llvm-project/commit/286c3b500dc36b2451683bde5d681bf6efea3e63
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/test/Lower/Intrinsics/modulo.f90

  Log Message:
  -----------
  [flang] Enable REAL(16) MODULO lowering. (#85005)

The lowering currently relies on the trivial operations,
so we should just lower it for REAL(16) the same way we do this
for other trivial operations.


  Commit: d24ff9aec4f2741804268a66d711d6d31cd06138
      https://github.com/llvm/llvm-project/commit/d24ff9aec4f2741804268a66d711d6d31cd06138
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/runtime/Float128Math/CMakeLists.txt
    A flang/runtime/Float128Math/fma.cpp
    M flang/runtime/Float128Math/math-entries.h
    A flang/test/Lower/Intrinsics/fma_real16.f90

  Log Message:
  -----------
  [flang][runtime] Added lowering and runtime for REAL(16) IEEE_FMA. (#85017)


  Commit: 9a3000cf6700a711f3d81d071e0b6933cef46c36
      https://github.com/llvm/llvm-project/commit/9a3000cf6700a711f3d81d071e0b6933cef46c36
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M libc/config/gpu/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt

  Log Message:
  -----------
  [libc] roll out rest of stdbit.h entrypoints to gpu,linux,baremetal (#84938)


  Commit: bb82092de71466728630050691fa9c20796b3cbc
      https://github.com/llvm/llvm-project/commit/bb82092de71466728630050691fa9c20796b3cbc
  Author: Han-Chung Wang <hanhan0912 at gmail.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
    M mlir/test/Conversion/TensorToLinalg/tensor-ops-to-linalg.mlir
    M mlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir
    M mlir/test/Dialect/Linalg/generalize-pad-tensor.mlir

  Log Message:
  -----------
  [mlir][tensor] Make getMixedPadImpl return static values when possible. (#85016)

If low and high are constants (i.e., not attributes), users still prefer
attributes. Otherwise, there could be failures in type inference. A
failure is introduced by
https://github.com/llvm/llvm-project/commit/60e562d11aeca8020de8d50ded7f0ba9e10e8843,
see the drop_known_unit_constant_low_high test for more details.


  Commit: c3eccf03b365a705bc8dc043217478a82bc37a4d
      https://github.com/llvm/llvm-project/commit/c3eccf03b365a705bc8dc043217478a82bc37a4d
  Author: Adrian Prantl <adrian-prantl at users.noreply.github.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M lldb/source/Expression/IRExecutionUnit.cpp

  Log Message:
  -----------
  Avoid a potential exit(1) in LLVMContext::diagnose()  (#84992)

by handling *all* errors in IRExecDiagnosticHandler. The function that
call this handles all unhandled errors with an `exit(1)`.

rdar://124459751

I don't really have a testcase for this, since the crash report I got
for this involved the Swift language plugin.


  Commit: cc761a7c356178009d186e70740ccb53bf0c6deb
      https://github.com/llvm/llvm-project/commit/cc761a7c356178009d186e70740ccb53bf0c6deb
  Author: Zaara Syeda <syzaara at ca.ibm.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/lib/Target/PowerPC/GISel/PPCInstructionSelector.cpp
    M llvm/lib/Target/PowerPC/P10InstrResources.td
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    M llvm/lib/Target/PowerPC/PPCBack2BackFusion.def
    M llvm/lib/Target/PowerPC/PPCFastISel.cpp
    M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
    M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/PowerPC/PPCMacroFusion.def
    M llvm/lib/Target/PowerPC/PPCTOCRegDeps.cpp
    M llvm/test/CodeGen/PowerPC/remove-copy-crunsetcrbit.mir

  Log Message:
  -----------
  [PowerPC][NFC] Rename ADDItocL to match the 64-bit naming convention (#85099)

In preparation of adding a similar instruction for large code model on
AIX for 32-bit, rename the exisitng ADDItocL 64-instruction to ADDItocL8
to match the naming convention of other instructions with 32-bit and
64-bit variants.


  Commit: f15a790fd383665ec4defa0711e975476fd8b18b
      https://github.com/llvm/llvm-project/commit/f15a790fd383665ec4defa0711e975476fd8b18b
  Author: David Blaikie <dblaikie at gmail.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

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

  Log Message:
  -----------
  Remove use of reference lifetime extension introduced in cdde0d9

Rather than dealing with which is more readable, the named variable
doesn't seem to add value here - so omit it.


  Commit: 57b991ab39348d91d8552787958ba7db1e7ceb8a
      https://github.com/llvm/llvm-project/commit/57b991ab39348d91d8552787958ba7db1e7ceb8a
  Author: Usman Nadeem <mnadeem at quicinc.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/arm64-convert-v4f64.ll
    M llvm/test/CodeGen/AArch64/extbinopload.ll
    M llvm/test/CodeGen/AArch64/fp-conversion-to-tbl.ll
    M llvm/test/CodeGen/AArch64/fptoi.ll
    M llvm/test/CodeGen/AArch64/neon-truncstore.ll
    M llvm/test/CodeGen/AArch64/sadd_sat_vec.ll
    M llvm/test/CodeGen/AArch64/shuffle-tbl34.ll
    M llvm/test/CodeGen/AArch64/ssub_sat_vec.ll
    M llvm/test/CodeGen/AArch64/tbl-loops.ll
    M llvm/test/CodeGen/AArch64/trunc-to-tbl.ll
    M llvm/test/CodeGen/AArch64/uadd_sat_vec.ll
    M llvm/test/CodeGen/AArch64/usub_sat_vec.ll
    M llvm/test/CodeGen/AArch64/vcvt-oversize.ll
    M llvm/test/CodeGen/AArch64/vec-combine-compare-truncate-store.ll
    M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll

  Log Message:
  -----------
  [AArch64] Improve lowering of truncating uzp1 (#82457)

There were two existing patterns:
    `concat_vectors(trunc(x), trunc(y)) -> uzp1(x, y)`
`concat_vectors(assertzext(trunc(x)), assertzext(trunc(y))) -> uzp1(x,
y)`

Move them into a class and add the following `assertsext` pattern to it:
`concat_vectors(assertsext(trunc(x)), assertsext(trunc(y))) -> uzp1(x,
y)`

Add the following transform for v8i8 and v4i16 result types to help with
pattern matching:
  `truncating uzp1(x, y) -> trunc(concat(x, y))`
And a pattern to go with it:
  `trunc(concat_vectors(x, y)) -> uzp1 (x, y)`

Add another isel pattern for v8i8 and v4i16 result vector types, similar
to
the existing concat pattern, but with a trunc node in the begining:
`trunc(concat_vectors(assertext_trunc(x), assertext_trunc(y))) ->
xtn(uzp1(x, y))`


  Commit: f1015d1701d86c4e640cdbfd1928a958aea921d6
      https://github.com/llvm/llvm-project/commit/f1015d1701d86c4e640cdbfd1928a958aea921d6
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp

  Log Message:
  -----------
  [VPlan] Use VPBuilder to create ActiveLaneMask (NFC).


  Commit: 8a8ef1cacfcd7745d2b6ad00431e6fa9ab9a2fb4
      https://github.com/llvm/llvm-project/commit/8a8ef1cacfcd7745d2b6ad00431e6fa9ab9a2fb4
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendAction.cpp
    A flang/test/Driver/cuda-option.f90

  Log Message:
  -----------
  [flang][cuda] Enable cuda with -x cuda option (#84944)

Flang driver was already able to enable the CUDA language feature base
on the file extension but there was no command line option. This PR adds
one.


  Commit: 5facb406e6417987ac5dfabd8f04510d7bc3fbc6
      https://github.com/llvm/llvm-project/commit/5facb406e6417987ac5dfabd8f04510d7bc3fbc6
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M libc/docs/gpu/support.rst

  Log Message:
  -----------
  [libc][docs] document gpu support for stdbit.h (#85103)

Via:
https://github.com/llvm/llvm-project/pull/84938#issuecomment-1992120095

---------

Co-authored-by: Joseph Huber <huberjn at outlook.com>


  Commit: bb893fa23f6c851d957d82e14bc1aa6fbbffcaaa
      https://github.com/llvm/llvm-project/commit/bb893fa23f6c851d957d82e14bc1aa6fbbffcaaa
  Author: Christian Sigg <chsigg at users.noreply.github.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M mlir/test/Transforms/inlining-threshold.mlir

  Log Message:
  -----------
  [mlir] Fix inlining-threshold.mlir test for NDEBUG builds.


  Commit: ccd16085f70105d457f052543d731dd51089945b
      https://github.com/llvm/llvm-project/commit/ccd16085f70105d457f052543d731dd51089945b
  Author: Bhuminjay Soni <Soni5Happy at gmail.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/test/Sema/attr-cleanup.c

  Log Message:
  -----------
  Diagnose misuse of the cleanup attribute (#80040)

This pull request fixes #79443 when the cleanup attribute is intended to
be applied to a variable declaration, passing its address to a specified
function. The problem arises when standard functions like free,
closedir, fclose, etc., are used incorrectly with this attribute,
leading to incorrect behavior.

Fixes #79443


  Commit: 69afb9d7875d79fdacaaa2f22b5ee3a06faf5373
      https://github.com/llvm/llvm-project/commit/69afb9d7875d79fdacaaa2f22b5ee3a06faf5373
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaExpr.cpp
    A clang/test/CodeGen/complex-math-mixed.c
    M clang/test/CodeGen/volatile.cpp
    A clang/test/Sema/complex-arithmetic.c

  Log Message:
  -----------
  [Clang] [Sema] Fix bug in `_Complex float`+`int` arithmetic (#83063)

C23 6.3.1.8 ‘Usual arithmetic conversions’ p1 states (emphasis mine): 
> Otherwise, if the corresponding real type of either operand is
`float`, the other operand is converted, *without change of type
domain*, to a type whose corresponding real type is `float`.

‘type domain’ here refers to `_Complex` vs real (i.e. non-`_Complex`);
there is another clause that states the same for `double`.

Consider the following code:
```c++
_Complex float f;
int x;
f / x;
```

After talking this over with @AaronBallman, we came to the conclusion
that `x` should be converted to `float` and *not* `_Complex float` (that
is, we should perform a division of `_Complex float / float`, and *not*
`_Complex float / _Complex float`; the same also applies to `-+*`). This
was already being done correctly for cases where `x` was already a
`float`; it’s just mixed `_Complex float`+`int` operations that
currently suffer from this problem.

This pr removes the extra `FloatingRealToComplex` conversion that we
were erroneously inserting and adds some tests to make sure we’re
actually doing `_Complex float / float` and not `_Complex float /
_Complex float` (and analogously for `double` and `-+*`).

The only exception here is `float / _Complex float`, which calls a
library function (`__divsc3`) that takes 4 `float`s, so we end up having
to convert the `float` to a `_Complex float` after all (and analogously
for `double`); I don’t believe there is a way around this.

Lastly, we were also missing tests for `_Complex` arithmetic at compile
time, so this adds some tests for that as well.


  Commit: 360da83858655ad8297f3c0467c8c97ebedab5ed
      https://github.com/llvm/llvm-project/commit/360da83858655ad8297f3c0467c8c97ebedab5ed
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
    M llvm/include/llvm/IR/BasicBlock.h
    M llvm/include/llvm/IR/DebugProgramInstruction.h
    M llvm/include/llvm/IR/Instruction.h
    M llvm/include/llvm/IR/PassManager.h
    M llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp
    M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/MIRPrinter.cpp
    M llvm/lib/CodeGen/SelectOptimize.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/IR/DebugProgramInstruction.cpp
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/IR/LLVMContextImpl.cpp
    M llvm/lib/IR/LLVMContextImpl.h
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Utils/ValueMapper.cpp
    M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
    M llvm/unittests/IR/DebugInfoTest.cpp
    M llvm/unittests/Transforms/Utils/DebugifyTest.cpp

  Log Message:
  -----------
  [RemoveDI][NFC] Rename DPValue->DbgRecord in comments and varnames (#84939)

This patch continues the ongoing rename work, replacing DPValue with
DbgRecord in comments and the names of variables, both members and
fn-local. This is the most labour-intensive part of the rename, as it is
where the most decisions have to be made about whether a given comment
or variable is referring to DPValues (equivalent to debug variable
intrinsics) or DbgRecords (a catch-all for all debug intrinsics); these
decisions are not individually difficult, but comprise a fairly large
amount of text to review.

This patch still largely performs basic string substitutions followed by
clang-format; there are almost* no places where, for example, a comment
has been expanded or modified to reflect the semantic difference between
DPValues and DbgRecords. I don't believe such a change is generally
necessary in LLVM, but it may be useful in the docs, and so I'll be
submitting docs changes as a separate patch.

*In a few places, `dbg.values` was replaced with `debug intrinsics`.


  Commit: e703c735df1257022bcb6ca9de857e20e671392f
      https://github.com/llvm/llvm-project/commit/e703c735df1257022bcb6ca9de857e20e671392f
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/DSInstructions.td

  Log Message:
  -----------
  AMDGPU: Remove incorrect uses of SubtaretPredicate around DS_Reals (#85001)

SubtargetPredicate is copied from DS_Pseudo to DS_Real. We should not
use another SubtargetPredicate assignment around DS_Real, because doing
so will override the predicate from DS_Pseudo.

For example, for DS_ADD_RTN_F64, SubtargetPredicate was set to
HasLdsAtomicAddF64 in Pseudo. And it will be overridden to isGFX90APlus
if we assign isGFX90APlus to SubtargetPredicate in Real definition.


  Commit: 3b2694853e361d2221ec8071f815d9f5eef35b9b
      https://github.com/llvm/llvm-project/commit/3b2694853e361d2221ec8071f815d9f5eef35b9b
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M mlir/test/Dialect/Linalg/transform-op-matmul-to-outerproduct.mlir

  Log Message:
  -----------
  [mlir][nfc] Update Linalg matmul -> Vector OP test (#81416)

Updates "transform-op-matmul-to-outerproduct.mlir". Summary:
  * refines TD sequence so that it's easier to reason about the
     compilation pipeline (e.g.
     `transform.structured.vectorize_children_and_apply_patterns`
     is replaced with`transform.structured.vectorize `),
  * new input dims to be able to distinguish parallel from reduction
    dims,
  * updates LIT variable names (makes the output easier to follow),
  * removes "noise" from the expected LIT output (e.g. types).

These Linalg -> Vector tests using Transform Dialect are great reference
points for constructing lowering pipelines. This simplification +
clean-up will hopefully make it easier to follow.


  Commit: 79cd2c0bb9acb4685094d6b3bf21c758aa51d3df
      https://github.com/llvm/llvm-project/commit/79cd2c0bb9acb4685094d6b3bf21c758aa51d3df
  Author: Nadeem, Usman <mnadeem at quicinc.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/bitcast.ll
    M llvm/test/CodeGen/AArch64/shufflevector.ll

  Log Message:
  -----------
  [AArch64] Fix tests after PR82457

Change-Id: I44a7e4a10af750b3339d6564c6ce6c2e5c17778e


  Commit: bf00730f1459b68d8c6722c912bdd6517985c766
      https://github.com/llvm/llvm-project/commit/bf00730f1459b68d8c6722c912bdd6517985c766
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/docs/UsersManual.rst
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticFrontendKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/LangOptions.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Frontend/FrontendActions.h
    M clang/include/clang/InstallAPI/FrontendRecords.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/Basic/Targets/BPF.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/Targets/PPC.cpp
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaModule.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Serialization/GeneratePCH.cpp
    M clang/lib/StaticAnalyzer/Core/CheckerContext.cpp
    M clang/test/CXX/module/dcl.dcl/dcl.module/dcl.module.interface/p1.cppm
    A clang/test/CodeGen/PowerPC/toc-data-attribute.c
    A clang/test/CodeGen/PowerPC/toc-data-attribute.cpp
    A clang/test/CodeGen/PowerPC/toc-data-diagnostics.c
    A clang/test/CodeGen/PowerPC/toc-data-structs-arrays.cpp
    A clang/test/CodeGen/complex-math-mixed.c
    M clang/test/CodeGen/const-init.c
    M clang/test/CodeGen/volatile.cpp
    A clang/test/Driver/toc-conf.c
    A clang/test/Driver/tocdata-cc1.c
    R clang/test/Modules/missing-module-declaration.cppm
    M clang/test/Modules/pr72828.cppm
    M clang/test/Preprocessor/bpf-predefined-macros.c
    M clang/test/Sema/attr-cleanup.c
    A clang/test/Sema/complex-arithmetic.c
    A clang/test/Sema/const-init.c
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
    A clang/test/SemaTemplate/PR25708.cpp
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp
    M clang/unittests/Interpreter/InterpreterExtensionsTest.cpp
    M clang/unittests/StaticAnalyzer/CMakeLists.txt
    A clang/unittests/StaticAnalyzer/IsCLibraryFunctionTest.cpp
    M compiler-rt/lib/fuzzer/FuzzerUtilLinux.cpp
    M compiler-rt/lib/hwasan/hwasan_interceptors.cpp
    M compiler-rt/lib/interception/interception.h
    M compiler-rt/lib/lsan/lsan_interceptors.cpp
    M compiler-rt/lib/msan/msan_interceptors.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_asm.h
    M compiler-rt/lib/sanitizer_common/sanitizer_procmaps_bsd.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_procmaps_common.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_report.cpp
    M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
    M compiler-rt/test/lit.common.cfg.py
    A compiler-rt/test/sanitizer_common/TestCases/Linux/static-link.c
    M compiler-rt/test/tsan/compare_exchange_acquire_fence.cpp
    M compiler-rt/test/tsan/getline_nohang.cpp
    M cross-project-tests/debuginfo-tests/llgdb-tests/forward-declare-class.cpp
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendAction.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.h
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/runtime/Float128Math/CMakeLists.txt
    A flang/runtime/Float128Math/fma.cpp
    M flang/runtime/Float128Math/math-entries.h
    A flang/runtime/Float128Math/random.cpp
    A flang/runtime/random-templates.h
    M flang/runtime/random.cpp
    A flang/test/Driver/cuda-option.f90
    A flang/test/Lower/Intrinsics/fma_real16.f90
    M flang/test/Lower/Intrinsics/modulo.f90
    A flang/test/Lower/Intrinsics/random_number_real16.f90
    A flang/test/Lower/OpenMP/FIR/parallel-reduction-add-byref.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-add-byref.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand-byref.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor-byref.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior-byref.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv-byref.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv-byref.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-max-byref.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-min-byref.f90
    A flang/test/Lower/OpenMP/default-clause-byref.f90
    A flang/test/Lower/OpenMP/delayed-privatization-reduction-byref.f90
    A flang/test/Lower/OpenMP/parallel-reduction-add-byref.f90
    A flang/test/Lower/OpenMP/parallel-reduction-byref.f90
    A flang/test/Lower/OpenMP/parallel-wsloop-reduction-byref.f90
    A flang/test/Lower/OpenMP/use-device-ptr-to-use-device-addr.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-max-2-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
    M flang/test/Semantics/OpenMP/use_device_ptr1.f90
    M libc/config/baremetal/api.td
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/arm/headers.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/baremetal/riscv/headers.txt
    M libc/config/gpu/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/gpu/support.rst
    M libc/docs/math/index.rst
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-macros/math-macros.h
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/mbstate_t.h
    A libc/include/uchar.h.def
    M libc/spec/posix.td
    M libc/spec/spec.td
    M libc/spec/stdc.td
    M libc/src/__support/GPU/utils.h
    M libc/src/math/CMakeLists.txt
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/nextafterf128.cpp
    A libc/src/math/nextafterf128.h
    M libc/test/src/math/CMakeLists.txt
    A libc/test/src/math/nextafterf128_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/nextafterf128_test.cpp
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/include/variant
    M libcxx/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp
    M libcxx/test/std/utilities/variant/variant.variant/variant.assign/conv.pass.cpp
    M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp
    M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/conv.pass.cpp
    M libcxx/test/support/variant_test_helpers.h
    M lldb/source/Expression/IRExecutionUnit.cpp
    M lldb/test/API/functionalities/fork/concurrent_vfork/TestConcurrentVFork.py
    M lldb/test/API/python_api/run_locker/TestRunLocker.py
    M lldb/tools/debugserver/source/MacOSX/MachProcess.mm
    M llvm/cmake/modules/AddLLVM.cmake
    M llvm/docs/AMDGPUUsage.rst
    M llvm/docs/CommandGuide/llvm-ar.rst
    M llvm/docs/GlobalISel/GenericOpcode.rst
    M llvm/docs/LangRef.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/ADT/STLExtras.h
    M llvm/include/llvm/CodeGen/AccelTable.h
    M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
    M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
    M llvm/include/llvm/CodeGen/SDPatternMatch.h
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/include/llvm/IR/BasicBlock.h
    M llvm/include/llvm/IR/DebugProgramInstruction.h
    M llvm/include/llvm/IR/Instruction.h
    M llvm/include/llvm/IR/PassManager.h
    M llvm/include/llvm/ObjCopy/CommonConfig.h
    M llvm/include/llvm/Object/Archive.h
    M llvm/include/llvm/Support/TargetOpcodes.def
    M llvm/include/llvm/Target/GenericOpcodes.td
    M llvm/include/llvm/Transforms/Scalar/Float2Int.h
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp
    M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp
    M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
    M llvm/lib/CodeGen/MIRPrinter.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/CodeGen/SelectOptimize.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SjLjEHPrepare.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/FuzzMutate/OpDescriptor.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/IR/DebugProgramInstruction.cpp
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/IR/LLVMContextImpl.cpp
    M llvm/lib/IR/LLVMContextImpl.h
    M llvm/lib/MC/MCSectionXCOFF.cpp
    M llvm/lib/Object/Archive.cpp
    M llvm/lib/Object/ArchiveWriter.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
    M llvm/lib/Target/AMDGPU/BUFInstructions.td
    M llvm/lib/Target/AMDGPU/DSInstructions.td
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/BPF/AsmParser/BPFAsmParser.cpp
    M llvm/lib/Target/BPF/BPF.h
    A llvm/lib/Target/BPF/BPFASpaceCastSimplifyPass.cpp
    M llvm/lib/Target/BPF/BPFCheckAndAdjustIR.cpp
    M llvm/lib/Target/BPF/BPFInstrInfo.td
    M llvm/lib/Target/BPF/BPFTargetMachine.cpp
    M llvm/lib/Target/BPF/CMakeLists.txt
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.h
    M llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
    M llvm/lib/Target/PowerPC/GISel/PPCInstructionSelector.cpp
    M llvm/lib/Target/PowerPC/P10InstrResources.td
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    M llvm/lib/Target/PowerPC/PPCBack2BackFusion.def
    M llvm/lib/Target/PowerPC/PPCFastISel.cpp
    M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
    M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/PowerPC/PPCMacroFusion.def
    M llvm/lib/Target/PowerPC/PPCSubtarget.cpp
    M llvm/lib/Target/PowerPC/PPCSubtarget.h
    M llvm/lib/Target/PowerPC/PPCTOCRegDeps.cpp
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    M llvm/lib/TargetParser/Host.cpp
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Scalar/Float2Int.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Utils/ValueMapper.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    A llvm/test/Analysis/Lint/crash_empty_iterator.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    M llvm/test/CodeGen/AArch64/arm64-convert-v4f64.ll
    M llvm/test/CodeGen/AArch64/bitcast.ll
    M llvm/test/CodeGen/AArch64/extbinopload.ll
    M llvm/test/CodeGen/AArch64/fold-global-offsets.ll
    M llvm/test/CodeGen/AArch64/fp-conversion-to-tbl.ll
    M llvm/test/CodeGen/AArch64/fptoi.ll
    M llvm/test/CodeGen/AArch64/neon-truncstore.ll
    M llvm/test/CodeGen/AArch64/sadd_sat_vec.ll
    M llvm/test/CodeGen/AArch64/shuffle-tbl34.ll
    M llvm/test/CodeGen/AArch64/shufflevector.ll
    A llvm/test/CodeGen/AArch64/sme-write-vg.ll
    M llvm/test/CodeGen/AArch64/ssub_sat_vec.ll
    M llvm/test/CodeGen/AArch64/tbl-loops.ll
    M llvm/test/CodeGen/AArch64/trunc-to-tbl.ll
    M llvm/test/CodeGen/AArch64/uadd_sat_vec.ll
    M llvm/test/CodeGen/AArch64/usub_sat_vec.ll
    M llvm/test/CodeGen/AArch64/vcvt-oversize.ll
    M llvm/test/CodeGen/AArch64/vec-combine-compare-truncate-store.ll
    M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll
    M llvm/test/CodeGen/AArch64/xor.ll
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/clamp.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize-elimination.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize.ll
    M llvm/test/CodeGen/AMDGPU/fneg-combines.f16.ll
    M llvm/test/CodeGen/AMDGPU/fneg-combines.new.ll
    M llvm/test/CodeGen/AMDGPU/llvm.maxnum.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.minnum.f16.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix-lo.ll
    A llvm/test/CodeGen/BPF/addr-space-auto-casts.ll
    A llvm/test/CodeGen/BPF/addr-space-cast.ll
    A llvm/test/CodeGen/BPF/addr-space-gep-chain.ll
    A llvm/test/CodeGen/BPF/addr-space-globals.ll
    A llvm/test/CodeGen/BPF/addr-space-globals2.ll
    A llvm/test/CodeGen/BPF/addr-space-phi.ll
    A llvm/test/CodeGen/BPF/addr-space-simplify-1.ll
    A llvm/test/CodeGen/BPF/addr-space-simplify-2.ll
    A llvm/test/CodeGen/BPF/addr-space-simplify-3.ll
    A llvm/test/CodeGen/BPF/addr-space-simplify-4.ll
    A llvm/test/CodeGen/BPF/addr-space-simplify-5.ll
    M llvm/test/CodeGen/BPF/assembler-disassembler.s
    M llvm/test/CodeGen/Hexagon/addrmode-immop.mir
    M llvm/test/CodeGen/LoongArch/lasx/intrinsic-permi.ll
    M llvm/test/CodeGen/NVPTX/b52037.ll
    M llvm/test/CodeGen/PowerPC/remove-copy-crunsetcrbit.mir
    A llvm/test/CodeGen/PowerPC/toc-data-large-array.ll
    A llvm/test/CodeGen/PowerPC/toc-data-large-array2.ll
    A llvm/test/CodeGen/PowerPC/toc-data-struct-array.ll
    M llvm/test/CodeGen/SPIRV/ComparePointers.ll
    M llvm/test/CodeGen/SPIRV/capability-kernel.ll
    M llvm/test/CodeGen/SPIRV/pointers/getelementptr-addressspace.ll
    M llvm/test/CodeGen/SPIRV/pointers/getelementptr-base-type.ll
    M llvm/test/CodeGen/SPIRV/pointers/kernel-argument-pointer-addressspace.ll
    M llvm/test/CodeGen/SPIRV/pointers/kernel-argument-pointer-type-deduction-no-bitcast-to-generic.ll
    M llvm/test/CodeGen/SPIRV/pointers/kernel-argument-pointer-type.ll
    M llvm/test/CodeGen/SPIRV/pointers/load-addressspace.ll
    M llvm/test/CodeGen/SPIRV/pointers/store-operand-ptr-to-struct.ll
    M llvm/test/CodeGen/SPIRV/pointers/struct-opaque-pointers.ll
    M llvm/test/CodeGen/SPIRV/pointers/two-bitcast-or-param-users.ll
    M llvm/test/CodeGen/SPIRV/pointers/two-subsequent-bitcasts.ll
    A llvm/test/CodeGen/SPIRV/pointers/type-deduce-by-call-rev.ll
    A llvm/test/CodeGen/SPIRV/pointers/type-deduce-by-call.ll
    A llvm/test/CodeGen/SPIRV/pointers/typeof-ptr-int.ll
    M llvm/test/CodeGen/SPIRV/relationals.ll
    M llvm/test/CodeGen/SPIRV/simple.ll
    M llvm/test/CodeGen/SPIRV/transcoding/AtomicCompareExchangeExplicit_cl20.ll
    M llvm/test/CodeGen/SPIRV/transcoding/BitReversePref.ll
    M llvm/test/CodeGen/SPIRV/transcoding/BuildNDRange.ll
    M llvm/test/CodeGen/SPIRV/transcoding/BuildNDRange_2.ll
    M llvm/test/CodeGen/SPIRV/transcoding/ConvertPtr.ll
    M llvm/test/CodeGen/SPIRV/transcoding/DecorationAlignment.ll
    M llvm/test/CodeGen/SPIRV/transcoding/DecorationMaxByteOffset.ll
    M llvm/test/CodeGen/SPIRV/transcoding/DivRem.ll
    M llvm/test/CodeGen/SPIRV/transcoding/ExecutionMode_SPIR_to_SPIRV.ll
    M llvm/test/CodeGen/SPIRV/transcoding/GlobalFunAnnotate.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpenCL/atomic_cmpxchg.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpenCL/atomic_legacy.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpenCL/atomic_work_item_fence.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpenCL/barrier.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpenCL/sub_group_mask.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpenCL/work_group_barrier.ll
    M llvm/test/CodeGen/SPIRV/transcoding/atomic_flag.ll
    M llvm/test/CodeGen/SPIRV/transcoding/atomic_load_store.ll
    M llvm/test/CodeGen/SPIRV/transcoding/bitcast.ll
    M llvm/test/CodeGen/SPIRV/transcoding/block_w_struct_return.ll
    M llvm/test/CodeGen/SPIRV/transcoding/builtin_calls.ll
    M llvm/test/CodeGen/SPIRV/transcoding/builtin_vars.ll
    M llvm/test/CodeGen/SPIRV/transcoding/builtin_vars_arithmetics.ll
    M llvm/test/CodeGen/SPIRV/transcoding/builtin_vars_opt.ll
    M llvm/test/CodeGen/SPIRV/transcoding/check_ro_qualifier.ll
    M llvm/test/CodeGen/SPIRV/transcoding/cl-types.ll
    M llvm/test/CodeGen/SPIRV/transcoding/clk_event_t.ll
    M llvm/test/CodeGen/SPIRV/transcoding/enqueue_kernel.ll
    M llvm/test/CodeGen/SPIRV/transcoding/explicit-conversions.ll
    M llvm/test/CodeGen/SPIRV/transcoding/extract_insert_value.ll
    M llvm/test/CodeGen/SPIRV/transcoding/fadd.ll
    M llvm/test/CodeGen/SPIRV/transcoding/fclamp.ll
    M llvm/test/CodeGen/SPIRV/transcoding/fcmp.ll
    M llvm/test/CodeGen/SPIRV/transcoding/fdiv.ll
    M llvm/test/CodeGen/SPIRV/transcoding/fmod.ll
    M llvm/test/CodeGen/SPIRV/transcoding/fmul.ll
    M llvm/test/CodeGen/SPIRV/transcoding/fneg.ll
    M llvm/test/CodeGen/SPIRV/transcoding/fp_contract_reassoc_fast_mode.ll
    M llvm/test/CodeGen/SPIRV/transcoding/frem.ll
    M llvm/test/CodeGen/SPIRV/transcoding/fsub.ll
    M llvm/test/CodeGen/SPIRV/transcoding/get_image_num_mip_levels.ll
    M llvm/test/CodeGen/SPIRV/transcoding/global_block.ll
    M llvm/test/CodeGen/SPIRV/transcoding/group_ops.ll
    M llvm/test/CodeGen/SPIRV/transcoding/isequal.ll
    M llvm/test/CodeGen/SPIRV/transcoding/relationals_double.ll
    M llvm/test/CodeGen/SPIRV/transcoding/relationals_float.ll
    M llvm/test/CodeGen/SPIRV/transcoding/relationals_half.ll
    M llvm/test/CodeGen/WinCFGuard/cfguard-mingw.ll
    M llvm/test/CodeGen/X86/tls-align.ll
    M llvm/test/DebugInfo/X86/tu-to-non-tu.ll
    M llvm/test/MC/AMDGPU/gfx12_asm_vbuffer_mubuf.s
    A llvm/test/MachineVerifier/test_g_vscale.mir
    M llvm/test/ThinLTO/X86/Inputs/devirt_single_hybrid_bar.ll
    M llvm/test/ThinLTO/X86/devirt_after_filtering_unreachable.ll
    M llvm/test/ThinLTO/X86/devirt_external_comdat_same_guid.ll
    M llvm/test/ThinLTO/X86/devirt_local_same_guid.ll
    M llvm/test/ThinLTO/X86/lower_type_test_phi.ll
    M llvm/test/ThinLTO/X86/nodevirt-nonpromoted-typeid.ll
    M llvm/test/ThinLTO/X86/type_test_noindircall.ll
    M llvm/test/Transforms/Float2Int/basic.ll
    A llvm/test/Transforms/InstCombine/shift-cttz-ctlz.ll
    M llvm/test/Transforms/InstCombine/zext.ll
    M llvm/test/Transforms/LoopVectorize/dbg-outer-loop-vect.ll
    A llvm/test/Transforms/SLPVectorizer/X86/same-scalar-in-same-phi-extract.ll
    A llvm/test/tools/llvm-ar/coff-symtab.test
    A llvm/test/tools/llvm-ar/no-symtab.yaml
    M llvm/test/tools/llvm-objcopy/ELF/compress-debug-sections-zstd.test
    M llvm/tools/llvm-ar/llvm-ar.cpp
    M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
    M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
    M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
    M llvm/unittests/IR/DebugInfoTest.cpp
    M llvm/unittests/Transforms/Utils/CallPromotionUtilsTest.cpp
    M llvm/unittests/Transforms/Utils/DebugifyTest.cpp
    M llvm/utils/TableGen/DecoderEmitter.cpp
    M llvm/utils/gn/secondary/clang/unittests/StaticAnalyzer/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/BPF/BUILD.gn
    M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
    M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
    M mlir/include/mlir/Transforms/Inliner.h
    M mlir/include/mlir/Transforms/Passes.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/BufferizableOpInterfaceImpl.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseReinterpretMap.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/lib/Transforms/InlinerPass.cpp
    M mlir/lib/Transforms/Utils/Inliner.cpp
    M mlir/test/Conversion/TensorToLinalg/tensor-ops-to-linalg.mlir
    M mlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir
    M mlir/test/Dialect/Linalg/generalize-pad-tensor.mlir
    M mlir/test/Dialect/Linalg/transform-op-matmul-to-outerproduct.mlir
    M mlir/test/Dialect/SparseTensor/codegen.mlir
    M mlir/test/Dialect/SparseTensor/constant_index_map.mlir
    M mlir/test/Dialect/SparseTensor/conversion.mlir
    M mlir/test/Dialect/SparseTensor/invalid.mlir
    M mlir/test/Dialect/SparseTensor/roundtrip.mlir
    M mlir/test/Dialect/SparseTensor/sparse_2d.mlir
    M mlir/test/Dialect/SparseTensor/sparse_broadcast.mlir
    M mlir/test/Dialect/SparseTensor/sparse_conv_2d_slice_based.mlir
    M mlir/test/Dialect/SparseTensor/sparse_fp_ops.mlir
    M mlir/test/Dialect/SparseTensor/sparse_index.mlir
    M mlir/test/Dialect/SparseTensor/sparse_out.mlir
    M mlir/test/Dialect/SparseTensor/sparse_reinterpret_map.mlir
    M mlir/test/Dialect/SparseTensor/sparse_reshape.mlir
    M mlir/test/Dialect/SparseTensor/sparse_tensor_reshape.mlir
    M mlir/test/Dialect/SparseTensor/sparse_transpose.mlir
    M mlir/test/IR/custom-print-parse.mlir
    M mlir/test/IR/invalid-custom-print-parse.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_block.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_dyn.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_element.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_ptr.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_sparse2dense.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_sparse2sparse.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_coo_test.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_dilated_conv_2d_nhwc_hwcf.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_dot.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_expand.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_expand_shape.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_filter_conv2d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_flatten.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_foreach_slices.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_generate.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_index.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_index_dense.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_insert_1d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_insert_2d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_insert_3d.mlir
    A mlir/test/Target/LLVMIR/openmp-reduction-byref.mlir
    M mlir/test/Target/LLVMIR/rocdl.mlir
    M mlir/test/Transforms/inlining-dump-default-pipeline.mlir
    A mlir/test/Transforms/inlining-threshold.mlir
    M mlir/test/lib/Dialect/Test/TestDialect.cpp
    M mlir/test/lib/Dialect/Test/TestOps.td
    M mlir/test/mlir-tblgen/attr-or-type-format.td
    M mlir/test/mlir-tblgen/op-format.td
    M mlir/tools/mlir-tblgen/AttrOrTypeFormatGen.cpp
    M mlir/tools/mlir-tblgen/OpFormatGen.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel

  Log Message:
  -----------
  fix test

Created using spr 1.3.5-bogner


Compare: https://github.com/llvm/llvm-project/compare/c8844ac198f9...bf00730f1459

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