[all-commits] [llvm/llvm-project] 2fa46c: [workflows] Update the version of the scorecard-ac...

Alexey Bataev via All-commits all-commits at lists.llvm.org
Thu Mar 28 08:00:19 PDT 2024


  Branch: refs/heads/users/alexey-bataev/spr/slpimprove-minbitwidth-analysis-for-operands-of-itofp-and-icmp
  Home:   https://github.com/llvm/llvm-project
  Commit: 2fa46ca922178ec049006a1b4851058400cbada9
      https://github.com/llvm/llvm-project/commit/2fa46ca922178ec049006a1b4851058400cbada9
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M .github/workflows/scorecard.yml

  Log Message:
  -----------
  [workflows] Update the version of the scorecard-action (#86753)

I'm hoping this will fix the errors we've been seeing the last few days:

2024-03-19T20:44:07.4841482Z 2024/03/19 20:44:07 error signing scorecard
json results: error signing payload: getting key from Fulcio: verifying
SCT: updating local metadata and targets: error updating to TUF remote
mirror: invalid key


  Commit: 6e6d266fb8cc1398e7d5a220a9332d88ce074464
      https://github.com/llvm/llvm-project/commit/6e6d266fb8cc1398e7d5a220a9332d88ce074464
  Author: zibi2 <62662650+zibi2 at users.noreply.github.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturate_cast.pass.cpp

  Log Message:
  -----------
  [libc++] Fix one case in saturate_cast.pass.cpp for 64-bit on z/OS (#86724)

On z/OS int128 is disabled causing one of the cases in
`saturate_cast.pass.cpp` to fail. The failure is only in 64-bit mode.
In this case `the std::numeric_limits<long long int>::max()` is within
`std::numeric_limits<unsigned long int>::min()`
and `std::numeric_limits<unsigned long int>::max()` therefore,
saturate_cast<unsigned long int>( sBigMax) == LONG_MAX and not ULONG_MAX
as original test.

In 32-bit, `saturate_cast<unsigned long int>( sBigMax) == ULONG_MAX`
like on other platforms where int128 is enabled.

This PR is required to pass this test case on z/OS and possibly on other
platforms where int128 is not supported/enabled.

---------

Co-authored-by: Sean Perry <perry at ca.ibm.com>


  Commit: 2cb7ea1553a5c7be81bee4ed3c51b7727b9d2ee8
      https://github.com/llvm/llvm-project/commit/2cb7ea1553a5c7be81bee4ed3c51b7727b9d2ee8
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M lldb/source/Target/StackFrame.cpp

  Log Message:
  -----------
  [lldb][nfc] Delete unused variable (#86740)

This was made unused by d9ec4b24a84addb8bd77b5d9dd990181351cf84c.


  Commit: f5296df97c6bdc6cb658691e5863fdbf336d4430
      https://github.com/llvm/llvm-project/commit/f5296df97c6bdc6cb658691e5863fdbf336d4430
  Author: Kevin P. Neal <52762977+kpneal at users.noreply.github.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

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

  Log Message:
  -----------
  [FPEnv][AMDGPU] Correct AMDGPUSimplifyLibCalls handling of strictfp attribute. (#86705)

The AMDGPUSimplifyLibCalls pass was lowering function calls with the
strictfp attribute to sequences that included function calls incorrectly
lacking the attribute. This patch corrects that.

The pass now also emits the correct constrained fp call instead of
normal FP instructions when in a function with the strictfp attribute.
Replacing non-constrained calls with constrained calls when required
is still on the IRBuilder's TODO list.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/phi-node-bitwidt-op-not.ll

  Log Message:
  -----------
  [SLP]Fix PR86798: handle phi nodes being trunced, but not its operands.

If the phi node is trunced, but not its operand(s), need to handle this
situation in the assertion, code already does the right transformation.


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaConcept.cpp
    M clang/test/SemaTemplate/concepts.cpp

  Log Message:
  -----------
  [clang] Fix an out-of-bound crash when checking template partial specializations. (#86794)

I found this issue (a separate one) during the investigation of #86757,
the crash is similar in substituteParameterMappings, but at different
inner places.

This was an out-of-bound issue where we access front element in an empty
written template argument list to get the instantiation source range.
This patch fixes it by adding a proper guard.


  Commit: 9f84594e4ef87a50d1599814ba99fb735da76826
      https://github.com/llvm/llvm-project/commit/9f84594e4ef87a50d1599814ba99fb735da76826
  Author: Zequan Wu <zequanwu at google.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp

  Log Message:
  -----------
  [lldb][Dwarf] Add missing timer when parsing .debug_abbrev. (#86568)

The time spent on parsing `.debug_abbrev` is also part of debug info
parsing time.


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/extractelement-load.ll
    M llvm/test/CodeGen/X86/masked_store.ll
    M llvm/test/CodeGen/X86/shrink_vmul.ll

  Log Message:
  -----------
  [X86] combineExtractWithShuffle - use combineExtractFromVectorLoad to extract scalar load from shuffled vector load

Improves #85419


  Commit: 91896607ffb84561a7a2e466a00fdf1938c5bb63
      https://github.com/llvm/llvm-project/commit/91896607ffb84561a7a2e466a00fdf1938c5bb63
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M clang/include/clang-c/Index.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/Specifiers.h
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/Basic/Targets/RISCV.cpp
    M clang/lib/Basic/Targets/RISCV.h
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaType.cpp
    A clang/test/CodeGen/RISCV/riscv-vector-callingconv-llvm-ir.c
    A clang/test/CodeGen/RISCV/riscv-vector-callingconv-llvm-ir.cpp
    A clang/test/CodeGen/RISCV/riscv-vector-callingconv.c
    A clang/test/CodeGen/RISCV/riscv-vector-callingconv.cpp
    M clang/tools/libclang/CXType.cpp
    M llvm/include/llvm/AsmParser/LLToken.h
    M llvm/include/llvm/BinaryFormat/Dwarf.def
    M llvm/include/llvm/IR/CallingConv.h
    M llvm/lib/AsmParser/LLLexer.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/Target/RISCV/RISCVCallingConv.td
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
    A llvm/test/CodeGen/RISCV/rvv/callee-saved-regs.ll

  Log Message:
  -----------
  [RISCV] RISCV vector calling convention (1/2) (#77560)

    [RISCV] RISCV vector calling convention (1/2)

    This is the vector calling convention based on
    https://github.com/riscv-non-isa/riscv-elf-psabi-doc,
    the idea is to split between "scalar" callee-saved registers
    and "vector" callee-saved registers. "scalar" ones remain the
    original strategy, however, "vector" ones are handled together
    with RVV objects.

    The stack layout would be:

      |--------------------------| <-- FP
      | callee-allocated save    |
      | area for register varargs|
      |--------------------------|
      | callee-saved registers   | <-- scalar callee-saved
      |        (scalar)          |
      |--------------------------|
      | RVV alignment padding    |
      |--------------------------|
      | callee-saved registers   | <-- vector callee-saved
      |        (vector)          |
      |--------------------------|
      | RVV objects              |
      |--------------------------|
      | padding before RVV       |
      |--------------------------|
      | scalar local variables   |
      |--------------------------| <-- BP
      | variable size objects    |
      |--------------------------| <-- SP

    Note: This patch doesn't contain "tuple" type, e.g. vint32m1x2.
          It will be handled in https://github.com/riscv-non-isa/riscv-elf-psabi-doc (2/2).

    Differential Revision: https://reviews.llvm.org/D154576


  Commit: 58de1e2c5eee548a9b365e3b1554d87317072ad9
      https://github.com/llvm/llvm-project/commit/58de1e2c5eee548a9b365e3b1554d87317072ad9
  Author: Wesley Wiser <wwiser at gmail.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineFrameInfo.h
    M llvm/include/llvm/CodeGen/TargetFrameLowering.h
    M llvm/include/llvm/MC/MCAsmBackend.h
    M llvm/include/llvm/MC/MCDwarf.h
    M llvm/lib/CodeGen/CFIInstrInserter.cpp
    M llvm/lib/CodeGen/MachineFrameInfo.cpp
    M llvm/lib/CodeGen/PrologEpilogInserter.cpp
    M llvm/lib/MC/MCDwarf.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
    M llvm/lib/Target/ARM/ARMFrameLowering.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackendDarwin.h
    M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
    M llvm/lib/Target/MSP430/MSP430FrameLowering.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
    M llvm/lib/Target/X86/X86FrameLowering.cpp
    M llvm/lib/Target/X86/X86FrameLowering.h
    M llvm/lib/Target/X86/X86RegisterInfo.cpp
    M llvm/test/CodeGen/PowerPC/huge-frame-size.ll
    A llvm/test/CodeGen/X86/huge-stack.ll

  Log Message:
  -----------
  Fix stack layout for frames larger than 2gb (#84114)

For very large stack frames, the offset from the stack pointer to a local can be more than 2^31 which overflows various `int` offsets in the frame lowering code.

This patch updates the frame lowering code to calculate the offsets as 64-bit values and resolves the overflows, resulting in the correct codegen for very large frames.

Fixes #48911


  Commit: 13b653ab112736b92cd7f8ef249ced2b148ee7f4
      https://github.com/llvm/llvm-project/commit/13b653ab112736b92cd7f8ef249ced2b148ee7f4
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/CodeGen/RISCV/riscv-func-attr-target-err.c
    M clang/test/CodeGen/RISCV/riscv-func-attr-target.c
    M clang/test/CodeGen/RISCV/rvb-intrinsics/riscv32-zbb-error.c
    M clang/test/CodeGen/RISCV/rvb-intrinsics/riscv64-zbkb-error.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-handcrafted/rvv-error.c
    M clang/utils/TableGen/RISCVVEmitter.cpp

  Log Message:
  -----------
  [clang][RISCV] Enable RVV with function attribute __attribute__((target("arch=+v"))) (#83674)

It is currently not possible to use "RVV type" and "RVV intrinsics" if
the "zve32x" is not enabled globally. However in some cases we may want
to use them only in some functions, for instance:
```
#include <riscv_vector.h>

__attribute__((target("+zve32x")))
vint32m1_t rvv_add(vint32m1_t v1, vint32m1_t v2, size_t vl) {
  return __riscv_vadd(v1, v2, vl);
}

int other_add(int i1, int i2) {
  return i1 + i2;
}
```
, it is supposed to be compilable even the vector is not specified, e.g.
`clang -target riscv64 -march=rv64gc -S test.c`.


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

  Changed paths:
    M libc/src/__support/CPP/bit.h
    M libc/src/__support/UInt.h
    M libc/test/src/__support/CPP/bit_test.cpp
    M libc/test/src/__support/math_extras_test.cpp

  Log Message:
  -----------
  [libc][support][UInt] implement 128b math helpers (#86531)

Flush out the remaining UInt<128> support and add test coverage.

We could have used cpp::popcount in the implementation of
UInt::has_single_bit, but
has_single_bit has a perhaps useful early return.


  Commit: aa2c14de1adcd265bf0c0fb44f97b5d6c1c38710
      https://github.com/llvm/llvm-project/commit/aa2c14de1adcd265bf0c0fb44f97b5d6c1c38710
  Author: Terry Wilmarth <terry.l.wilmarth at intel.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M openmp/runtime/src/kmp_runtime.cpp

  Log Message:
  -----------
  [OpenMP] Close up permissions on /tmp files (#85469)

The SHM or /tmp files that might be created during library registration
don't need to have such open permissions, so this change fixes that.


  Commit: 009f88fc0e3a036be97ef7b222b90af342bae0b7
      https://github.com/llvm/llvm-project/commit/009f88fc0e3a036be97ef7b222b90af342bae0b7
  Author: Yusra Syeda <99052248+ysyeda at users.noreply.github.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Object/GOFF.h
    M llvm/include/llvm/Object/GOFFObjectFile.h
    M llvm/lib/Object/GOFFObjectFile.cpp
    M llvm/unittests/Object/GOFFObjectFileTest.cpp

  Log Message:
  -----------
  [SystemZ][z/OS] TXT records in the GOFF reader (#74526)

This PR adds handling for TXT records in the GOFF reader.

---------

Authored-by: Yusra Syeda <yusra.syeda at ibm.com>


  Commit: c388690a8b96cbdfa8c38a1e050088201da648e5
      https://github.com/llvm/llvm-project/commit/c388690a8b96cbdfa8c38a1e050088201da648e5
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M libcxx/include/__algorithm/copy.h
    M libcxx/include/__algorithm/copy_backward.h
    M libcxx/include/__algorithm/copy_move_common.h
    M libcxx/include/__algorithm/move.h
    M libcxx/include/__algorithm/move_backward.h

  Log Message:
  -----------
  [libc++][NFC] Simplify copy and move lowering to memmove a bit (#83574)

We've introduced `__constexpr_memmove` a while ago, which simplified the
implementation of the copy and move lowering a bit. This allows us to
remove some of the boilerplate.


  Commit: 313bf28f98f714a0bd8f74a3beb4631d94428f89
      https://github.com/llvm/llvm-project/commit/313bf28f98f714a0bd8f74a3beb4631d94428f89
  Author: David Green <david.green at arm.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/Target/ARM/MVETPAndVPTOptimisationsPass.cpp
    M llvm/test/CodeGen/Thumb2/mve-vpt-optimisations.mir

  Log Message:
  -----------
  [ARM][MVE] Remove kill flags when reusing VPR register. (#86300)

The vpr register may no longer be killed where it was, so we should be
removing the kill flags.


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

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineFrameInfo.h
    M llvm/include/llvm/CodeGen/TargetFrameLowering.h
    M llvm/include/llvm/MC/MCAsmBackend.h
    M llvm/include/llvm/MC/MCDwarf.h
    M llvm/lib/CodeGen/CFIInstrInserter.cpp
    M llvm/lib/CodeGen/MachineFrameInfo.cpp
    M llvm/lib/CodeGen/PrologEpilogInserter.cpp
    M llvm/lib/MC/MCDwarf.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
    M llvm/lib/Target/ARM/ARMFrameLowering.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackendDarwin.h
    M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
    M llvm/lib/Target/MSP430/MSP430FrameLowering.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
    M llvm/lib/Target/X86/X86FrameLowering.cpp
    M llvm/lib/Target/X86/X86FrameLowering.h
    M llvm/lib/Target/X86/X86RegisterInfo.cpp
    M llvm/test/CodeGen/PowerPC/huge-frame-size.ll
    R llvm/test/CodeGen/X86/huge-stack.ll

  Log Message:
  -----------
  Revert rG58de1e2c5eee548a9b365e3b1554d87317072ad9 "Fix stack layout for frames larger than 2gb (#84114)"

This is failing on some EXPENSIVE_CHECKS buildbots


  Commit: 77118536b52bf5256eed85f61451d0beb6cf5dc3
      https://github.com/llvm/llvm-project/commit/77118536b52bf5256eed85f61451d0beb6cf5dc3
  Author: Marc Auberer <marc.auberer at chillibits.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M libc/docs/dev/code_style.rst
    M libc/src/__support/CPP/CMakeLists.txt
    M libc/src/__support/CPP/atomic.h
    M libc/src/__support/CPP/bit.h
    M libc/src/__support/CPP/type_traits/add_pointer.h
    M libc/src/__support/CPP/type_traits/decay.h
    M libc/src/__support/CPP/type_traits/is_destructible.h
    M libc/src/__support/CPP/type_traits/is_function.h
    M libc/src/__support/CPP/type_traits/is_lvalue_reference.h
    M libc/src/__support/CPP/type_traits/is_reference.h
    M libc/src/__support/CPP/type_traits/is_rvalue_reference.h
    M libc/src/__support/CPP/type_traits/is_trivially_copyable.h
    M libc/src/__support/CPP/type_traits/is_trivially_destructible.h
    M libc/src/__support/CPP/type_traits/remove_all_extents.h
    M libc/src/__support/FPUtil/CMakeLists.txt
    M libc/src/__support/FPUtil/FEnvImpl.h
    M libc/src/__support/FPUtil/gpu/FMA.h
    M libc/src/__support/macros/config.h
    M libc/src/__support/macros/optimization.h
    M libc/src/__support/macros/sanitizer.h
    M libc/src/__support/math_extras.h
    M libc/src/__support/memory_size.h
    M libc/src/string/memory_utils/generic/builtin.h
    M libc/src/string/memory_utils/utils.h
    M libc/utils/gpu/server/rpc_server.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc] Remove obsolete LIBC_HAS_BUILTIN macro (#86554)

Fixes #86546 and removes the macro `LIBC_HAS_BUILTIN`. This was
necessary to support older compilers that did not support
`__has_builtin`. All of the compilers we support already have this
builtin.
See: https://libc.llvm.org/compiler_support.html
All uses now use `__has_builtin` directly

cc @nickdesaulniers


  Commit: 6a0ec8e25cba9d398cf525889c53835cf40247a3
      https://github.com/llvm/llvm-project/commit/6a0ec8e25cba9d398cf525889c53835cf40247a3
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M lldb/include/lldb/Symbol/UnwindTable.h
    M lldb/source/Core/Module.cpp
    M lldb/source/Symbol/UnwindTable.cpp
    A lldb/test/Shell/SymbolFile/target-symbols-add-unwind.test

  Log Message:
  -----------
  [lldb] Revive shell test after updating UnwindTable (#86770)

In
     commit 2f63718f8567413a1c596bda803663eb58d6da5a
     Author: Jason Molenda <jmolenda at apple.com>
     Date:   Tue Mar 26 09:07:15 2024 -0700

[lldb] Don't clear a Module's UnwindTable when adding a SymbolFile
(#86603)

I stopped clearing a Module's UnwindTable when we add a SymbolFile to
avoid the memory management problems with adding a symbol file
asynchronously while the UnwindTable is being accessed on another
thread. This broke the target-symbols-add-unwind.test shell test on
Linux which removes the DWARF debub_frame section from a binary, loads
it, then loads the unstripped binary with the DWARF debug_frame section
and checks that the UnwindPlans for a function include debug_frame.

I originally decided that I was willing to sacrifice the possiblity of
additional unwind sources from a symbol file because we rely on assembly
emulation so heavily, they're rarely critical. But there are targets
where we we don't have emluation and rely on things like DWARF
debug_frame a lot more, so this probably wasn't a good choice.

This patch adds a new UnwindTable::Update method which looks for any new
sources of unwind information and adds it to the UnwindTable, and calls
that after a new SymbolFile has been added to a Module.


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

  Changed paths:
    M llvm/lib/Object/GOFFObjectFile.cpp

  Log Message:
  -----------
  Fix "result of 32-bit shift implicitly converted to 64 bits" MSVC warning. NFCI.


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

  Changed paths:
    M llvm/test/CodeGen/X86/huge-stack-offset.ll
    M llvm/test/CodeGen/X86/huge-stack-offset2.ll

  Log Message:
  -----------
  [X86] Add -verify-machineinstrs to huge stack tests

Help identify EXPENSIVE_CHECKS regressions identified in #84114


  Commit: 9669aba13295de5ccdefc44e22e30c0295e6afd2
      https://github.com/llvm/llvm-project/commit/9669aba13295de5ccdefc44e22e30c0295e6afd2
  Author: AtariDreams <gfunni234 at gmail.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/Target/ARM/Thumb1FrameLowering.cpp

  Log Message:
  -----------
  [Thumb1] LivePhysRegs to LiveRegUnits (#84474)

This removes the r7 exception because otherwise, LiveRegUnits will try
to use that register.


  Commit: 6ad1cf3b37f0eefa5f43f90990ec3dcf5c87dead
      https://github.com/llvm/llvm-project/commit/6ad1cf3b37f0eefa5f43f90990ec3dcf5c87dead
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
    M clang/include/clang/InstallAPI/HeaderFile.h
    A clang/test/InstallAPI/Inputs/Umbrella/Umbrella.framework/Headers/AAA.h
    A clang/test/InstallAPI/Inputs/Umbrella/Umbrella.framework/Headers/SpecialUmbrella.h
    A clang/test/InstallAPI/Inputs/Umbrella/Umbrella.framework/PrivateHeaders/AAA_Private.h
    A clang/test/InstallAPI/Inputs/Umbrella/Umbrella.framework/PrivateHeaders/SpecialPrivateUmbrella.h
    A clang/test/InstallAPI/umbrella-headers-unix.test
    A clang/test/InstallAPI/umbrella-headers.test
    M clang/tools/clang-installapi/InstallAPIOpts.td
    M clang/tools/clang-installapi/Options.cpp
    M clang/tools/clang-installapi/Options.h

  Log Message:
  -----------
  [InstallAPI] Add *umbrella-header options (#86587)

Umbrella headers are a concept for Darwin-based libraries. They allow
framework authors to control the order in which their headers should be
parsed and allow clients to access available headers by including a
single header.

InstallAPI will attempt to find the umbrella based on the name of the
framework. Users can also specify this explicitly by using command line
options specifying the umbrella header by file path. There can be an
umbrella header per access level.


  Commit: 0099c584bad3bdeb62fede61fb89fdcc022bd2a0
      https://github.com/llvm/llvm-project/commit/0099c584bad3bdeb62fede61fb89fdcc022bd2a0
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

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

  Log Message:
  -----------
  [bazel] Remove -lm on macOS (#86706)

Bazel links this library by default which leads to this linker warning
on macOS:

```
ld: warning: ignoring duplicate libraries: '-lm'
```


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

  Changed paths:
    M compiler-rt/lib/scudo/standalone/tests/strings_test.cpp

  Log Message:
  -----------
  Fix signed/unsigned comparison warning. NFC.


  Commit: 4d177435bae03551245ffdc4dfcee5345323121d
      https://github.com/llvm/llvm-project/commit/4d177435bae03551245ffdc4dfcee5345323121d
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

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

  Log Message:
  -----------
  [flang][OpenMP] Rename makeList overloads to make{Objects,Clauses}, NFC (#86725)

Reserve `makeList` to create a list given an explicit converter
function.


  Commit: 1c965801c42c92ff0b768e31348285514ecf5511
      https://github.com/llvm/llvm-project/commit/1c965801c42c92ff0b768e31348285514ecf5511
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

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

  Log Message:
  -----------
  [LegalizeDAG] Merge PerformInsertVectorEltInMemory into ExpandInsertToVectorThroughStack. NFC (#86755)

These functions are very similar. We can share them like we do for
EXTRACT_VECTOR_ELT and EXTRACT_SUBVECTOR.


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

  Changed paths:
    M lld/ELF/Relocations.cpp
    A lld/test/ELF/pack-dyn-relocs-ifunc.s

  Log Message:
  -----------
  [ELF] --pack-dyn-relocs=android+relr: place IRELATIVE in .rela.plt (#86751)

Current Bionic processes relocations in this order:

* DT_ANDROID_REL[A]
* DT_RELR
* DT_REL[A]
* DT_JMPREL

If an IRELATIVE relocation is in DT_ANDROID_REL[A], it would read
unrelocated (incorrect) global variables associated with RELR when
--pack-dyn-relocs=android+relr is enabled. Work around this by placing
IRELATIVE in .rel[a].plt (DT_JMPREL).

Link: https://r.android.com/3014185


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/extractelement-load.ll
    M llvm/test/CodeGen/X86/pr45378.ll
    M llvm/test/CodeGen/X86/setcc-non-simple-type.ll
    M llvm/test/CodeGen/X86/var-permute-128.ll
    M llvm/test/CodeGen/X86/vec_int_to_fp.ll

  Log Message:
  -----------
  [X86] combineExtractFromVectorLoad support extraction from vector of different types to the extraction type/index

combineExtractFromVectorLoad no longer uses the vector we're extracting from to determine the pointer offset calculation, allowing us to extract from types that have been bitcast to work with specific target shuffles.

Fixes #85419


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

  Changed paths:
    M llvm/test/CodeGen/X86/combine-pavg.ll

  Log Message:
  -----------
  [X86] combine-pavg.ll - add demandedelts test coverage for #86284


  Commit: 35d55f2894a2a2cdca5db494f519aa5ec7273678
      https://github.com/llvm/llvm-project/commit/35d55f2894a2a2cdca5db494f519aa5ec7273678
  Author: Justin Fargnoli <justinfargnoli at gmail.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M mlir/include/mlir/IR/Dialect.h
    M mlir/lib/Dialect/Arith/IR/ArithDialect.cpp
    M mlir/lib/Dialect/Complex/IR/ComplexDialect.cpp
    M mlir/lib/Dialect/ControlFlow/IR/ControlFlowOps.cpp
    M mlir/lib/Dialect/Func/IR/FuncOps.cpp
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    M mlir/lib/Dialect/Index/IR/IndexDialect.cpp
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgDialect.cpp
    M mlir/lib/Dialect/Math/IR/MathDialect.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefDialect.cpp
    M mlir/lib/Dialect/SCF/IR/SCF.cpp
    M mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorDialect.cpp
    M mlir/lib/Dialect/UB/IR/UBOps.cpp
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/unittests/IR/InterfaceAttachmentTest.cpp

  Log Message:
  -----------
  [NFC][mlir] Reorder `declarePromisedInterface()` operands (#86628)

Reorder the template operands of `declarePromisedInterface()` to match
`declarePromisedInterfaces()`.


  Commit: 96b3969a4d9e8faa3dd9b7e8b2696e2684cdebef
      https://github.com/llvm/llvm-project/commit/96b3969a4d9e8faa3dd9b7e8b2696e2684cdebef
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    A llvm/test/Instrumentation/HWAddressSanitizer/globals-access.ll

  Log Message:
  -----------
  [NFC][HWASAN] Precommit globals-access test

HWASAN does not behave as expected yet.

Reviewers: fmayer, thurstond

Reviewed By: fmayer, thurstond

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


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

  Changed paths:
    M llvm/include/llvm/IR/GlobalValue.h
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/lib/IR/Globals.cpp

  Log Message:
  -----------
  [NFC][IR] Add SetNoSanitize helpers (#86772)

This will be used by #86775


  Commit: 5a7341a7ae29be80be944b73419eba4017826cd1
      https://github.com/llvm/llvm-project/commit/5a7341a7ae29be80be944b73419eba4017826cd1
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M libcxx/include/__chrono/tzdb_list.h
    M libcxx/src/include/tzdb/tzdb_list_private.h
    M libcxx/src/tzdb_list.cpp

  Log Message:
  -----------
  [NFC][libc++][TZDB] Improves some internals. (#84800)

Removes some unneeded overloads in the pimpl class; they implementation
could be in the caller.
The pimpl member functions are __uglified.


  Commit: 52431fdb1ab8d29be078edd55250e06381e4b6b0
      https://github.com/llvm/llvm-project/commit/52431fdb1ab8d29be078edd55250e06381e4b6b0
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
    M llvm/test/CodeGen/WebAssembly/lower-em-ehsjlj.ll
    M llvm/test/CodeGen/WebAssembly/lower-em-sjlj.ll

  Log Message:
  -----------
  [WebAssembly] Remove threwValue comparison after __wasm_setjmp_test (#86633)

Currently the code thinks a `longjmp` occurred if both `__THREW__` and
`__threwValue` are nonzero. But `__threwValue` can be 0, and the
`longjmp` library function should change it to 1 in case it is 0:
https://en.cppreference.com/w/c/program/longjmp

Emscripten libraries were not consistent about that, but after
https://github.com/emscripten-core/emscripten/pull/21493 and
https://github.com/emscripten-core/emscripten/pull/21502, we correctly
pass 1 in case the input is 0. So there will be no case `__threwValue`
is 0. And regardless of what `longjmp` library function does, treating
`longjmp`'s 0 input to its second argument as "not longjmping" doesn't
seem right.

I'm not sure where that `__threwValue` checking came from, but probably
I was porting then fastcomp's implementation and moved this part just
verbatim:
https://github.com/emscripten-core/emscripten-fastcomp/blob/9bdc7bb4fc595fe05a021b06fe350e8494a741a1/lib/Target/JSBackend/CallHandlers.h#L274-L278

Just for the context, how this was discovered:
https://github.com/emscripten-core/emscripten/pull/21502#pullrequestreview-1942160300


  Commit: 2598aa67c8fa733455af1b9738f257653ee6322b
      https://github.com/llvm/llvm-project/commit/2598aa67c8fa733455af1b9738f257653ee6322b
  Author: Lei Wang <wlei at fb.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/SampleProfile.cpp
    A llvm/test/Transforms/SampleProfile/pseudo-probe-profile-mismatch-error.ll

  Log Message:
  -----------
  [CSSPGO] Reject high checksum mismatched profile (#84097)

Error out the build if the checksum mismatch is extremely high, it's
better to drop the profile rather than apply the bad profile.
Note that the check is on a module level, the user could make big
changes to functions in one single module but those changes might not be
performance significant to the whole binary, so we want to be
conservative, only expect to catch big perf regression. To do this, we
select a set of the "hot" functions for the check. We use two
parameter(`hot-func-cutoff-for-staleness-error` and
`min-functions-for-staleness-error`) to control the function selection
to make sure the selected are hot enough and the num of function is not
small.
Tuned the parameters on our internal services, it works to catch big
perf regression due to the high mismatch .


  Commit: f1ac559534788f8dd42191b60dfdf9cc56b39fd4
      https://github.com/llvm/llvm-project/commit/f1ac559534788f8dd42191b60dfdf9cc56b39fd4
  Author: ChiaHungDuan <chiahungduan at google.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/tsd.h

  Log Message:
  -----------
  Revert "[scudo] Use getMonotonicTimeFast for tryLock." (#86590)

This reverts commit 36ca9a29025a2f678096e9545fa2ec44e8432592.

We were using the `time` as the seed while choosing a new TSD. To make
the access of TSDs evenly distributed, we require a higher precision in
`time`. Otherwise, many threads may result in having the same random
access pattern on TSDs because they share the same `time` in certain
period. On Linux, CLOCK_MONOTONIC_COARSE usually adopts 4 ms precision.
This is way higher than the average accessing time of TSD (which is
usually less than 1 us). As a result, when multiple threads try to
select a new TSD in a 4 ms interval, they share the same `time` seed and
end up choosing and congesting on the same TSD.


  Commit: 36e74cfdbde208e384c72bcb52ea638303fb7d67
      https://github.com/llvm/llvm-project/commit/36e74cfdbde208e384c72bcb52ea638303fb7d67
  Author: David Green <david.green at arm.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
    A llvm/test/CodeGen/AArch64/peephole-movd.mir

  Log Message:
  -----------
  [AArch64] Clear kill flags when removing FMOVDr. (#86308)

The uses of OldDef/NewDef may not be killed in the same place they
previously were after they are replaced, and so need to be cleared.


  Commit: 2329fb29d141bc356e4b5b859ab290b02f0b3cf6
      https://github.com/llvm/llvm-project/commit/2329fb29d141bc356e4b5b859ab290b02f0b3cf6
  Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Sema/SemaChecking.cpp
    R clang/test/CodeGenHLSL/builtins/bitreverse.hlsl
    M clang/test/CodeGenHLSL/builtins/reversebits.hlsl
    A clang/test/SemaHLSL/BuiltIns/reversebits-errors.hlsl

  Log Message:
  -----------
  [HLSL] enforce unsigned types for reversebits (#86720)

fixes #86719
- `SemaChecking.cpp` - Adds unsigned semaChecks to
`__builtin_elementwise_bitreverse`
- `hlsl_intrinsics.h` - remove signed `reversebits` apis


  Commit: 2d641858fa44db315a42fa1b5ba43540f1ca1ea4
      https://github.com/llvm/llvm-project/commit/2d641858fa44db315a42fa1b5ba43540f1ca1ea4
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/include/llvm/IR/ProfDataUtils.h
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/IR/ProfDataUtils.cpp
    A llvm/test/Transforms/Inline/update_invoke_prof.ll
    A llvm/test/Transforms/Inline/update_value_profile.ll

  Log Message:
  -----------
  [nfc][PGO]Factor out profile scaling into a standalone helper function (#83780)

- Put the helper function in `ProfDataUtil.h/cpp`, which is already a
dependency of `Instructions.cpp`
- The helper function could be re-used to update profiles of
`InvokeInst` (in a follow-up pull request)


  Commit: e36ec2f40c7ea998dd11a485b01c32f50b7bf738
      https://github.com/llvm/llvm-project/commit/e36ec2f40c7ea998dd11a485b01c32f50b7bf738
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    A clang/test/C/C99/digraphs.c
    M clang/www/c_status.html

  Log Message:
  -----------
  [C99] Claim conformance to digraphs/iso646


  Commit: dd06b8e679fd28f51cd065401062041a40b87f9c
      https://github.com/llvm/llvm-project/commit/dd06b8e679fd28f51cd065401062041a40b87f9c
  Author: rayroudc <rayroudc at gmail.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/unittests/Format/FormatTest.cpp

  Log Message:
  -----------
  [clang-format] Fix anonymous reference parameter with default value (#86254)

When enabling alignment of consecutive declarations and reference right
alignment, the needed space between `& ` and ` = ` is removed in the
following use case.

Problem (does not compile)
```
int    a(const Test    &= Test());
double b();
```

Expected:
```
int    a(const Test & = Test());
double b();
```

Test command:

```
echo "int    a(const Test& = Test()); double b();" | clang-format -style="{AlignConsecutiveDeclarations: true, ReferenceAlignment: Right}"
```


  Commit: 421085fd740d937559db068c0a1b354b033aca63
      https://github.com/llvm/llvm-project/commit/421085fd740d937559db068c0a1b354b033aca63
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M clang/test/Driver/linker-wrapper-image.c
    M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp

  Log Message:
  -----------
  [Offload] Change unregister library to use `atexit` instead of destructor (#86830)

Summary:
The 'new driver' sets up the lifetime of a registered liftime using
global constructors and destructors. Currently, this is put at priority
1 which isn't strictly conformant as it will conflict with system
utilities. We now use 101 as this is the loweest suggested for
non-system constructors and will still run before user constructors.

Secondly, there were issues with the CUDA runtime when destructed with a
global destructor. Because the global ones are in any order and
potentially run before other things we were hitting an edge case where
the OpenMP runtime was uninitialized *after* `_dl_fini` was called. This
would result in us erroring when we call into a destroyed `libcuda.so`
instance. using `atexit` is what CUDA / HIP use and it prevents this
from happening. Most everything uses `atexit` except system utilities
and because of the constructor priority it will be unregistered *after*
everything else but not after `_fl_fini`.


  Commit: ed68aac9f225ce560a89315c30f1e97e7e035a03
      https://github.com/llvm/llvm-project/commit/ed68aac9f225ce560a89315c30f1e97e7e035a03
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

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

  Log Message:
  -----------
  [Libomptarget] Move API implementations into GenericPluginTy (#86683)

Summary:
The plan is to remove the entire plugin interface and simply use the
`GenericPluginTy` inside of `libomptarget` by statically linking against
it. This means that inside of `libomptarget` we will simply do
`Plugin.data_alloc` without the dynamically loaded interface. To reduce
the amount of code required, this patch simply moves all of the RTL
implementation functions inside of the Generic device. Now the
`__tgt_rtl_` interface is simply a shallow wrapper that will soon go
away. There is some redundancy here, this will be improved later. For
now what is important is minimizing the changes to the API.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/X86/pr81872.ll

  Log Message:
  -----------
  Recommit "[VPlan] Replace disjoint or with add instead of dropping disjoint. (#83821)"

Recommit with a fix for the use-after-free causing the revert.
This reverts the revert commit f872043e055f4163c3c4b1b86ca0354490174987.

Original commit message:

Dropping disjoint from an OR may yield incorrect results, as some
analysis may have converted it to an Add implicitly (e.g. SCEV used for
dependence analysis). Instead, replace it with an equivalent Add.

This is possible as all users of the disjoint OR only access lanes where
the operands are disjoint or poison otherwise.

Note that replacing all disjoint ORs with ADDs instead of dropping the
flags is not strictly necessary. It is only needed for disjoint ORs that
SCEV treated as ADDs, but those are not tracked.

There are other places that may drop poison-generating flags; those
likely need similar treatment.

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

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


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

  Changed paths:
    M libcxx/utils/libcxx/test/params.py

  Log Message:
  -----------
  [libc++][NFC] Remove whitespace that doesn't belong


  Commit: aeb8628c218f8224e08dddcdd3199a445d8607a8
      https://github.com/llvm/llvm-project/commit/aeb8628c218f8224e08dddcdd3199a445d8607a8
  Author: Neumann Hon <neumann.hon at ibm.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Object/GOFF.h
    M llvm/include/llvm/Object/GOFFObjectFile.h
    M llvm/lib/Object/GOFFObjectFile.cpp
    M llvm/unittests/Object/GOFFObjectFileTest.cpp

  Log Message:
  -----------
  Revert "[SystemZ][z/OS] TXT records in the GOFF reader (#74526)"

This reverts commit 009f88fc0e3a036be97ef7b222b90af342bae0b7.

Reverting PR due to test failure.


  Commit: baf66ec061aa4da85d6bdfd1f9cd1030b9607fbb
      https://github.com/llvm/llvm-project/commit/baf66ec061aa4da85d6bdfd1f9cd1030b9607fbb
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Target/Target.td
    M llvm/lib/CodeGen/TargetRegisterInfo.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
    M llvm/test/TableGen/ConcatenatedSubregs.td
    A llvm/test/TableGen/HwModeSubRegs.td
    M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
    M llvm/utils/TableGen/Common/CodeGenRegisters.h
    M llvm/utils/TableGen/Common/InfoByHwMode.cpp
    M llvm/utils/TableGen/Common/InfoByHwMode.h
    M llvm/utils/TableGen/RegisterInfoEmitter.cpp

  Log Message:
  -----------
  [Target][RISCV] Add HwMode support to subregister index size/offset. (#86368)

This is needed to provide proper size and offset for the GPRPair subreg
indices on RISC-V. The size of a GPR already uses HwMode. Previously we
said the subreg indices have unknown size and offset, but this stops
DwarfExpression::addMachineReg from being able to find the registers
that make up the pair.

I believe this fixes https://github.com/llvm/llvm-project/issues/85864
but need to verify.


  Commit: 10bd55566a01c63d9e4f46da5a4e671684aa7fc5
      https://github.com/llvm/llvm-project/commit/10bd55566a01c63d9e4f46da5a4e671684aa7fc5
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td

  Log Message:
  -----------
  [RISCV] Model vd as a src for some Zvk* instructions in MC layer. (#86710)

Some Zvk instructions use vd as a source regardless of tail policy.
Model this in the MC layer. We already do this for FMA for example.


  Commit: d9a685a9dd589486e882b722e513ee7b8c84870c
      https://github.com/llvm/llvm-project/commit/d9a685a9dd589486e882b722e513ee7b8c84870c
  Author: Akira Hatanaka <ahatanak at gmail.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M clang/lib/CodeGen/ABIInfoImpl.cpp
    M clang/lib/CodeGen/Address.h
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBlocks.cpp
    M clang/lib/CodeGen/CGBlocks.h
    M clang/lib/CodeGen/CGBuilder.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/lib/CodeGen/CGCXXABI.cpp
    M clang/lib/CodeGen/CGCXXABI.h
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGCall.h
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGCleanup.cpp
    M clang/lib/CodeGen/CGCleanup.h
    M clang/lib/CodeGen/CGCoroutine.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGNonTrivialStruct.cpp
    M clang/lib/CodeGen/CGObjC.cpp
    M clang/lib/CodeGen/CGObjCGNU.cpp
    M clang/lib/CodeGen/CGObjCMac.cpp
    M clang/lib/CodeGen/CGObjCRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.h
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/CGValue.h
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/CodeGenPGO.h
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/CodeGen/TargetInfo.h
    M clang/lib/CodeGen/Targets/NVPTX.cpp
    M clang/lib/CodeGen/Targets/PPC.cpp
    M clang/lib/CodeGen/Targets/Sparc.cpp
    M clang/lib/CodeGen/Targets/SystemZ.cpp
    M clang/lib/CodeGen/Targets/XCore.cpp
    M clang/utils/TableGen/MveEmitter.cpp
    M llvm/include/llvm/IR/IRBuilder.h

  Log Message:
  -----------
  [CodeGen][arm64e] Add methods and data members to Address, which are needed to authenticate signed pointers  (#86721)

To authenticate pointers, CodeGen needs access to the key and
discriminators that were used to sign the pointer. That information is
sometimes known from the context, but not always, which is why `Address`
needs to hold that information.

This patch adds methods and data members to `Address`, which will be
needed in subsequent patches to authenticate signed pointers, and uses
the newly added methods throughout CodeGen. Although this patch isn't
strictly NFC as it causes CodeGen to use different code paths in some
cases (e.g., `mergeAddressesInConditionalExpr`), it doesn't cause any
changes in functionality as it doesn't add any information needed for
authentication.

In addition to the changes mentioned above, this patch introduces class
`RawAddress`, which contains a pointer that we know is unsigned, and
adds several new functions for creating `Address` and `LValue` objects.

This reapplies 8bd1f9116aab879183f34707e6d21c7051d083b6. The commit
broke msan bots because LValue::IsKnownNonNull was uninitialized.


  Commit: cd17082b24079a31eff0057abe407da5cfb7b0fc
      https://github.com/llvm/llvm-project/commit/cd17082b24079a31eff0057abe407da5cfb7b0fc
  Author: OverMighty <its.overmighty at gmail.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/docs/math/index.rst

  Log Message:
  -----------
  [libc][math][c23] Add remaining linux/* entrypoints for {,u}fromfp{,x}* (#86692)


  Commit: 4a5056be2e38bdf27125a41f3f1b7ae4233f9713
      https://github.com/llvm/llvm-project/commit/4a5056be2e38bdf27125a41f3f1b7ae4233f9713
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M openmp/libomptarget/src/device.cpp
    M openmp/libomptarget/src/interface.cpp
    M openmp/libomptarget/src/omptarget.cpp

  Log Message:
  -----------
  [Libomptarget][NFC] Remove trivially true checks on function pointers (#86804)

Summary:
Previously we had an interface that checked these functions pointers to
see if they are implemented by the plugin. This was removed as currently
every single function is implemented as a part of the common interface.
These checks are now always true and do nothing.


  Commit: 685d7855acb28f89aa948e0056d2807bf30d3971
      https://github.com/llvm/llvm-project/commit/685d7855acb28f89aa948e0056d2807bf30d3971
  Author: Amy Kwan <amy.kwan1 at ibm.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/tests/strings_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/vector_test.cpp

  Log Message:
  -----------
  Fix the -Wmissing-designated-field-initializers on the clang-ppc64le-rhel bot


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

  Changed paths:
    M llvm/lib/Object/GOFFObjectFile.cpp

  Log Message:
  -----------
  Finish revert "[SystemZ][z/OS] TXT records in the GOFF reader (#74526)"

This finishes the revert started in
aeb8628c218f8224e08dddcdd3199a445d8607a8 which didn't completely back
out the original patch.


  Commit: 0d7ea50d20414e2da3019c45a0a3de804167fa47
      https://github.com/llvm/llvm-project/commit/0d7ea50d20414e2da3019c45a0a3de804167fa47
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    A llvm/test/CodeGen/AArch64/pr86717.ll

  Log Message:
  -----------
  [AArch64] Pre-commit test for #86717. NFC


  Commit: acab142751d3498c6d0aa63253dc1c9f3f83f268
      https://github.com/llvm/llvm-project/commit/acab142751d3498c6d0aa63253dc1c9f3f83f268
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/test/CodeGen/AArch64/pr86717.ll
    M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insertelement.ll
    M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/insertelement.ll
    M llvm/test/CodeGen/X86/2009-06-05-VariableIndexInsert.ll
    M llvm/test/CodeGen/X86/insertelement-var-index.ll

  Log Message:
  -----------
  [LegalizeDAG] Freeze index when converting insert_elt/insert_subvector to load/store on stack.

We try clamp the index to be within the bounds of the stack object
we create, but if we don't freeze it, poison can propagate into the
clamp code. This can cause the access to leave the bounds of the
stack object.

We have other instances of this issue in type legalization and extract_elt/subvector,
but posting this patch first for direction check.

Fixes #86717


  Commit: 4d4626d9d59bce9f4d19bd4a1b384f1122904419
      https://github.com/llvm/llvm-project/commit/4d4626d9d59bce9f4d19bd4a1b384f1122904419
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/test/Instrumentation/HWAddressSanitizer/globals-access.ll

  Log Message:
  -----------
  [TEST][HWASAN] Fix test after #86771


  Commit: 3522de9e412fbaa6d7344cc31bd43d1be6c95d59
      https://github.com/llvm/llvm-project/commit/3522de9e412fbaa6d7344cc31bd43d1be6c95d59
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/test/Instrumentation/HWAddressSanitizer/globals-access.ll

  Log Message:
  -----------
  [TEST][HWASAN] Fix test after #86771


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

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

  Log Message:
  -----------
  [llvm-exegesis] Improve error handling for shm_open calls

This patch adds error handling for shm_open failures in one case where
they were not handled before and also makes an error handler in another
case report the value of errno for diagnosis.


  Commit: 8a071678a9091d536eae29912ca7be6238105956
      https://github.com/llvm/llvm-project/commit/8a071678a9091d536eae29912ca7be6238105956
  Author: Nick Desaulniers <ndesaulniers at google.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/docs/math/index.rst

  Log Message:
  -----------
  Revert "[libc][math][c23] Add remaining linux/* entrypoints for {,u}fromfp{,x}* (#86692)"

This reverts commit cd17082b24079a31eff0057abe407da5cfb7b0fc because the newly
added tests fail on 32b ARM.

Link: #86692
Link: https://lab.llvm.org/buildbot/#/builders/229/builds/24458


  Commit: 453a63caebc35378bcdb31da9d0f358a3998e51b
      https://github.com/llvm/llvm-project/commit/453a63caebc35378bcdb31da9d0f358a3998e51b
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp

  Log Message:
  -----------
  [NFC][HWASAN] Promote InstrumentGlobals to member (#86773)


  Commit: 70e8cf0c31493071c50c8112c6e0c7903abf6ca6
      https://github.com/llvm/llvm-project/commit/70e8cf0c31493071c50c8112c6e0c7903abf6ca6
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/test/Instrumentation/HWAddressSanitizer/globals-access.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope-setjmp.ll

  Log Message:
  -----------
  [HWASAN] Don't instrument loads from global if globals are not tagged (#86774)


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

  Changed paths:
    M clang/lib/Driver/ToolChains/CommonArgs.cpp

  Log Message:
  -----------
  [Driver] Avoid repeated ToolChain.getTriple() calls. NFC


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

  Changed paths:
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp

  Log Message:
  -----------
  [lldb] [ObjC runtime] Don't cast to signed when left shifting (#86605)

This is fixing a report from ubsan which I don't think is super high
value, but our testsuite hits it on
TestDataFormatterObjCNSContainer.py so I'd like to work around it. We
are getting

```
runtime error: left shift of negative value -8827055269646171913

   3159	  int64_t data_payload_signed =
   3160	      ((int64_t)((int64_t)unobfuscated
-> 3161	                 << m_objc_debug_taggedpointer_ext_payload_lshift) >>
   3162	       m_objc_debug_taggedpointer_ext_payload_rshift);
```

At this point `unobfuscated` is 0x85800000000000f7 and
`m_objc_debug_taggedpointer_ext_payload_lshift` is 9, so
`(int64_t)0x85800000000000f7<<9` shifts off the "sign" bit and then some
zeroes etc, and that's how we get this error.

We're only trying to extract some bits in the middle of the doubleword,
so the fact that we're "losing" the sign is not a bug. Change the inner
cast to (uint64_t).


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

  Changed paths:
    M lld/ELF/Symbols.cpp
    M lld/test/ELF/allow-multiple-definition.s

  Log Message:
  -----------
  [ELF] Change duplicate symbol errors to use errorOrWarn

so that --noinhibit-exec downgrades the error to a warning, which
matches GNU ld. Most recoverable errors should use errorOrWarn.


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

  Changed paths:
    M llvm/include/llvm/IR/Verifier.h
    M llvm/lib/IR/Verifier.cpp
    M llvm/test/CodeGen/AArch64/arm64-abi_align.ll
    M llvm/test/Transforms/InferAddressSpaces/AMDGPU/mem-intrinsics.ll
    M llvm/test/Transforms/InstCombine/struct-assign-tbaa.ll
    M llvm/test/Transforms/SROA/tbaa-struct3.ll
    M llvm/test/Transforms/Scalarizer/basic-inseltpoison.ll
    M llvm/test/Transforms/Scalarizer/basic.ll
    M llvm/test/Verifier/tbaa-struct.ll

  Log Message:
  -----------
  Revert "[TBAA] Add verifier for tbaa.struct metadata (#86709)"

This reverts commit df75183d70e029352a49c93f275db703c81a65c1.

Revert for now as this appears to cause failures on some buildbots,
e.g.:
https://lab.llvm.org/buildbot/#/builders/93/builds/19428/steps/10/logs/stdio


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

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/RISCV/reduction-extension-after-bitwidth.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with the wrong result extension after reduction,
NFC.


  Commit: 742a82a729925dc79641beb649f492003be40725
      https://github.com/llvm/llvm-project/commit/742a82a729925dc79641beb649f492003be40725
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M lld/MachO/Config.h
    M lld/MachO/Driver.cpp
    M lld/MachO/InputSection.cpp
    M lld/MachO/InputSection.h
    M lld/MachO/MapFile.cpp
    M lld/MachO/ObjC.h
    M lld/MachO/Options.td
    M lld/MachO/SyntheticSections.cpp
    M lld/MachO/SyntheticSections.h
    M lld/MachO/Writer.cpp
    A lld/test/MachO/objc-relative-method-lists-simple.s

  Log Message:
  -----------
  [lld-macho] Implement support for ObjC relative method lists (#86231)

The MachO format supports relative offsets for ObjC method lists. This
support is present already in ld64. With this change we implement this
support in lld also.

Relative method lists can be identified by a specific flag (0x80000000)
in the method list header. When this flag is present, the method list
will contain 32-bit relative offsets to the current Program Counter
(PC), instead of absolute pointers.
Additionally, when relative method lists are used, the offset to the
selector name will now be relative and point to the selector reference
(selref) instead of the name itself.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/reduction-extension-after-bitwidth.ll
    M llvm/test/Transforms/SLPVectorizer/SystemZ/minbitwidth-root-trunc.ll

  Log Message:
  -----------
  [SLP]Fix PR86763: do not truncate reductions to the demanded bits size.

Need to adjust ReductionBitWIdth after minbitwidth analysis, if the
demanded bits analysis sjows tht its size is less than the size of the
vectorized value. It prevents incorrect sign-zero extension
transformation after.


  Commit: 0a43ca731b1faedd885f86153ecc570dde602ca3
      https://github.com/llvm/llvm-project/commit/0a43ca731b1faedd885f86153ecc570dde602ca3
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll

  Log Message:
  -----------
  [AMDGPU] Fix missing `IsExact` flag when expanding vector binary operator (#86712)


  Commit: a8b90c047d5bb47702eebd4ceeb763e8537981a1
      https://github.com/llvm/llvm-project/commit/a8b90c047d5bb47702eebd4ceeb763e8537981a1
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
    M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp

  Log Message:
  -----------
  [GlobalISel] Update `MachineIRBuilder::buildAtomicRMW` interface (#86851)


  Commit: 5da39372e39f3aebf63e07faf774b6ed37cad3fb
      https://github.com/llvm/llvm-project/commit/5da39372e39f3aebf63e07faf774b6ed37cad3fb
  Author: smanna12 <soumi.manna at intel.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M clang/lib/InstallAPI/Visitor.cpp

  Log Message:
  -----------
  [clang-installapi] Remove unnecessary copy (#86808)

Reported by Static Analyzer Tool:

In clang::installapi::InstallAPIVisitor::VisitFunctionDecl(clang::FunctionDecl
const *): Using the auto keyword without an & causes the copy of an
object of type DynTypedNode.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

  Log Message:
  -----------
  [SLP][NFC]Improve compile time by size analysis limit and reduction size
limit.

Used RecursionMaxDepth to limit number of lookups in BoUpSLP::getVectorElementSize and limited reduction width for bool reduced values.


  Commit: 88812819022ecff392dfc8d3f964899f63bdffdb
      https://github.com/llvm/llvm-project/commit/88812819022ecff392dfc8d3f964899f63bdffdb
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rv64zba.ll

  Log Message:
  -----------
  [RISCV] Add test coverage for (add (shl Z, c1), Y, (shl Z, c2)) variants

Basically, testing for interaction of shNadd matching with one step
of reassociation in the add.


  Commit: d5f06342a3007f414c783ba42cb49453a9cee835
      https://github.com/llvm/llvm-project/commit/d5f06342a3007f414c783ba42cb49453a9cee835
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M libc/include/llvm-libc-macros/math-macros.h
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc] add flag for FP_*LOGB0/NAN values (#86723)

These values vary by system, this flag allows you to toggle their value.


  Commit: 8a75faf4717b8258b59cf9fbb4cbd2f189114d3f
      https://github.com/llvm/llvm-project/commit/8a75faf4717b8258b59cf9fbb4cbd2f189114d3f
  Author: smanna12 <soumi.manna at intel.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

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

  Log Message:
  -----------
  [NFC][CLANG] Fix null pointer dereferences (#86760)

This patch replaces getAs<> with castAs<> to resolve potential static
analyzer bugs for

1. Dereferencing Proto1->param_type_begin(), which is known to be
nullptr
2. Dereferencing Proto2->param_type_begin(), which is known to be
nullptr
3. Dereferencing a pointer issue with nullptr Proto1 when calling
param_type_end()
4. Dereferencing a pointer issue with nullptr Proto2 when calling
param_type_end()

in clang::Sema::getMoreSpecializedTemplate().


  Commit: 4c2f68840e984b0f111779c46845ac00e3a7547d
      https://github.com/llvm/llvm-project/commit/4c2f68840e984b0f111779c46845ac00e3a7547d
  Author: smanna12 <soumi.manna at intel.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M clang/lib/AST/ASTContext.cpp

  Log Message:
  -----------
  [CLANG] Fix potential integer overflow value in getRVVTypeSize() (#86810)

In getRVVTypeSize(clang::ASTContext &, clang::BuiltinType const *)
potential integer overflow occurs on expression VScale->first * MinElts
with type unsigned int (32 bits, unsigned) is evaluated using 32-bit
arithmetic, and then used in a context that expects an expression of
type uint64_t (64 bits, unsigned).

To avoid integer overflow, this patch changes the types of variables
MinElts and EltSize to uint64_t instead of the cast.

The change matches what was originally done in https://github.com/llvm/llvm-project/commit/7372c0d46d2185017c509eb30910b102b4f9cdaa. Looks like the revert happened in https://github.com/llvm/llvm-project/commit/c92ad411f2f94d8521cd18abcb37285f9a390ecb


  Commit: d8fe2e4bb05c27520a98dc14b2354901a1d57e53
      https://github.com/llvm/llvm-project/commit/d8fe2e4bb05c27520a98dc14b2354901a1d57e53
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M bolt/lib/Core/BinaryFunction.cpp
    A bolt/test/X86/yaml-secondary-entry-discriminator.s

  Log Message:
  -----------
  [BOLT] Fix enumeration of secondary entry points

Make them start with 1 instead of 0 (reserved for primary entry point).

Test Plan:
```
bin/llvm-lit -a tools/bolt/test/X86/yaml-secondary-entry-discriminator.s
```

Reviewers: rafaelauler, ayermolo, maksfb, dcci

Reviewed By: maksfb

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


  Commit: 0a17eedf7b0c1168999e7ac0492015c64c1fbef4
      https://github.com/llvm/llvm-project/commit/0a17eedf7b0c1168999e7ac0492015c64c1fbef4
  Author: Marc Auberer <marc.auberer at chillibits.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M .ci/monolithic-linux.sh
    M .ci/monolithic-windows.sh

  Log Message:
  -----------
  [CI][NFC] Fix shellcheck warnings in CI scripts (#86877)

This fixes all shellcheck warnings we have in `monolithic-linux.sh` and
`monolithic-windows.sh`.
All of them have to do with
[SC2086](https://www.shellcheck.net/wiki/SC2086) - Double quote to
prevent globbing and word splitting.


  Commit: 14ba782a87e16e9e15460a51f50e67e2744c26d9
      https://github.com/llvm/llvm-project/commit/14ba782a87e16e9e15460a51f50e67e2744c26d9
  Author: Kees Cook <keescook at chromium.org>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/test/C/drs/dr5xx.c
    M clang/test/CodeGen/flexible-array-init.c
    A clang/test/CodeGen/flexible-array-init.cpp
    M clang/test/Sema/flexible-array-in-union.c
    M clang/test/Sema/transparent-union.c

  Log Message:
  -----------
  [Clang][Sema] Allow flexible arrays in unions and alone in structs (#84428)

GNU and MSVC have extensions where flexible array members (or their
equivalent) can be in unions or alone in structs. This is already fully
supported in Clang through the 0-sized array ("fake flexible array")
extension or when C99 flexible array members have been syntactically
obfuscated.

Clang needs to explicitly allow these extensions directly for C99
flexible arrays, since they are common code patterns in active use by
the
Linux kernel (and other projects). Such projects have been using either
0-sized arrays (which is considered deprecated in favor of C99 flexible
array members) or via obfuscated syntax, both of which complicate their
code bases.

For example, these do not error by default:
```
union one {
	int a;
	int b[0];
};

union two {
	int a;
	struct {
		struct { } __empty;
		int b[];
	};
};
```
But this does:
```
union three {
	int a;
	int b[];
};
```
Remove the default error diagnostics for this but continue to provide
warnings under Microsoft or GNU extensions checks. This will allow for
a seamless transition for code bases away from 0-sized arrays without
losing existing code patterns. Add explicit checking for the warnings
under various constructions.

Additionally fixes a CodeGen bug with flexible array members in unions
in C++, which was found when adding a testcase for:
```
union { char x[]; } z = {0};
```
which only had Sema tests originally.

Fixes #84565


  Commit: b76fd1eddbafaa02a533245d574048c5ad9e38fa
      https://github.com/llvm/llvm-project/commit/b76fd1eddbafaa02a533245d574048c5ad9e38fa
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M lldb/source/Host/common/Alarm.cpp

  Log Message:
  -----------
  [lldb] Avoid deadlock by unlocking before invoking callbacks (#86888)

Avoid deadlocks in the Alarm class by releasing the lock before invoking
callbacks. This deadlock manifested itself in the ProgressManager:

1. On the main thread, the ProgressManager acquires its lock in
ProgressManager::Decrement and calls Alarm::Create.
  2. On the main thread, the Alarm acquires its lock in Alarm::Create.
3. On the alarm thread, the Alarm acquires its lock after waiting on the
condition variable and calls ProgressManager::Expire.
4. On the alarm thread, the ProgressManager acquires its lock in
ProgressManager::Expire.

Note how the two threads are acquiring the locks in different orders.
Deadlocks can be avoided by always acquiring locks in the same order,
but since the two mutexes here are private implementation details,
belong to different classes, that's not straightforward. Luckily, we
don't need to have the Alarm mutex locked when invoking the callbacks.
That exactly how this patch solves the issue.


  Commit: 385e3e26c11fac9373bf7ba431b90b6f42682c84
      https://github.com/llvm/llvm-project/commit/385e3e26c11fac9373bf7ba431b90b6f42682c84
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M bolt/lib/Profile/YAMLProfileWriter.cpp
    M bolt/test/X86/yaml-secondary-entry-discriminator.s

  Log Message:
  -----------
  [BOLT] Set EntryDiscriminator in YAML profile for indirect calls

Indirect call handling missed setting an `EntryDiscriminator` while it's
set for direct calls and tail calls.

Improve YAML profile accuracy by unifying the destination setting
between direct and indirect calls into `setCSIDestination` method.

Depends on: https://github.com/llvm/llvm-project/pull/86848

Test Plan: Updated bolt/test/X86/yaml-secondary-entry-discriminator.s

Reviewers: ayermolo, maksfb, rafaelauler

Reviewed By: maksfb

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


  Commit: 19185d5a72565fce34521cb59d6c87232a86e0d4
      https://github.com/llvm/llvm-project/commit/19185d5a72565fce34521cb59d6c87232a86e0d4
  Author: Ye Luo <yeluo at anl.gov>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M openmp/libomptarget/plugins-nextgen/host/dynamic_ffi/ffi.cpp

  Log Message:
  -----------
  [Libomptarget] Make dynamic loading libffi more verbose. (#86891)


  Commit: e318613418e08e20d3b9e139a1a3ef0208db4844
      https://github.com/llvm/llvm-project/commit/e318613418e08e20d3b9e139a1a3ef0208db4844
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

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

  Log Message:
  -----------
  [NFC][TLI] Move VecFuncs to statics to reduce stack usage (#86829)

`TargetLibraryInfoImpl::addVectorizableFunctionsFromVecLib` has a lot of
data in local stack arrays, which MSVC keeps on the stack even in
release builds. To reduce stack usage, the data arrays (which are
const), are moved outside the function as statics. This drops the method
stack usage to be negligible.


  Commit: 036e7ee9d1f1bdc194b56302f8dd27d5eb6cfdab
      https://github.com/llvm/llvm-project/commit/036e7ee9d1f1bdc194b56302f8dd27d5eb6cfdab
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/GlobalISel/load-addressing-modes.mir
    M llvm/test/CodeGen/AArch64/aarch64-split-and-bitmask-immediate.ll

  Log Message:
  -----------
  [NFC][AArch64] Regenerate regression tests.


  Commit: 0fda758f26c1ec06809fdc067cd65dc146f867d0
      https://github.com/llvm/llvm-project/commit/0fda758f26c1ec06809fdc067cd65dc146f867d0
  Author: Marc Auberer <marc.auberer at chillibits.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp

  Log Message:
  -----------
  [GISEL][NFC] Refactor OperandPredicateMatcher::isHigherPriorityThan (#86837)

Fixes #86827

This will simplify code, de-duplicate some logic and fix the faulty bool
compare.

cc @dcb314


  Commit: bbfa50696e43f337f55f8bacf739683b181debd5
      https://github.com/llvm/llvm-project/commit/bbfa50696e43f337f55f8bacf739683b181debd5
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M lld/MachO/ConcatOutputSection.cpp
    M lld/MachO/InputSection.cpp
    M lld/MachO/InputSection.h
    M lld/MachO/SymbolTable.cpp
    M lld/MachO/SyntheticSections.cpp
    M lld/MachO/Writer.cpp
    M lld/test/MachO/objc-relative-method-lists-simple.s

  Log Message:
  -----------
  [lld-macho] Fix bug in makeSyntheticInputSection when -dead_strip flag is specified (#86878)

Previously, `makeSyntheticInputSection` would create a new
`ConcatInputSection` without setting `live` explicitly for it. Without
`-dead_strip` this would be OK since `live` would default to `true`.
However, with `-dead_strip`, `live` would default to false, and it would
remain set to `false`.
This hasn't resulted in any issues so far since no code paths that
exposed this issue were present.
However a recent change - ObjC relative method lists
(https://github.com/llvm/llvm-project/pull/86231) exposes this issue by
creating relocations to the `SyntheticInputSection`.
When these relocations are attempted to be written, this ends up with a
crash(assert), since the `SyntheticInputSection` they refer to is marked
as dead (`live` = `false`).

With this change, we set the correct behavior - `live` will always be
`true`. We add a test case that before this change would trigger an
assert in the linker.


  Commit: cb898e26f3321e0b861609f5fec7f7410e5b6778
      https://github.com/llvm/llvm-project/commit/cb898e26f3321e0b861609f5fec7f7410e5b6778
  Author: Kai Sasaki <lewuathe at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M mlir/lib/ExecutionEngine/CRunnerUtils.cpp
    M mlir/test/mlir-cpu-runner/test-expand-math-approx.mlir

  Log Message:
  -----------
  [mlir] Make the print function in CRunnerUtil platform agnostic (#86767)

The platform running on Apple Silicon does not seem to support the
negative nan. It causes the test failure where we explicitly specify the
negative nan bit pattern and check the output printed by the CRunnerUtil
function.

We can make the print function in the utility platform agnostic by using
the standard library functions (i.e. `std::isnan` and `std::signbit`) so
that we can run the test across platforms that do not support the
negative bit pattern.

I have added two test cases that would fail in the Apple Silicon
platform without print function changes.

```
$ uname -a
Darwin Kernel Version 23.3.0: Wed Dec 20 21:30:44 PST 2023; root:xnu-10002.81.5~7/RELEASE_ARM64_T6000 arm64
```

See:
https://discourse.llvm.org/t/test-failure-of-sparse-sign-test-in-apple-silicon/77876/3


  Commit: 17ab9e64464f989b3fe4a304a450581a618097a0
      https://github.com/llvm/llvm-project/commit/17ab9e64464f989b3fe4a304a450581a618097a0
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    A compiler-rt/test/tsan/Linux/signal_in_futex_wait.cpp
    R compiler-rt/test/tsan/signal_in_futex_wait.cpp

  Log Message:
  -----------
  [TSAN] Move test into Linux/

Linux specific test was introduced by #86537


  Commit: 64f0410193490167aee186abf4de06b681476a86
      https://github.com/llvm/llvm-project/commit/64f0410193490167aee186abf4de06b681476a86
  Author: Marc Auberer <marc.auberer at chillibits.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M .ci/monolithic-linux.sh
    M .ci/monolithic-windows.sh

  Log Message:
  -----------
  [CI] Hotfix: CI runs failing due to target escaping (#86897)

My patch #86877 contains a mistake.
Should have read the comment.
Recent buildkite runs fail because of this, so it is a bit urgent.


  Commit: cc98ffb6dc6ca3e68fd939558eb8c4ddb1cc03de
      https://github.com/llvm/llvm-project/commit/cc98ffb6dc6ca3e68fd939558eb8c4ddb1cc03de
  Author: Nazım Can Altınova <canaltinova at gmail.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

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

  Log Message:
  -----------
  [tsan][test] Remove some unneded debug comments in a tsan test (#86896)

I introduced this test in #86537, let's remove some unneeded debugging
comments.
This PR was initially also moving the test to linux directory but looks
like it's already done by 17ab9e64464f989b3fe4a304a450581a618097a0 .


  Commit: f75eebab887903567906d22e790a3be20a2a6438
      https://github.com/llvm/llvm-project/commit/f75eebab887903567906d22e790a3be20a2a6438
  Author: Akira Hatanaka <ahatanak at gmail.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M clang/lib/CodeGen/ABIInfoImpl.cpp
    M clang/lib/CodeGen/Address.h
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBlocks.cpp
    M clang/lib/CodeGen/CGBlocks.h
    M clang/lib/CodeGen/CGBuilder.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/lib/CodeGen/CGCXXABI.cpp
    M clang/lib/CodeGen/CGCXXABI.h
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGCall.h
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGCleanup.cpp
    M clang/lib/CodeGen/CGCleanup.h
    M clang/lib/CodeGen/CGCoroutine.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGNonTrivialStruct.cpp
    M clang/lib/CodeGen/CGObjC.cpp
    M clang/lib/CodeGen/CGObjCGNU.cpp
    M clang/lib/CodeGen/CGObjCMac.cpp
    M clang/lib/CodeGen/CGObjCRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.h
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/CGValue.h
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/CodeGenPGO.h
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/CodeGen/TargetInfo.h
    M clang/lib/CodeGen/Targets/NVPTX.cpp
    M clang/lib/CodeGen/Targets/PPC.cpp
    M clang/lib/CodeGen/Targets/Sparc.cpp
    M clang/lib/CodeGen/Targets/SystemZ.cpp
    M clang/lib/CodeGen/Targets/XCore.cpp
    M clang/utils/TableGen/MveEmitter.cpp
    M llvm/include/llvm/IR/IRBuilder.h

  Log Message:
  -----------
  Revert "[CodeGen][arm64e] Add methods and data members to Address, which are needed to authenticate signed pointers  (#86721)" (#86898)

This reverts commit d9a685a9dd589486e882b722e513ee7b8c84870c.

The commit broke ubsan bots.


  Commit: 1095f71bdfe25778c169954f249819bc5b553c91
      https://github.com/llvm/llvm-project/commit/1095f71bdfe25778c169954f249819bc5b553c91
  Author: smanna12 <soumi.manna at intel.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/lib/CodeGen/Targets/PPC.cpp
    M clang/lib/Sema/SemaTemplate.cpp

  Log Message:
  -----------
  [NFC][Clang] Fix potential dereferencing of nullptr (#86759)

This patch replaces dyn_cast<> with cast<> to resolve potential static
analyzer bugs for

1. Dereferencing a pointer issue with nullptr GVar when calling
addAttribute() in AIXTargetCodeGenInfo::setTargetAttributes(clang::Decl
const *, llvm::GlobalValue *, clang::CodeGen::CodeGenModule &).

2. Dereferencing a pointer issue with nullptr GG when calling
getCorrespondingConstructor() in
DeclareImplicitDeductionGuidesForTypeAlias(clang::Sema &,
clang::TypeAliasTemplateDecl *, clang::SourceLocation).

3. Dereferencing a pointer issue with nullptr CurrentBT when calling
getKind() in
ComplexExprEmitter::GetHigherPrecisionFPType(clang::QualType).


  Commit: 0c1c0d53931636331b59a03ed08f70936835399c
      https://github.com/llvm/llvm-project/commit/0c1c0d53931636331b59a03ed08f70936835399c
  Author: Jerry Wu <cheyuw at google.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
    M mlir/test/Dialect/Linalg/data-layout-propagation.mlir

  Log Message:
  -----------
  [MLIR] Add patterns to bubble-up pack and push-down unpack through collapse/expand shape ops (#85297)

Add DataLayoutPropagation patterns to bubble-up pack and push-down
unpack through collapse/expand shape ops.

---------

Co-authored-by: Quinn Dawkins <quinn.dawkins at gmail.com>


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

  Changed paths:
    M lld/test/ELF/common-gc2.s
    M lld/test/ELF/executable-undefined-ignoreall.s
    M lld/test/ELF/relro-non-contiguous-script-data.s
    M lld/test/ELF/riscv-undefined-weak.s
    M lld/test/ELF/x86-64-dyn-rel-error.s

  Log Message:
  -----------
  [ELF,test] Update tests that depend on --export-dynamic creating dynamic sections

The CloudABI change from https://reviews.llvm.org/D30175 does not make sense.
Update tests not to rely on the --export-dynamic behavior.


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

  Changed paths:
    M lld/ELF/Driver.cpp
    R lld/test/ELF/static-with-export-dynamic.s
    M lld/test/ELF/weak-undef.s

  Log Message:
  -----------
  [ELF] --export-dynamic: don't create dynamic sections for non-PIC static links

The CloudABI (removed from Clang Driver) change from
https://reviews.llvm.org/D29982 does not make sense. GNU ld and gold
don't create dynamic sections for a non-PIC static link when
--export-dynamic is specified.

Creating dynamic sections is harmful in this scenario because we would
consider undefined weak symbols preemptible and generate GLOB_DAT
relocations, breaking the expectation that non-PIC static links only
contain IRELATIVE relocations.

In addition, there are other options that export symbols
(--export-dynamic-symbol, --dynamic-list, etc). It does not make sense
to special case --export-dynamic.


  Commit: 2c7610cc43cd70192a0ed5eac58471c50045c6de
      https://github.com/llvm/llvm-project/commit/2c7610cc43cd70192a0ed5eac58471c50045c6de
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/Coverage/CoverageMappingReader.h
    M llvm/include/llvm/ProfileData/InstrProf.h
    M llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp

  Log Message:
  -----------
  [nfc]Make InstrProfSymtab non-copyable and non-movable (#86882)

- The direct use case (in [1]) is to add `llvm::IntervalMap` [2]  and the allocator required by IntervalMap ctor [3]
   to class `InstrProfSymtab` as owned members. The allocator class doesn't have a move-assignment operator; 
   and it's going to take much effort to implement move-assignment operator for the allocator class such that the
   enclosing class is movable.
- There is only one use of compiler-generated move-assignment operator in the repo, which is in 
   CoverageMappingReader.cpp. Luckily it's possible to use std::unique_ptr<InstrProfSymtab> instead, so did the change.

[1] https://github.com/llvm/llvm-project/pull/66825
[2] https://github.com/llvm/llvm-project/blob/4c2f68840e984b0f111779c46845ac00e3a7547d/llvm/include/llvm/ADT/IntervalMap.h#L936
[3] https://github.com/llvm/llvm-project/blob/4c2f68840e984b0f111779c46845ac00e3a7547d/llvm/include/llvm/ADT/IntervalMap.h#L1041


  Commit: 056b4043543cbc9e4ecad183db185bd26324b5b1
      https://github.com/llvm/llvm-project/commit/056b4043543cbc9e4ecad183db185bd26324b5b1
  Author: Job Henandez Lara <hj93 at protonmail.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M libc/src/__support/FPUtil/BasicOperations.h

  Log Message:
  -----------
  [libc][NFC] refactor fmin and fmax (#86718)

Hello,

So, I worked on the fmaximum and fminimum functions recently and the
reviewers suggested the structure:

```
if (bitsx ...)
  return ...;
if (bitsy ..)
  return 
...
return ...;
```
So I went ahead and did the same for fmin and fmax. I hope this isnt an
issue for you all. thanks.

---------

Co-authored-by: Job Hernandez <h93 at protonmail.com>


  Commit: e766f87b922933d6b1aefcfd24e5111162369e2e
      https://github.com/llvm/llvm-project/commit/e766f87b922933d6b1aefcfd24e5111162369e2e
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/unittests/Format/FormatTest.cpp

  Log Message:
  -----------
  [clang-format] Handle C++ Core Guidelines suppression tags (#86458)

Fixes #86451.


  Commit: d9e3e11ae57612ec61f6fcab4afc27d8d0ff5841
      https://github.com/llvm/llvm-project/commit/d9e3e11ae57612ec61f6fcab4afc27d8d0ff5841
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M clang/tools/clang-format/clang-format-diff.py

  Log Message:
  -----------
  [clang-format] Exit clang-format-diff only after all diffs are printed (#86776)

See
https://github.com/llvm/llvm-project/pull/70883#issuecomment-2020811077.


  Commit: 6b7ecc7979134c152ee5f8286f904bba18f41185
      https://github.com/llvm/llvm-project/commit/6b7ecc7979134c152ee5f8286f904bba18f41185
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
    M llvm/test/CodeGen/WebAssembly/lower-em-ehsjlj.ll
    M llvm/test/CodeGen/WebAssembly/lower-em-sjlj.ll

  Log Message:
  -----------
  Revert "[WebAssembly] Remove threwValue comparison after __wasm_setjmp_test (#86633)"

This reverts commit 52431fdb1ab8d29be078edd55250e06381e4b6b0.

The PR assumed `__threwValue` couldn't be 0, but it could be when the
thrown thing is not a longjmp but an exception, so that `if` check was
actually necessary.


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

  Changed paths:
    M llvm/lib/MC/ELFObjectWriter.cpp

  Log Message:
  -----------
  [MC] Simplify ELFObjectWriter. NFC

And fix `if (hasRelocationAddend())` to `usesRela` to properly treat
SHT_LLVM_CALL_GRAPH_PROFILE as SHT_REL. The incorrect does not cause a
problem because the synthesized SHT_LLVM_CALL_GRAPH_PROFILE has zero
addends.


  Commit: f8bab38b6dd02f2cd3acc28521d0ccb3186ef616
      https://github.com/llvm/llvm-project/commit/f8bab38b6dd02f2cd3acc28521d0ccb3186ef616
  Author: Lei Wang <wlei at fb.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
    M llvm/lib/Transforms/IPO/SampleProfile.cpp
    A llvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-callee-profile-mismatch.prof
    A llvm/test/Transforms/SampleProfile/csspgo-profile-checksum-mismatch-attr.ll
    A llvm/test/Transforms/SampleProfile/pseudo-probe-callee-profile-mismatch.ll
    M llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-matching-lto.ll
    M llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-matching.ll

  Log Message:
  -----------
  [CSSPGO] Fix the issue of missing callee profile matches (#85715)

Two fixes related to the callee/inlinee profile:

1. Fix the bug that the matching results are missing to distribute to
the callee profiles (should be pass-by-reference).
2. Narrow imported function matching to checksum mismatched functions. 

More context: before we run matchings for all imported functions even
checksums are matched, however, after we fix 1), we got a regression,
it's likely due to the matching is not no-op for checksum matched
function, so we want to make it consistent to only run matching for
checksum mismatched (imported)functions. Since the
metadata(pseudo_probe_desc) are dropped for imported function, we
leverage the function attribute mechanism and add a new function
attribute(`profile-checksum-mismatch`) to transfer the info from
pre-link to post-link.


  Commit: ed801ab460f387a4e125ccfaa5ccdea1dd499ebf
      https://github.com/llvm/llvm-project/commit/ed801ab460f387a4e125ccfaa5ccdea1dd499ebf
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h

  Log Message:
  -----------
  [Transforms] Fix an unused variable warning

  llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h:89:28:
  error: private field 'LTOPhase' is not used
  [-Werror,-Wunused-private-field]


  Commit: 5dfc446d7545d7ac960e20be362bd9935f390827
      https://github.com/llvm/llvm-project/commit/5dfc446d7545d7ac960e20be362bd9935f390827
  Author: hchandel <165007698+hchandel at users.noreply.github.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.h

  Log Message:
  -----------
  [RISCV] Remove Unnecessary Semicolon. NFC (#86911)

Removes Unnecessary Semicolon

Co-authored-by: Harsh Chandel <hchandel at hu-hchandel-hyd.qualcomm.com>


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

  Changed paths:
    M libc/src/__support/OSUtil/baremetal/CMakeLists.txt
    A libc/src/__support/OSUtil/baremetal/io.cpp
    M libc/src/__support/OSUtil/baremetal/io.h

  Log Message:
  -----------
  [libc] Move baremetal write_to_stderr implementation to io.cpp (#86890)

This is required to avoid multiple definitions error.


  Commit: b7ac8fddb54816256fab70696ebc176717a391c3
      https://github.com/llvm/llvm-project/commit/b7ac8fddb54816256fab70696ebc176717a391c3
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
    M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    A llvm/test/CodeGen/SPIRV/pointers/nested-struct-opaque-pointers.ll
    M llvm/test/CodeGen/SPIRV/pointers/struct-opaque-pointers.ll
    M llvm/test/CodeGen/SPIRV/pointers/type-deduce-by-call-chain.ll

  Log Message:
  -----------
  [SPIR-V] Improve type inference: deduce types of composite data structures (#86782)

This PR improves type inference in general and deduces types of
composite data structures in particular. Also added a way to insert a
bitcast to make a fun call valid in case of arguments types mismatch due
to opaque pointers type inference.

The attached test `pointers/nested-struct-opaque-pointers.ll`
demonstrates new capabilities: the SPIRV code emitted for this test is
now (1) valid in a sense of data field types and (2) accepted by
`spirv-val`.

More strict LIT checks, support of more composite data structures and
improvement of fun calls from the perspective of type correctness are
main todo's at the moment.


  Commit: 38f5596feda3276a8aa64fc14e074334017088ca
      https://github.com/llvm/llvm-project/commit/38f5596feda3276a8aa64fc14e074334017088ca
  Author: Haohai Wen <haohai.wen at intel.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/test/Transforms/LoopRotate/update-branch-weights.ll

  Log Message:
  -----------
  [LoopRotate] Add test to track update for inaccurate branch weight (#86495)

Branch weight from sample-based PGO may be not inaccurate due to
sampling. This test tracks such case where updateBranchWeights wraps
unsigned.


  Commit: 63ea5a4088ff73a47cd3411fad3b42c92a3c64f0
      https://github.com/llvm/llvm-project/commit/63ea5a4088ff73a47cd3411fad3b42c92a3c64f0
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/AST/ast-dump-invalid.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp

  Log Message:
  -----------
  [clang] Invalidate the alias template decl if it has multiple written template parameter lists. (#85413)

Fixes #85406.

- Set the invalid bit for alias template decl where it has multiple
written template parameter lists (as the AST node is ill-formed)
- don't perform CTAD for invalid alias template decls


  Commit: 2a2fd488b6bc1f3df7a8c103f53fec8bf849da4a
      https://github.com/llvm/llvm-project/commit/2a2fd488b6bc1f3df7a8c103f53fec8bf849da4a
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/bindings/ocaml/debuginfo/debuginfo_ocaml.c
    M llvm/bindings/ocaml/debuginfo/llvm_debuginfo.ml
    M llvm/bindings/ocaml/debuginfo/llvm_debuginfo.mli
    M llvm/bindings/ocaml/llvm/llvm.ml
    M llvm/bindings/ocaml/llvm/llvm.mli
    M llvm/bindings/ocaml/llvm/llvm_ocaml.c
    M llvm/bindings/ocaml/llvm/llvm_ocaml.h
    M llvm/docs/RemoveDIsDebugInfo.md
    M llvm/include/llvm-c/Core.h
    M llvm/include/llvm-c/DebugInfo.h
    M llvm/lib/IR/Core.cpp
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/test/Bindings/OCaml/debuginfo.ml
    M llvm/tools/llvm-c-test/debuginfo.c

  Log Message:
  -----------
  [RemoveDIs] Update DIBuilder C API and OCaml bindings [2/2] (#86529)

Follow on from #84915 which adds the DbgRecord function variants. The C API
changes were reviewed in #85657.

# C API

Update the LLVMDIBuilderInsert... functions to insert DbgRecords instead
of debug intrinsics.

    LLVMDIBuilderInsertDeclareBefore
    LLVMDIBuilderInsertDeclareAtEnd
    LLVMDIBuilderInsertDbgValueBefore
    LLVMDIBuilderInsertDbgValueAtEnd

Calling these functions will now cause an assertion if the module is in the
wrong debug info format. They should only be used when the module is in "new
debug format".

Use LLVMIsNewDbgInfoFormat to query and LLVMSetIsNewDbgInfoFormat to change the
debug info format of a module.

Please see https://llvm.org/docs/RemoveDIsDebugInfo.html#c-api-change
(RemoveDIsDebugInfo.md) for more info.

# OCaml bindings

Add set_is_new_dbg_info_format and is_new_dbg_info_format to the OCaml bindings.
These can be used to set and query the current debug info mode. These will
eventually be removed, but are useful while we're transitioning between old and
new debug info formats.

Add string_of_lldbgrecord, like string_of_llvalue but prints DbgRecords.

In test dbginfo.ml, unconditionally set the module debug info to the new mode
and update CHECK lines to check for DbgRecords. Without this change the test
crashes because it attempts to insert DbgRecords (new default behaviour of
llvm_dibuild_insert_declare_...) into a module that is in the old debug info
mode.


  Commit: 88b10f3e3aa93232f1f530cf8dfe1227f5f74ae9
      https://github.com/llvm/llvm-project/commit/88b10f3e3aa93232f1f530cf8dfe1227f5f74ae9
  Author: Simon Tatham <simon.tatham at arm.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/include/llvm/MC/ConstantPools.h
    M llvm/lib/MC/ConstantPools.cpp
    A llvm/test/MC/AArch64/constant-pool-sizes.s

  Log Message:
  -----------
  [MC][AArch64] Segregate constant pool caches by size. (#86832)

If you write a 32- and a 64-bit LDR instruction that both refer to the
same constant or symbol using the = syntax:

```
  ldr w0, =something
  ldr x1, =something
```

then the first call to `ConstantPool::addEntry` will insert the constant
into its cache of existing entries, and the second one will find the
cache entry and reuse it. This results in a 64-bit load from a 32-bit
constant, reading nonsense into the other half of the target register.

In this patch I've done the simplest fix: include the size of the
constant pool entry as part of the key used to index the cache. So now
32- and 64-bit constant loads will never share a constant pool entry.

There's scope for doing this better, in principle: you could imagine
merging the two slots with appropriate overlap, so that the 32-bit load
loads the LSW of the 64-bit value. But that's much more complicated: you
have to take endianness into account, and maybe also adjust the size of
an existing entry. This is the simplest fix that restores correctness.


  Commit: eff4593a642692deb2b76d9d144ad5611bb69e08
      https://github.com/llvm/llvm-project/commit/eff4593a642692deb2b76d9d144ad5611bb69e08
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll

  Log Message:
  -----------
  [RISCV] Add test case for missed vwaddu.vv due to add->or combine. NFC

We should be able to recover this with combineBinOp_VLToVWBinOp_VL if we
check that the or has the disjoint flag set.


  Commit: 8d77d362af6ade32f087c051fe4774a3891f6ec9
      https://github.com/llvm/llvm-project/commit/8d77d362af6ade32f087c051fe4774a3891f6ec9
  Author: martinboehme <mboehme at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp

  Log Message:
  -----------
  [clang][dataflow] Introduce a helper class for handling record initializer lists. (#86675)

This is currently only used in one place, but I'm working on a patch
that will
use this from a second place. And I think this already improves the
readability
of the one place this is used so far.


  Commit: 912e2c47589d7f4de3e59e99920fe9a60281db2a
      https://github.com/llvm/llvm-project/commit/912e2c47589d7f4de3e59e99920fe9a60281db2a
  Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
    M llvm/test/Transforms/TailCallElim/debugloc.ll

  Log Message:
  -----------
  [Debuginfo][TailCallElim] Fix #86262: drop the debug location of entry branch (#86269)

This pr fixes #86262.

---------

Co-authored-by: Stephen Tozer <Melamoto at gmail.com>


  Commit: 856e815ca1c416de263438e90e8120947e33a03c
      https://github.com/llvm/llvm-project/commit/856e815ca1c416de263438e90e8120947e33a03c
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/lanai_isel.ll.expected

  Log Message:
  -----------
  [DAGCombiner] Set disjoint flag in add->or and xor->or combines (#86925)

We check DAG.haveNoCommonBitsSet so the operands will be known to be
disjoint.

I couldn't think of a codegen test case since most targets aren't
checking hasDisjoint yet, apart from RISCV in the or_is_add pattern, but
it also falls back to computeKnownBits.


  Commit: e640d9e725ef06b9787ab0ab884598f4f5532e48
      https://github.com/llvm/llvm-project/commit/e640d9e725ef06b9787ab0ab884598f4f5532e48
  Author: bvlgah <octopus.busts_0w at icloud.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-vacopy.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/vararg.ll

  Log Message:
  -----------
  [RISCV][GlobalISel] Fix legalizing ‘llvm.va_copy’ intrinsic (#86863)

Hi, I spotted a problem when running benchmarking programs on a RISCV64
device.

## Issue

Segmentation faults only occurred while running the programs compiled
with `GlobalISel` enabled.

Here is a small but complete example (it is adopted from [Google's
benchmark
framework](https://github.com/llvm/llvm-test-suite/blob/95a9f0d0b45056274f0bb4b0e0dd019023e414dc/MicroBenchmarks/libs/benchmark/src/colorprint.cc#L85-L119)
to reproduce the issue,

```cpp
#include <cstdarg>
#include <cstdio>
#include <iostream>
#include <memory>
#include <string>

std::string FormatString(const char* msg, va_list args) {
  // we might need a second shot at this, so pre-emptivly make a copy
  va_list args_cp;
  va_copy(args_cp, args);

  std::size_t size = 256;
  char local_buff[256];
  auto ret = vsnprintf(local_buff, size, msg, args_cp);

  va_end(args_cp);

  // currently there is no error handling for failure, so this is hack.
  // BM_CHECK(ret >= 0);

  if (ret == 0)  // handle empty expansion
    return {};
  else if (static_cast<size_t>(ret) < size)
    return local_buff;
  else {
    // we did not provide a long enough buffer on our first attempt.
    size = static_cast<size_t>(ret) + 1;  // + 1 for the null byte
    std::unique_ptr<char[]> buff(new char[size]);
    ret = vsnprintf(buff.get(), size, msg, args);
    // BM_CHECK(ret > 0 && (static_cast<size_t>(ret)) < size);
    return buff.get();
  }
}

std::string FormatString(const char* msg, ...) {
  va_list args;
  va_start(args, msg);
  auto tmp = FormatString(msg, args);
  va_end(args);
  return tmp;
}

int main() {
  std::string Str =
      FormatString("%-*s %13s %15s %12s", static_cast<int>(20),
                   "Benchmark", "Time", "CPU", "Iterations");
  std::cout << Str << std::endl;
}
```

Use `clang++ -fglobal-isel -o main main.cpp` to compile it.

## Cause

I have examined MIR, it shows that these segmentation faults resulted
from a small mistake about legalizing the intrinsic function
`llvm.va_copy`.


https://github.com/llvm/llvm-project/blob/36e74cfdbde208e384c72bcb52ea638303fb7d67/llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp#L451-L453

`DstLst` and `Tmp` are placed in the wrong order.

## Changes

I have tweaked the test case `CodeGen/RISCV/GlobalISel/vararg.ll` so
that `s0` is used as the frame pointer (not in all checks) which points
to the starting address of the save area. I believe that it helps reason
about how `llvm.va_copy` is handled.


  Commit: 8963a476ccb7ef2944eedaf8813458561e29b465
      https://github.com/llvm/llvm-project/commit/8963a476ccb7ef2944eedaf8813458561e29b465
  Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp

  Log Message:
  -----------
  Fix #86269: remove unused variable (#86927)

Remove the unused variable `BI` introduced in #86269.


  Commit: 8a7f021f9e183c95f3eb17a27cbb219e204f3b25
      https://github.com/llvm/llvm-project/commit/8a7f021f9e183c95f3eb17a27cbb219e204f3b25
  Author: J. Ryan Stinnett <jryans at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/utils/git/github-automation.py

  Log Message:
  -----------
  [GitHub] Fix typos in automation (#86886)


  Commit: 79ba323bdd0843275019e16b6e9b35133677c514
      https://github.com/llvm/llvm-project/commit/79ba323bdd0843275019e16b6e9b35133677c514
  Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/GVNHoist.cpp
    A llvm/test/Transforms/GVNHoist/hoist-merge-geps.ll

  Log Message:
  -----------
  [Debuginfo][GVNHoist] Fix #86227: update the debug location of the hoisted GEP (#86236)

This PR fixes #86227.


  Commit: 36b4b9d988ff1e82758fd5a462120086d21989e7
      https://github.com/llvm/llvm-project/commit/36b4b9d988ff1e82758fd5a462120086d21989e7
  Author: Freddy Ye <freddy.ye at intel.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    A llvm/test/CodeGen/X86/apx/foldimmediate.mir

  Log Message:
  -----------
  [X86] Support immediate folding for CCMP/CTEST (#86616)

E.g.
%0:gr32 = MOV32ri 81
CTEST32rr %0, %1, 2, 10, implicit-def $eflags, implicit $eflags
=>
CTEST32ri %1, 81, 2, 10, implicit-def $eflags, implicit $eflags


  Commit: 28b196e7fc4919a062ed20177d113cd0ae9b1f75
      https://github.com/llvm/llvm-project/commit/28b196e7fc4919a062ed20177d113cd0ae9b1f75
  Author: Dmitri Gribenko <gribozavr at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M lld/test/ELF/lto/libcall-archive.ll

  Log Message:
  -----------
  [llvm] Write temporary test files into %t

... instead of the source tree


  Commit: b999e631c03640f7d1d93b5319da496ed4e0df55
      https://github.com/llvm/llvm-project/commit/b999e631c03640f7d1d93b5319da496ed4e0df55
  Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M openmp/runtime/src/kmp_taskdeps.cpp

  Log Message:
  -----------
  [OpenMP] Fix node destruction race in __kmpc_omp_taskwait_deps_51 (#86130)

The __kmpc_omp_taskwait_deps_51 allocates a kmp_depnode_t node on its
stack, and there is currently a race condition where another thread
might still be accessing that node after the function has returned and
its stack frame was released.

While the function does wait until the node's npredecessors count has
reached zero before exiting, there is still a window where the function
that last decremented the npredecessors count assumes the node is still
accessible.

For heap-allocated kmp_depnode_t nodes, this normally works via a
separate ndeps count that only reaches zero at the point where no
accesses to the node are expected at all; in fact, at this point the
heap allocation will be freed.

For this case of a stack-allocated kmp_depnode_t node, it therefore
makes sense to similarly respect the ndeps count; we need to wait until
this reaches 1 (not 0, because it is not heap-allocated so there's
always one extra count to prevent it from being freed), before we can
safely deallocate our stack frame.

As this is expected to be a short race window of only a few
instructions, it should be fine to just use a busy wait loop checking
the ndeps count.

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


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

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst

  Log Message:
  -----------
  AMDGPU: Document more backend recognized attributes (#80239)


  Commit: c9db031c48852af491747dab86ef6f19195eb20d
      https://github.com/llvm/llvm-project/commit/c9db031c48852af491747dab86ef6f19195eb20d
  Author: Andrew Ng <andrew.ng at sony.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Support/FormattedStream.h
    M llvm/lib/Support/FormattedStream.cpp
    M llvm/tools/llvm-mc/llvm-mc.cpp
    M llvm/tools/llvm-objdump/llvm-objdump.cpp

  Log Message:
  -----------
  [Support] Fix color handling in formatted_raw_ostream (#86700)

The color methods in formatted_raw_ostream were forwarding directly to
the underlying stream without considering existing buffered output. This
would cause incorrect colored output for buffered uses of
formatted_raw_ostream.

Fix this issue by applying the color to the formatted_raw_ostream itself
and temporarily disabling scanning of any color related output so as not
to affect the position tracking.

This fix means that workarounds that forced formatted_raw_ostream
buffering to be disabled can be removed. In the case of llvm-objdump,
this can improve disassembly performance when redirecting to a file by
more than an order of magnitude on both Windows and Linux. This
improvement restores the disassembly performance when redirecting to a
file to a level similar to before color support was added.


  Commit: a495cfbf7d544ed2624e8a54f14129fa7824eee4
      https://github.com/llvm/llvm-project/commit/a495cfbf7d544ed2624e8a54f14129fa7824eee4
  Author: Marc Auberer <marc.auberer at chillibits.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/include/llvm/IR/InstrTypes.h

  Log Message:
  -----------
  [IR][NFC] Cleanup CmpInst signatures / code docs (#86441)

Change param names to recommended upper case format for static methods
in CmpInst for consistency
Implement suggestion from @dtcxzyw.

cc @dtcxzyw @tschuett


  Commit: 9d61f7ea660bc4087763e679a7f2b87c50cca108
      https://github.com/llvm/llvm-project/commit/9d61f7ea660bc4087763e679a7f2b87c50cca108
  Author: Marc Auberer <marc.auberer at chillibits.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

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

  Log Message:
  -----------
  [flang] Remove duplicate call to va_end() (#86865)

Fixes #86825


  Commit: daa755ba7b7fe11e078f1e6f43d446234023f859
      https://github.com/llvm/llvm-project/commit/daa755ba7b7fe11e078f1e6f43d446234023f859
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M libc/cmake/modules/prepare_libc_gpu_build.cmake

  Log Message:
  -----------
  [libc] Disable testing for NVPTX debug builds (#86856)

Summary:
Debug builds don't optimize out certain parts of the code that end up
making the GPU backend crash. This results in regular builds not being
successful just to build the testing objects. Disable them for now in
debug mode.


  Commit: 896037c75ace929327e5b0bf5832157f9d81e6e7
      https://github.com/llvm/llvm-project/commit/896037c75ace929327e5b0bf5832157f9d81e6e7
  Author: Haohai Wen <haohai.wen at intel.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
    M llvm/test/Transforms/LoopRotate/update-branch-weights.ll

  Log Message:
  -----------
  [LoopRotate] Set loop back edge weight to not less than exit weight (#86496)

Branch weight from sample-based PGO may be not inaccurate due to
sampling. If the loop body must be executed, then origin loop back
edge weight must be not less than exit weight.


  Commit: fb8cccf88c5d04f36148ff336b6dc7c25746b1de
      https://github.com/llvm/llvm-project/commit/fb8cccf88c5d04f36148ff336b6dc7c25746b1de
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M clang/include/clang/AST/TextNodeDumper.h
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp

  Log Message:
  -----------
  [AST] Print the "aggregate" for aggregate deduction guide decl. (#84018)

I found this is useful for debugging purpose to identify different kind
of deduction guide decl.


  Commit: a042fcbe45d1ae64acc5d818db90e26e16e1aab3
      https://github.com/llvm/llvm-project/commit/a042fcbe45d1ae64acc5d818db90e26e16e1aab3
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaConcept.cpp
    A clang/test/SemaTemplate/concepts-GH86757.cpp

  Log Message:
  -----------
  [clang] Bailout when the substitution of template parameter mapping is invalid. (#86869)

Fixes #86757

We missed to handle the invalid case when substituting into the
parameter mapping of an constraint during normalization.
The constructor of `InstantiatingTemplate` will bail out (no
`CodeSynthesisContext` will be added to the instantiation stack) if
there was a fatal error, consequently we should stop doing any further
template instantiations.


  Commit: 4ddd4ed7fe15a356dace649e18492dd01071f475
      https://github.com/llvm/llvm-project/commit/4ddd4ed7fe15a356dace649e18492dd01071f475
  Author: Zaara Syeda <syzaara at ca.ibm.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/test/Driver/toc-conf.c

  Log Message:
  -----------
  [AIX][TOC] -mtocdata/-mno-tocdata fix non deterministic iteration order (#86840)

Failure with testcase toc-conf.c observed when building with
LLVM_REVERSE_ITERATION=ON.
Changing from using llvm::StringSet to std::set<llvm:StringRef> to
ensure iteration order is deterministic. Note: the functionality of the
feature does not require a specific iteration order, however, this will
allow testing to be consistent.
>From llvm docs:
The advantages of std::set are that its iterators are stable (deleting
or inserting an element from the set does not affect iterators or
pointers to other elements) and that iteration over the set is
guaranteed to be in sorted order.


  Commit: 79199753fd6c39aac881b9556614c5db2775dc85
      https://github.com/llvm/llvm-project/commit/79199753fd6c39aac881b9556614c5db2775dc85
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M flang/include/flang/Lower/OpenMP.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp

  Log Message:
  -----------
  [flang][OpenMP] Make several function local to OpenMP.cpp, NFC (#86726)

There were several functions, mostly reduction-related, that were only
called from OpenMP.cpp. Remove them from OpenMP.h, and make them local
in OpenMP.cpp:
- genOpenMPReduction
- findReductionChain
- getConvertFromReductionOp
- updateReduction
- removeStoreOp

Also, move the function bodies out of the "public" section.


  Commit: 56a10a3c7930164a875db7c34da8c2a8b8abfbee
      https://github.com/llvm/llvm-project/commit/56a10a3c7930164a875db7c34da8c2a8b8abfbee
  Author: VitaNuo <115406782+VitaNuo at users.noreply.github.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M clang-tools-extra/clangd/support/Trace.h

  Log Message:
  -----------
  [clangd][trace] Fix comment to mention that trace spans are measured … (#86938)

…in milliseconds rather than seconds.


  Commit: e8e80d07c867cadcfd82741693a04b2913904956
      https://github.com/llvm/llvm-project/commit/e8e80d07c867cadcfd82741693a04b2913904956
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M llvm/include/llvm/Frontend/OpenMP/ClauseT.h

  Log Message:
  -----------
  [OpenMP] Apply post-commit review comments in PR86289, NFC (#86828)

Fix include guard name, fix typo, add comments with OpenMP spec
sections.


  Commit: a2982a29fdfcfe2904754815c85f630a4dc6d88c
      https://github.com/llvm/llvm-project/commit/a2982a29fdfcfe2904754815c85f630a4dc6d88c
  Author: Leandro Lupori <leandro.lupori at linaro.org>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M compiler-rt/cmake/config-ix.cmake

  Log Message:
  -----------
  Revert "[compiler-rt] Allow building builtins.a without a libc (#86737)"

This reverts commit 86692258637549ed9f863c3d2ba47b49f61bbc1f.

Reverting due to buildbot failures.


  Commit: 96c8e2e88cc68416ddce4a9bf1a9221387b6d4b3
      https://github.com/llvm/llvm-project/commit/96c8e2e88cc68416ddce4a9bf1a9221387b6d4b3
  Author: Egor Zhdan <e_zhdan at apple.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M clang/lib/APINotes/APINotesManager.cpp
    A clang/test/APINotes/Inputs/Headers/ExportAs.apinotes
    A clang/test/APINotes/Inputs/Headers/ExportAs.h
    A clang/test/APINotes/Inputs/Headers/ExportAsCore.h
    M clang/test/APINotes/Inputs/Headers/module.modulemap
    A clang/test/APINotes/export-as.c

  Log Message:
  -----------
  [APINotes] For a re-exported module, look for APINotes in the re-exporting module's apinotes file

This upstreams https://github.com/apple/llvm-project/pull/8063.

If module FooCore is re-exported through module Foo (by using
`export_as` in the modulemap), look for attributes of FooCore symbols in
Foo.apinotes file.

Swift bundles `std.apinotes` file that adds Swift-specific attributes to
the C++ stdlib symbols. In recent versions of libc++, module std got
split into multiple top-level modules, each of them is re-exported
through std. This change allows us to keep using a single modulemap file
for all supported C++ stdlibs.

rdar://121680760


  Commit: 91856b34e3eddf157ab4c6ea623483b49d149e62
      https://github.com/llvm/llvm-project/commit/91856b34e3eddf157ab4c6ea623483b49d149e62
  Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M mlir/examples/transform/Ch4/include/MyExtension.td
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgMatchOps.h
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgMatchOps.td
    M mlir/include/mlir/Dialect/SparseTensor/TransformOps/SparseTensorTransformOps.h
    M mlir/include/mlir/Dialect/SparseTensor/TransformOps/SparseTensorTransformOps.td
    M mlir/include/mlir/Dialect/Transform/DebugExtension/DebugExtensionOps.h
    M mlir/include/mlir/Dialect/Transform/DebugExtension/DebugExtensionOps.td
    M mlir/include/mlir/Dialect/Transform/IR/CMakeLists.txt
    R mlir/include/mlir/Dialect/Transform/IR/MatchInterfaces.h
    R mlir/include/mlir/Dialect/Transform/IR/MatchInterfaces.td
    M mlir/include/mlir/Dialect/Transform/IR/TransformOps.h
    M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
    M mlir/include/mlir/Dialect/Transform/Interfaces/CMakeLists.txt
    A mlir/include/mlir/Dialect/Transform/Interfaces/MatchInterfaces.h
    A mlir/include/mlir/Dialect/Transform/Interfaces/MatchInterfaces.td
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgMatchOps.cpp
    M mlir/lib/Dialect/Transform/IR/CMakeLists.txt
    R mlir/lib/Dialect/Transform/IR/MatchInterfaces.cpp
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
    M mlir/lib/Dialect/Transform/Interfaces/CMakeLists.txt
    A mlir/lib/Dialect/Transform/Interfaces/MatchInterfaces.cpp
    M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.h
    M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.td

  Log Message:
  -----------
  [mlir] move MatchOpInterface under Transform/Interfaces (#86899)

This is similar to the TransformOpInterface move.


  Commit: eacda36c7dd842cb15c0c954eda74b67d0c73814
      https://github.com/llvm/llvm-project/commit/eacda36c7dd842cb15c0c954eda74b67d0c73814
  Author: Rolf Morel <rolf.morel at huawei.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SCF/TransformOps/SCFTransformOps.td
    M mlir/include/mlir/Dialect/SCF/Utils/Utils.h
    M mlir/lib/Dialect/SCF/TransformOps/SCFTransformOps.cpp
    M mlir/lib/Dialect/SCF/Utils/Utils.cpp
    M mlir/test/Dialect/SCF/transform-loop-fuse-sibling.mlir

  Log Message:
  -----------
  [SCF][Transform] Add support for scf.for in LoopFuseSibling op (#81495)

Adds support for fusing two scf.for loops occurring in the same block.
Uses the rudimentary checks already in place for scf.forall (like the
target loop's operands being dominated by the source loop).

- Fixes a bug in the dominance check whereby it was checked that values
in the target loop themselves dominated the source loop rather than the
ops that define these operands.
- Renames the LoopFuseSibling op to LoopFuseSiblingOp.
- Updates LoopFuseSiblingOp's description.
- Adds tests for using LoopFuseSiblingOp on scf.for loops, including one
which fails without the fix for the dominance check.
- Adds tests checking the different failure modes of the dominance
checker.
- Adds test for case whereby scf.yield is automatically generated when
there are no loop-carried variables.


  Commit: a3efc53f168b1451803a40075201c3490d6e3928
      https://github.com/llvm/llvm-project/commit/a3efc53f168b1451803a40075201c3490d6e3928
  Author: Amy Kwan <amy.kwan1 at ibm.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    A llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-funcattr.ll
    A llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-loadaddr.ll
    A llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-targetattr.ll

  Log Message:
  -----------
  [AIX][TLS] Produce a faster local-exec access sequence for the "aix-small-tls" global variable attribute (#83053)

Similar to 3f46e5453d9310b15d974e876f6132e3cf50c4b1, this patch allows
the backend to produce a faster access sequence for the local-exec TLS
model, where loading from the TOC can be avoided, for local-exec TLS
variables that are annotated with the "aix-small-tls" attribute.

The expectation is for local-exec TLS variables to be set with this
attribute through PGO. Furthermore, the optimized access sequence is
only generated for local-exec TLS variables annotated with
"aix-small-tls", only if they are less than ~32KB in size.


  Commit: 84780af4b02cb3b86e4cb724f996bf8e02f2f2e7
      https://github.com/llvm/llvm-project/commit/84780af4b02cb3b86e4cb724f996bf8e02f2f2e7
  Author: Akira Hatanaka <ahatanak at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M clang/lib/CodeGen/ABIInfoImpl.cpp
    M clang/lib/CodeGen/Address.h
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBlocks.cpp
    M clang/lib/CodeGen/CGBlocks.h
    M clang/lib/CodeGen/CGBuilder.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/lib/CodeGen/CGCXXABI.cpp
    M clang/lib/CodeGen/CGCXXABI.h
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGCall.h
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGCleanup.cpp
    M clang/lib/CodeGen/CGCleanup.h
    M clang/lib/CodeGen/CGCoroutine.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGNonTrivialStruct.cpp
    M clang/lib/CodeGen/CGObjC.cpp
    M clang/lib/CodeGen/CGObjCGNU.cpp
    M clang/lib/CodeGen/CGObjCMac.cpp
    M clang/lib/CodeGen/CGObjCRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.h
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/CGValue.h
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/CodeGenPGO.h
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/CodeGen/TargetInfo.h
    M clang/lib/CodeGen/Targets/NVPTX.cpp
    M clang/lib/CodeGen/Targets/PPC.cpp
    M clang/lib/CodeGen/Targets/Sparc.cpp
    M clang/lib/CodeGen/Targets/SystemZ.cpp
    M clang/lib/CodeGen/Targets/XCore.cpp
    M clang/utils/TableGen/MveEmitter.cpp
    M llvm/include/llvm/IR/IRBuilder.h

  Log Message:
  -----------
  [CodeGen][arm64e] Add methods and data members to Address, which are needed to authenticate signed pointers (#86923)

To authenticate pointers, CodeGen needs access to the key and
discriminators that were used to sign the pointer. That information is
sometimes known from the context, but not always, which is why `Address`
needs to hold that information.

This patch adds methods and data members to `Address`, which will be
needed in subsequent patches to authenticate signed pointers, and uses
the newly added methods throughout CodeGen. Although this patch isn't
strictly NFC as it causes CodeGen to use different code paths in some
cases (e.g., `mergeAddressesInConditionalExpr`), it doesn't cause any
changes in functionality as it doesn't add any information needed for
authentication.

In addition to the changes mentioned above, this patch introduces class
`RawAddress`, which contains a pointer that we know is unsigned, and
adds several new functions for creating `Address` and `LValue` objects.

This reapplies d9a685a9dd589486e882b722e513ee7b8c84870c, which was
reverted because it broke ubsan bots. There seems to be a bug in
coroutine code-gen, which is causing EmitTypeCheck to use the wrong
alignment. For now, pass alignment zero to EmitTypeCheck so that it can
compute the correct alignment based on the passed type (see function
EmitCXXMemberOrOperatorMemberCallExpr).


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

  Changed paths:
    M llvm/test/Bindings/OCaml/core.ml

  Log Message:
  -----------
  [OCaml] Fix buildbot failure caused by caa2258. NFC.

Closes #86944.


  Commit: ff870aeeb7354fd3f681c17e248131e1065ac407
      https://github.com/llvm/llvm-project/commit/ff870aeeb7354fd3f681c17e248131e1065ac407
  Author: Alfie Richards <alfie.richards at arm.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp

  Log Message:
  -----------
  [ARM] Add reference to `ARMAsmParser` in `ARMOperand` (#86110)


  Commit: d7975c9d93fb4a69c0bd79d7d5b3f6be77a25c73
      https://github.com/llvm/llvm-project/commit/d7975c9d93fb4a69c0bd79d7d5b3f6be77a25c73
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/reorder-possible-strided-node.ll

  Log Message:
  -----------
  [SLP]Add better minbitwidth analysis for udiv/urem instructions.

Adds improved bitwidth analysis for udiv/urem instructions. The
analysis is based on similar version in InstCombiner.

Reviewers: RKSimon

Reviewed By: RKSimon

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


  Commit: 7bc23cf619b23d6c12518fc7847fc70a244a3b77
      https://github.com/llvm/llvm-project/commit/7bc23cf619b23d6c12518fc7847fc70a244a3b77
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M .ci/monolithic-linux.sh
    M .ci/monolithic-windows.sh
    M .github/workflows/scorecard.yml
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Profile/YAMLProfileWriter.cpp
    A bolt/test/X86/yaml-secondary-entry-discriminator.s
    M clang-tools-extra/clangd/support/Trace.h
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang-c/Index.h
    M clang/include/clang/AST/TextNodeDumper.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/Specifiers.h
    M clang/include/clang/InstallAPI/HeaderFile.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/APINotes/APINotesManager.cpp
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/lib/Basic/Targets/RISCV.cpp
    M clang/lib/Basic/Targets/RISCV.h
    M clang/lib/CodeGen/ABIInfoImpl.cpp
    M clang/lib/CodeGen/Address.h
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBlocks.cpp
    M clang/lib/CodeGen/CGBlocks.h
    M clang/lib/CodeGen/CGBuilder.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/lib/CodeGen/CGCXXABI.cpp
    M clang/lib/CodeGen/CGCXXABI.h
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGCall.h
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGCleanup.cpp
    M clang/lib/CodeGen/CGCleanup.h
    M clang/lib/CodeGen/CGCoroutine.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGNonTrivialStruct.cpp
    M clang/lib/CodeGen/CGObjC.cpp
    M clang/lib/CodeGen/CGObjCGNU.cpp
    M clang/lib/CodeGen/CGObjCMac.cpp
    M clang/lib/CodeGen/CGObjCRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.h
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/CGValue.h
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/CodeGenPGO.h
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/CodeGen/TargetInfo.h
    M clang/lib/CodeGen/Targets/NVPTX.cpp
    M clang/lib/CodeGen/Targets/PPC.cpp
    M clang/lib/CodeGen/Targets/Sparc.cpp
    M clang/lib/CodeGen/Targets/SystemZ.cpp
    M clang/lib/CodeGen/Targets/XCore.cpp
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/InstallAPI/Visitor.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaType.cpp
    A clang/test/APINotes/Inputs/Headers/ExportAs.apinotes
    A clang/test/APINotes/Inputs/Headers/ExportAs.h
    A clang/test/APINotes/Inputs/Headers/ExportAsCore.h
    M clang/test/APINotes/Inputs/Headers/module.modulemap
    A clang/test/APINotes/export-as.c
    M clang/test/AST/ast-dump-invalid.cpp
    A clang/test/C/C99/digraphs.c
    M clang/test/C/drs/dr5xx.c
    M clang/test/CodeGen/RISCV/riscv-func-attr-target-err.c
    M clang/test/CodeGen/RISCV/riscv-func-attr-target.c
    A clang/test/CodeGen/RISCV/riscv-vector-callingconv-llvm-ir.c
    A clang/test/CodeGen/RISCV/riscv-vector-callingconv-llvm-ir.cpp
    A clang/test/CodeGen/RISCV/riscv-vector-callingconv.c
    A clang/test/CodeGen/RISCV/riscv-vector-callingconv.cpp
    M clang/test/CodeGen/RISCV/rvb-intrinsics/riscv32-zbb-error.c
    M clang/test/CodeGen/RISCV/rvb-intrinsics/riscv64-zbkb-error.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-handcrafted/rvv-error.c
    M clang/test/CodeGen/flexible-array-init.c
    A clang/test/CodeGen/flexible-array-init.cpp
    R clang/test/CodeGenHLSL/builtins/bitreverse.hlsl
    M clang/test/CodeGenHLSL/builtins/reversebits.hlsl
    M clang/test/Driver/linker-wrapper-image.c
    M clang/test/Driver/toc-conf.c
    A clang/test/InstallAPI/Inputs/Umbrella/Umbrella.framework/Headers/AAA.h
    A clang/test/InstallAPI/Inputs/Umbrella/Umbrella.framework/Headers/SpecialUmbrella.h
    A clang/test/InstallAPI/Inputs/Umbrella/Umbrella.framework/PrivateHeaders/AAA_Private.h
    A clang/test/InstallAPI/Inputs/Umbrella/Umbrella.framework/PrivateHeaders/SpecialPrivateUmbrella.h
    A clang/test/InstallAPI/umbrella-headers-unix.test
    A clang/test/InstallAPI/umbrella-headers.test
    M clang/test/Sema/flexible-array-in-union.c
    M clang/test/Sema/transparent-union.c
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
    A clang/test/SemaHLSL/BuiltIns/reversebits-errors.hlsl
    A clang/test/SemaTemplate/concepts-GH86757.cpp
    M clang/test/SemaTemplate/concepts.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp
    M clang/tools/clang-format/clang-format-diff.py
    M clang/tools/clang-installapi/InstallAPIOpts.td
    M clang/tools/clang-installapi/Options.cpp
    M clang/tools/clang-installapi/Options.h
    M clang/tools/libclang/CXType.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/utils/TableGen/MveEmitter.cpp
    M clang/utils/TableGen/RISCVVEmitter.cpp
    M clang/www/c_status.html
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/lib/scudo/standalone/tests/strings_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/vector_test.cpp
    M compiler-rt/lib/scudo/standalone/tsd.h
    A compiler-rt/test/tsan/Linux/signal_in_futex_wait.cpp
    R compiler-rt/test/tsan/signal_in_futex_wait.cpp
    M flang/include/flang/Lower/OpenMP.h
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Lower/OpenMP/Clauses.h
    M flang/lib/Lower/OpenMP/DataSharingProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/runtime/io-error.cpp
    M libc/cmake/modules/prepare_libc_gpu_build.cmake
    M libc/docs/dev/code_style.rst
    M libc/include/llvm-libc-macros/math-macros.h
    M libc/src/__support/CPP/CMakeLists.txt
    M libc/src/__support/CPP/atomic.h
    M libc/src/__support/CPP/bit.h
    M libc/src/__support/CPP/type_traits/add_pointer.h
    M libc/src/__support/CPP/type_traits/decay.h
    M libc/src/__support/CPP/type_traits/is_destructible.h
    M libc/src/__support/CPP/type_traits/is_function.h
    M libc/src/__support/CPP/type_traits/is_lvalue_reference.h
    M libc/src/__support/CPP/type_traits/is_reference.h
    M libc/src/__support/CPP/type_traits/is_rvalue_reference.h
    M libc/src/__support/CPP/type_traits/is_trivially_copyable.h
    M libc/src/__support/CPP/type_traits/is_trivially_destructible.h
    M libc/src/__support/CPP/type_traits/remove_all_extents.h
    M libc/src/__support/FPUtil/BasicOperations.h
    M libc/src/__support/FPUtil/CMakeLists.txt
    M libc/src/__support/FPUtil/FEnvImpl.h
    M libc/src/__support/FPUtil/gpu/FMA.h
    M libc/src/__support/OSUtil/baremetal/CMakeLists.txt
    A libc/src/__support/OSUtil/baremetal/io.cpp
    M libc/src/__support/OSUtil/baremetal/io.h
    M libc/src/__support/UInt.h
    M libc/src/__support/macros/config.h
    M libc/src/__support/macros/optimization.h
    M libc/src/__support/macros/sanitizer.h
    M libc/src/__support/math_extras.h
    M libc/src/__support/memory_size.h
    M libc/src/string/memory_utils/generic/builtin.h
    M libc/src/string/memory_utils/utils.h
    M libc/test/src/__support/CPP/bit_test.cpp
    M libc/test/src/__support/math_extras_test.cpp
    M libc/utils/gpu/server/rpc_server.cpp
    M libcxx/include/__algorithm/copy.h
    M libcxx/include/__algorithm/copy_backward.h
    M libcxx/include/__algorithm/copy_move_common.h
    M libcxx/include/__algorithm/move.h
    M libcxx/include/__algorithm/move_backward.h
    M libcxx/include/__chrono/tzdb_list.h
    M libcxx/src/include/tzdb/tzdb_list_private.h
    M libcxx/src/tzdb_list.cpp
    M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturate_cast.pass.cpp
    M libcxx/utils/libcxx/test/params.py
    M lld/ELF/Driver.cpp
    M lld/ELF/Relocations.cpp
    M lld/ELF/Symbols.cpp
    M lld/MachO/ConcatOutputSection.cpp
    M lld/MachO/Config.h
    M lld/MachO/Driver.cpp
    M lld/MachO/InputSection.cpp
    M lld/MachO/InputSection.h
    M lld/MachO/MapFile.cpp
    M lld/MachO/ObjC.h
    M lld/MachO/Options.td
    M lld/MachO/SymbolTable.cpp
    M lld/MachO/SyntheticSections.cpp
    M lld/MachO/SyntheticSections.h
    M lld/MachO/Writer.cpp
    M lld/test/ELF/allow-multiple-definition.s
    M lld/test/ELF/common-gc2.s
    M lld/test/ELF/executable-undefined-ignoreall.s
    M lld/test/ELF/lto/libcall-archive.ll
    A lld/test/ELF/pack-dyn-relocs-ifunc.s
    M lld/test/ELF/relro-non-contiguous-script-data.s
    M lld/test/ELF/riscv-undefined-weak.s
    R lld/test/ELF/static-with-export-dynamic.s
    M lld/test/ELF/weak-undef.s
    M lld/test/ELF/x86-64-dyn-rel-error.s
    A lld/test/MachO/objc-relative-method-lists-simple.s
    M lldb/include/lldb/Symbol/UnwindTable.h
    M lldb/source/Core/Module.cpp
    M lldb/source/Host/common/Alarm.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Symbol/UnwindTable.cpp
    M lldb/source/Target/StackFrame.cpp
    A lldb/test/Shell/SymbolFile/target-symbols-add-unwind.test
    M llvm/bindings/ocaml/debuginfo/debuginfo_ocaml.c
    M llvm/bindings/ocaml/debuginfo/llvm_debuginfo.ml
    M llvm/bindings/ocaml/debuginfo/llvm_debuginfo.mli
    M llvm/bindings/ocaml/llvm/llvm.ml
    M llvm/bindings/ocaml/llvm/llvm.mli
    M llvm/bindings/ocaml/llvm/llvm_ocaml.c
    M llvm/bindings/ocaml/llvm/llvm_ocaml.h
    M llvm/docs/AMDGPUUsage.rst
    M llvm/docs/RemoveDIsDebugInfo.md
    M llvm/include/llvm-c/Core.h
    M llvm/include/llvm-c/DebugInfo.h
    M llvm/include/llvm/AsmParser/LLToken.h
    M llvm/include/llvm/BinaryFormat/Dwarf.def
    M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
    M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
    M llvm/include/llvm/IR/CallingConv.h
    M llvm/include/llvm/IR/GlobalValue.h
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/include/llvm/IR/ProfDataUtils.h
    M llvm/include/llvm/IR/Verifier.h
    M llvm/include/llvm/MC/ConstantPools.h
    M llvm/include/llvm/ProfileData/Coverage/CoverageMappingReader.h
    M llvm/include/llvm/ProfileData/InstrProf.h
    M llvm/include/llvm/Support/FormattedStream.h
    M llvm/include/llvm/Target/Target.td
    M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/lib/AsmParser/LLLexer.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/TargetRegisterInfo.cpp
    M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/Core.cpp
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/IR/Globals.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/IR/ProfDataUtils.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/MC/ConstantPools.cpp
    M llvm/lib/MC/ELFObjectWriter.cpp
    M llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
    M llvm/lib/Support/FormattedStream.cpp
    M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
    M llvm/lib/Target/ARM/MVETPAndVPTOptimisationsPass.cpp
    M llvm/lib/Target/ARM/Thumb1FrameLowering.cpp
    M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/RISCVCallingConv.td
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
    M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Transforms/IPO/SampleProfile.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Scalar/GVNHoist.cpp
    M llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
    M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Bindings/OCaml/core.ml
    M llvm/test/Bindings/OCaml/debuginfo.ml
    M llvm/test/CodeGen/AArch64/GlobalISel/load-addressing-modes.mir
    M llvm/test/CodeGen/AArch64/aarch64-split-and-bitmask-immediate.ll
    M llvm/test/CodeGen/AArch64/arm64-abi_align.ll
    A llvm/test/CodeGen/AArch64/peephole-movd.mir
    A llvm/test/CodeGen/AArch64/pr86717.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pown.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll
    M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insertelement.ll
    M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/insertelement.ll
    A llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-funcattr.ll
    A llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-loadaddr.ll
    A llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-targetattr.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-vacopy.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/vararg.ll
    M llvm/test/CodeGen/RISCV/rv64zba.ll
    A llvm/test/CodeGen/RISCV/rvv/callee-saved-regs.ll
    M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll
    A llvm/test/CodeGen/SPIRV/pointers/nested-struct-opaque-pointers.ll
    M llvm/test/CodeGen/SPIRV/pointers/struct-opaque-pointers.ll
    M llvm/test/CodeGen/SPIRV/pointers/type-deduce-by-call-chain.ll
    M llvm/test/CodeGen/Thumb2/mve-vpt-optimisations.mir
    M llvm/test/CodeGen/X86/2009-06-05-VariableIndexInsert.ll
    A llvm/test/CodeGen/X86/apx/foldimmediate.mir
    M llvm/test/CodeGen/X86/combine-pavg.ll
    M llvm/test/CodeGen/X86/extractelement-load.ll
    M llvm/test/CodeGen/X86/huge-stack-offset.ll
    M llvm/test/CodeGen/X86/huge-stack-offset2.ll
    M llvm/test/CodeGen/X86/insertelement-var-index.ll
    M llvm/test/CodeGen/X86/masked_store.ll
    M llvm/test/CodeGen/X86/pr45378.ll
    M llvm/test/CodeGen/X86/setcc-non-simple-type.ll
    M llvm/test/CodeGen/X86/shrink_vmul.ll
    M llvm/test/CodeGen/X86/var-permute-128.ll
    M llvm/test/CodeGen/X86/vec_int_to_fp.ll
    A llvm/test/Instrumentation/HWAddressSanitizer/globals-access.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope-setjmp.ll
    A llvm/test/MC/AArch64/constant-pool-sizes.s
    M llvm/test/TableGen/ConcatenatedSubregs.td
    A llvm/test/TableGen/HwModeSubRegs.td
    A llvm/test/Transforms/GVNHoist/hoist-merge-geps.ll
    M llvm/test/Transforms/InferAddressSpaces/AMDGPU/mem-intrinsics.ll
    A llvm/test/Transforms/Inline/update_invoke_prof.ll
    A llvm/test/Transforms/Inline/update_value_profile.ll
    M llvm/test/Transforms/InstCombine/struct-assign-tbaa.ll
    M llvm/test/Transforms/LoopRotate/update-branch-weights.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr81872.ll
    A llvm/test/Transforms/SLPVectorizer/RISCV/reduction-extension-after-bitwidth.ll
    M llvm/test/Transforms/SLPVectorizer/SystemZ/minbitwidth-root-trunc.ll
    A llvm/test/Transforms/SLPVectorizer/X86/phi-node-bitwidt-op-not.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder-possible-strided-node.ll
    M llvm/test/Transforms/SROA/tbaa-struct3.ll
    A llvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-callee-profile-mismatch.prof
    A llvm/test/Transforms/SampleProfile/csspgo-profile-checksum-mismatch-attr.ll
    A llvm/test/Transforms/SampleProfile/pseudo-probe-callee-profile-mismatch.ll
    A llvm/test/Transforms/SampleProfile/pseudo-probe-profile-mismatch-error.ll
    M llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-matching-lto.ll
    M llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-matching.ll
    M llvm/test/Transforms/Scalarizer/basic-inseltpoison.ll
    M llvm/test/Transforms/Scalarizer/basic.ll
    M llvm/test/Transforms/TailCallElim/debugloc.ll
    M llvm/test/Verifier/tbaa-struct.ll
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/lanai_isel.ll.expected
    M llvm/tools/llvm-c-test/debuginfo.c
    M llvm/tools/llvm-exegesis/lib/SubprocessMemory.cpp
    M llvm/tools/llvm-mc/llvm-mc.cpp
    M llvm/tools/llvm-objdump/llvm-objdump.cpp
    M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
    M llvm/utils/TableGen/Common/CodeGenRegisters.h
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
    M llvm/utils/TableGen/Common/InfoByHwMode.cpp
    M llvm/utils/TableGen/Common/InfoByHwMode.h
    M llvm/utils/TableGen/RegisterInfoEmitter.cpp
    M llvm/utils/git/github-automation.py
    M mlir/examples/transform/Ch4/include/MyExtension.td
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgMatchOps.h
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgMatchOps.td
    M mlir/include/mlir/Dialect/SCF/TransformOps/SCFTransformOps.td
    M mlir/include/mlir/Dialect/SCF/Utils/Utils.h
    M mlir/include/mlir/Dialect/SparseTensor/TransformOps/SparseTensorTransformOps.h
    M mlir/include/mlir/Dialect/SparseTensor/TransformOps/SparseTensorTransformOps.td
    M mlir/include/mlir/Dialect/Transform/DebugExtension/DebugExtensionOps.h
    M mlir/include/mlir/Dialect/Transform/DebugExtension/DebugExtensionOps.td
    M mlir/include/mlir/Dialect/Transform/IR/CMakeLists.txt
    R mlir/include/mlir/Dialect/Transform/IR/MatchInterfaces.h
    R mlir/include/mlir/Dialect/Transform/IR/MatchInterfaces.td
    M mlir/include/mlir/Dialect/Transform/IR/TransformOps.h
    M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
    M mlir/include/mlir/Dialect/Transform/Interfaces/CMakeLists.txt
    A mlir/include/mlir/Dialect/Transform/Interfaces/MatchInterfaces.h
    A mlir/include/mlir/Dialect/Transform/Interfaces/MatchInterfaces.td
    M mlir/include/mlir/IR/Dialect.h
    M mlir/lib/Dialect/Arith/IR/ArithDialect.cpp
    M mlir/lib/Dialect/Complex/IR/ComplexDialect.cpp
    M mlir/lib/Dialect/ControlFlow/IR/ControlFlowOps.cpp
    M mlir/lib/Dialect/Func/IR/FuncOps.cpp
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    M mlir/lib/Dialect/Index/IR/IndexDialect.cpp
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgDialect.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgMatchOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
    M mlir/lib/Dialect/Math/IR/MathDialect.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefDialect.cpp
    M mlir/lib/Dialect/SCF/IR/SCF.cpp
    M mlir/lib/Dialect/SCF/TransformOps/SCFTransformOps.cpp
    M mlir/lib/Dialect/SCF/Utils/Utils.cpp
    M mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorDialect.cpp
    M mlir/lib/Dialect/Transform/IR/CMakeLists.txt
    R mlir/lib/Dialect/Transform/IR/MatchInterfaces.cpp
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
    M mlir/lib/Dialect/Transform/Interfaces/CMakeLists.txt
    A mlir/lib/Dialect/Transform/Interfaces/MatchInterfaces.cpp
    M mlir/lib/Dialect/UB/IR/UBOps.cpp
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/ExecutionEngine/CRunnerUtils.cpp
    M mlir/test/Dialect/Linalg/data-layout-propagation.mlir
    M mlir/test/Dialect/SCF/transform-loop-fuse-sibling.mlir
    M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.h
    M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.td
    M mlir/test/mlir-cpu-runner/test-expand-math-approx.mlir
    M mlir/unittests/IR/InterfaceAttachmentTest.cpp
    M openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
    M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
    M openmp/libomptarget/plugins-nextgen/host/dynamic_ffi/ffi.cpp
    M openmp/libomptarget/src/device.cpp
    M openmp/libomptarget/src/interface.cpp
    M openmp/libomptarget/src/omptarget.cpp
    M openmp/runtime/src/kmp_runtime.cpp
    M openmp/runtime/src/kmp_taskdeps.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel

  Log Message:
  -----------
  Rebase, address comments

Created using spr 1.3.5


Compare: https://github.com/llvm/llvm-project/compare/6abbd750e3cb...7bc23cf619b2

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