SuccessChanges

Summary

  1. GlobalISel: Verify G_BITCAST changes the type (details)
  2. PR46640: Permit the first parameter of a destroying 'operator delete' to (details)
  3. sanitizers: Add interceptors for getproto{ent,byname,bynumber}_r (details)
  4. [mlir] [VectorOps] Expose lowering pass options programmatically (details)
  5. Unify the ExecutionContextScope computation in Materializer. (details)
  6. [InstSimplify] Add test cases for opportunities to fold select ?, X, undef -> X when we can prove X isn't poison (details)
  7. DAG: Remove redundant handling of reg fixups (details)
  8. Updated the list of supported platforms in LLDB to include Apple silicon. (details)
  9. [OpenMP] Initial support for std::complex in target regions (details)
  10. [gn build] Port d999cbc9883 (details)
  11. DAG: Remove redundant finalizeLowering call (details)
Commit 74a148ad39ab32317948a2d6291264acd84bfa00 by Matthew.Arsenault
GlobalISel: Verify G_BITCAST changes the type

Updated the AArch64 tests the best I could with my vague, inferred
understanding of AArch64 register banks. As far as I can tell, there
is only one 32-bit/64-bit type which will use the gpr register bank,
so we have to use the fpr bank for the other operand.
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-simple.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-bitcast.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-bitcast.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/arm64-regbankselect.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-redundant-zext.mir
The file was modifiedllvm/lib/CodeGen/MachineVerifier.cpp
The file was modifiedllvm/test/MachineVerifier/test_g_bitcast.mir
Commit 903bda14c330505ebede522a1f55673d88909c6d by richard
PR46640: Permit the first parameter of a destroying 'operator delete' to
be dependent if it names the right type.

This matches the GCC behavior, but no longer matches the standard
wording. However, the standard wording in this case is not in line with
the intent, which was to require the enclosing class type to be named
directly. I've reported this wording oversight to the committee.
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/test/SemaCXX/cxx2a-destroying-delete.cpp
Commit 339f1b49037bd7fbd1454c872bcfd1bb6c380f5d by guiand
sanitizers: Add interceptors for getproto{ent,byname,bynumber}_r

This also allows intercepting these getprotoent functions on Linux as
well, since Linux exposes them.

Differential Revision: https://reviews.llvm.org/D82424
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_limits_netbsd.h
The file was addedcompiler-rt/test/sanitizer_common/TestCases/Linux/protoent.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
Commit 1bfdf7c7e310d69190bbf8c9adcbd853b6b83596 by ajcbik
[mlir] [VectorOps] Expose lowering pass options programmatically

The ConvertVectorToLLVM pass defines options that can be passed
on the command line (currently only reassociation of FP reductions
through -convert-vector-to-llvm='reassociate-fp-reductions). This
CL enables setting these options programmatically (forward looking
to more options than just reassociation, as well as setting the
values from code rather than command line).

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D83420
The file was modifiedmlir/include/mlir/Conversion/VectorToLLVM/ConvertVectorToLLVM.h
The file was modifiedmlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
Commit 3728133d3f124c4c6972b118b0265de48ba89db1 by Adrian Prantl
Unify the ExecutionContextScope computation in Materializer.

This is an NFC cleanup for Clang, and a bugfix for the Swift
branch. In swift-lldb one target may have multiple scratch
TypeSystems, so it is important to pick the one that belongs to the
current frame, rather than the one for the current target.

<rdar://problem/65001402>
The file was modifiedlldb/source/Expression/Materializer.cpp
Commit ac0af12ed2fc60cba494a7e5df1778fd6dedd481 by craig.topper
[InstSimplify] Add test cases for opportunities to fold select ?, X, undef -> X when we can prove X isn't poison

Part of addressing post-commit feedback from D83360
The file was modifiedllvm/test/Transforms/InstSimplify/select.ll
Commit 2ec5fc0c61fb4472bd5f9ea71130cdba215ed9a8 by Matthew.Arsenault
DAG: Remove redundant handling of reg fixups

It looks like 9cac4e6d1403554b06ec2fc9d834087b1234b695 accidentally
added a second copy of this from a bad rebase or something. This
second copy was added, and the finalizeLowering call was not deleted
as intended.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Commit 9726dc4d072376f71c40024804e3bf1193ba5dd8 by Adrian Prantl
Updated the list of supported platforms in LLDB to include Apple silicon.
The file was modifiedlldb/docs/index.rst
Commit d999cbc98832154e15e786b98281211d5c1b9f5d by johannes
[OpenMP] Initial support for std::complex in target regions

This simply follows the scheme we have for other wrappers. It resolves
the current link problem, e.g., `__muldc3 not found`, when std::complex
operations are used on a device.

This will not allow complex make math function calls to work properly,
e.g., sin, but that is more complex (pan intended) anyway.

Reviewed By: tra, JonChesterfield

Differential Revision: https://reviews.llvm.org/D80897
The file was addedclang/test/Headers/Inputs/include/complex
The file was modifiedclang/test/Headers/Inputs/include/cstdlib
The file was modifiedclang/lib/Headers/__clang_cuda_complex_builtins.h
The file was modifiedclang/test/Headers/nvptx_device_math_complex.c
The file was modifiedclang/lib/Headers/CMakeLists.txt
The file was addedclang/test/Headers/nvptx_device_math_complex.cpp
The file was modifiedclang/lib/Headers/__clang_cuda_math.h
The file was modifiedclang/test/Headers/Inputs/include/cmath
The file was addedclang/lib/Headers/openmp_wrappers/complex.h
The file was addedclang/lib/Headers/openmp_wrappers/complex
Commit 3101fc692d2443226e749b8a643603efee695acc by llvmgnsyncbot
[gn build] Port d999cbc9883
The file was modifiedllvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Commit 18bd821f02261065a2235e43c7290b57d55224c8 by Matthew.Arsenault
DAG: Remove redundant finalizeLowering call

9cac4e6d1403554b06ec2fc9d834087b1234b695/D32628 intended to eliminate
this, and move all isel pseudo expansion to FinalizeISel. This was a
bad rebase or something, and failed to actually delete this call.

GlobalISel also has a redundant call of finalizeLowering. However, it
requires more work to remove it since it currently triggers a lot of
verifier errors in tests.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp