[PATCH] D54472: Disable invalid isPodLike<> specialization

serge via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 20 02:24:17 PST 2018


serge-sans-paille added a comment.

>   What types in LLVM do we want the memcpy optimization for which fail a modern compiler's std::is_trivially_copyable? We should fix those first IMO.

Based on the one that had a `isPodLike` specialization, and that don't match the `std::is_trivially_copyable` trait

- `std::pair<T0, T1>` << this one is out of control
- llvm::Optional<T>  << I'll check that one and report
- llvm::SuccIterator<T, U> << itou

> What compilers / standard libraries actually cannot implement std::is_trivially_copyable? I suspect we could simulate it very closely (without the specialization hacks) on most if not all of them.

I'll investigate that, but wonder if it's worth the effort.


https://reviews.llvm.org/D54472





More information about the llvm-commits mailing list