SuccessChanges

Summary

  1. [InstCombine] fix miscompile from umul_with_overflow matching (details)
  2. [clang] Fix two tests that are affected by llvm opt change (details)
  3. Revert "[libcxx] Put clang::trivial_abi on std::unique_ptr, std::shared_ptr, and std::weak_ptr" (details)
Commit 3b8ae1001f678be00507f15df0ffaccafec1dae9 by spatel
[InstCombine] fix miscompile from umul_with_overflow matching

As noted in PR46561:
https://bugs.llvm.org/show_bug.cgi?id=46561
...it takes something beyond a minimal IR example to trigger
this bug because it relies on matching non-canonical IR.

There are no tests that show the need for matching this
pattern, so I'm just deleting it to fix the miscompile.
The file was modifiedllvm/test/Transforms/InstCombine/icmp-mul-zext.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
Commit 7fed3cfadbdfe1880e16c217a0edac97cbe288d2 by lebedev.ri
[clang] Fix two tests that are affected by llvm opt change
The file was modifiedclang/test/CodeGenOpenCL/convergent.cl
The file was modifiedclang/test/CodeGen/thinlto-distributed-cfi-devirt.ll
Commit dc13ac02800220a33828ac3da629f382ca7e308d by vyng
Revert "[libcxx] Put clang::trivial_abi on std::unique_ptr, std::shared_ptr, and std::weak_ptr"

This reverts commit 5cde3c9633fd071c90e9f9ce54a002e78fdd9df9.

The tests were reported failing on clang10
The file was modifiedlibcxx/include/memory
The file was removedlibcxx/docs/DesignDocs/UniquePtrTrivialAbi.rst
The file was modifiedlibcxx/docs/index.rst
The file was removedlibcxx/test/libcxx/memory/trivial_abi/weak_ptr_ret.pass.cpp
The file was removedlibcxx/test/libcxx/memory/trivial_abi/unique_ptr_arg.pass.cpp
The file was removedlibcxx/test/libcxx/memory/trivial_abi/unique_ptr_array.pass.cpp
The file was removedlibcxx/test/libcxx/memory/trivial_abi/shared_ptr_arg.pass.cpp
The file was removedlibcxx/test/libcxx/memory/trivial_abi/unique_ptr_destruction_order.pass.cpp
The file was modifiedlibcxx/include/__config
The file was removedlibcxx/test/libcxx/memory/trivial_abi/unique_ptr_ret.pass.cpp