[PATCH] D22725: [clang-tidy] Add check 'misc-replace-memcpy'
Aaron Ballman via cfe-commits
cfe-commits at lists.llvm.org
Sat Jul 23 10:38:58 PDT 2016
aaron.ballman added a comment.
In https://reviews.llvm.org/D22725#493942, @JDevlieghere wrote:
> In https://reviews.llvm.org/D22725#493940, @aaron.ballman wrote:
>
> > > Using std::copy opens up the possibility of type-aware optimizations which are not possible with memcpy.
> >
> >
> > To my knowledge, those type-aware optimizations are for transforming copies involving trivially-copyable types into calls to memcpy(). What other optimizations does this check enable?
>
>
> I might be mistaken, but I understood that a call to std::copy (whether or not specialized for certain types) might get inlined, while a call to memcpy is typically not.
The optimizer can be quite smart about memcpy(). For instance: https://godbolt.org/g/INfHWE
If we know of specific cases where std::memcpy() is used, but std::copy() will provide better performance metrics, that would be really interesting to know.
Repository:
rL LLVM
https://reviews.llvm.org/D22725
More information about the cfe-commits
mailing list