SuccessChanges

Summary

  1. Suppress -Wctad-maybe-unsupported on types w/o deduction guides. There are a handful of standard library types that are intended to support CTAD but don't need any explicit deduction guides to do so. This patch adds a dummy deduction guide to those types to suppress -Wctad-maybe-unsupported (which gets emitted in user code).
  2. [Transforms] Do not drop !preserve.access.index metadata Currently, when a GVN or CSE optimization happens, the llvm.preserve.access.index metadata is dropped. This caused a problem for BPF AbstructMemberOffset phase as it relies on the metadata (debuginfo types). This patch added proper hooks in lib/Transforms to preserve !preserve.access.index metadata. A test case is added to ensure metadata is preserved under CSE. Differential Revision: https://reviews.llvm.org/D65700
  3. [DAGCombiner] Prevent the combine added in r367710 from creating illegal types after type legalization. This is further fix for PR42880. Sanjay already disabled the X86 TLI hook for non-simple types, but we should really call isTypeLegal here if we're after type legalization.
Revision 367770 by ericwf:
Suppress -Wctad-maybe-unsupported on types w/o deduction guides.

There are a handful of standard library types that are intended
to support CTAD but don't need any explicit deduction guides to
do so.

This patch adds a dummy deduction guide to those types to suppress
-Wctad-maybe-unsupported (which gets emitted in user code).
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/include/__configlibcxx.src/include/__config
The file was modified/libcxx/trunk/include/__mutex_baselibcxx.src/include/__mutex_base
The file was modified/libcxx/trunk/include/functionallibcxx.src/include/functional
The file was modified/libcxx/trunk/include/iteratorlibcxx.src/include/iterator
The file was modified/libcxx/trunk/include/mutexlibcxx.src/include/mutex
The file was modified/libcxx/trunk/include/shared_mutexlibcxx.src/include/shared_mutex
The file was modified/libcxx/trunk/include/string_viewlibcxx.src/include/string_view
The file was added/libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/back.insert.iterator/implicit_ctad.pass.cpplibcxx.src/test/std/iterators/predef.iterators/insert.iterators/back.insert.iterator/implicit_ctad.pass.cpp
The file was modified/libcxx/trunk/utils/libcxx/test/config.pylibcxx.src/utils/libcxx/test/config.py
Revision 367769 by yhs:
[Transforms] Do not drop !preserve.access.index metadata

Currently, when a GVN or CSE optimization happens,
the llvm.preserve.access.index metadata is dropped.
This caused a problem for BPF AbstructMemberOffset phase
as it relies on the metadata (debuginfo types).

This patch added proper hooks in lib/Transforms to
preserve !preserve.access.index metadata. A test
case is added to ensure metadata is preserved under CSE.

Differential Revision: https://reviews.llvm.org/D65700
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Utils/Local.cppllvm.src/lib/Transforms/Utils/Local.cpp
The file was modified/llvm/trunk/lib/Transforms/Utils/SimplifyCFG.cppllvm.src/lib/Transforms/Utils/SimplifyCFG.cpp
The file was added/llvm/trunk/test/CodeGen/BPF/CORE/intrinsic-transforms.llllvm.src/test/CodeGen/BPF/CORE/intrinsic-transforms.ll
Revision 367768 by ctopper:
[DAGCombiner] Prevent the combine added in r367710 from creating illegal types after type legalization.

This is further fix for PR42880.

Sanjay already disabled the X86 TLI hook for non-simple types,
but we should really call isTypeLegal here if we're after type
legalization.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cppllvm.src/lib/CodeGen/SelectionDAG/DAGCombiner.cpp