Changes
Summary
- 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).
- [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
- [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 Type | Path in Repository | Path in Workspace |
---|---|---|
![]() | /libcxx/trunk/include/__config | libcxx.src/include/__config |
![]() | /libcxx/trunk/include/__mutex_base | libcxx.src/include/__mutex_base |
![]() | /libcxx/trunk/include/functional | libcxx.src/include/functional |
![]() | /libcxx/trunk/include/iterator | libcxx.src/include/iterator |
![]() | /libcxx/trunk/include/mutex | libcxx.src/include/mutex |
![]() | /libcxx/trunk/include/shared_mutex | libcxx.src/include/shared_mutex |
![]() | /libcxx/trunk/include/string_view | libcxx.src/include/string_view |
![]() | /libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/back.insert.iterator/implicit_ctad.pass.cpp | libcxx.src/test/std/iterators/predef.iterators/insert.iterators/back.insert.iterator/implicit_ctad.pass.cpp |
![]() | /libcxx/trunk/utils/libcxx/test/config.py | libcxx.src/utils/libcxx/test/config.py |
Change Type | Path in Repository | Path in Workspace |
![]() | /llvm/trunk/lib/Transforms/Utils/Local.cpp | llvm.src/lib/Transforms/Utils/Local.cpp |
![]() | /llvm/trunk/lib/Transforms/Utils/SimplifyCFG.cpp | llvm.src/lib/Transforms/Utils/SimplifyCFG.cpp |
![]() | /llvm/trunk/test/CodeGen/BPF/CORE/intrinsic-transforms.ll | llvm.src/test/CodeGen/BPF/CORE/intrinsic-transforms.ll |
Change Type | Path in Repository | Path in Workspace |
![]() | /llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | llvm.src/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |