gchatelet added inline comments.
================ Comment at: clang/include/clang/Basic/Builtins.def:489 BUILTIN(__builtin_memcpy_inline, "vv*vC*Iz", "nt") +BUILTIN(__builtin_overloaded_memcpy, "v*v*vC*z", "nt") BUILTIN(__builtin_memmove, "v*v*vC*z", "nF") ---------------- jfb wrote: > gchatelet wrote: > > `overloaded` doesn't bring much semantic (says the one who added > > `__builtin_memcpy_inline`...). Can you come up with something that > > describes more precisely what the intends are? > > > > Also `memset`, `memcmp`, `memcpy`, `memmove` will have their `inline` and > > `overloaded` versions. This is becoming a crowded space. It may be > > confusing in the long run. If we want to go in that direction maybe we > > should come up with a consistent pattern: `__builtin_<memfun>_<feature>`. > > WDYT? > Flipping it around is fine with me, see update (done with `sed`). > > What's your approach on choosing what gets an `inline` variant and what > doesn't? `memcmp` is easy to add, but I wonder how far it's useful to go... I > can just wait for requests as well (as I imagine you're doing?). I don't see `memmove_inline` being useful but memset and memcmp would make sense to add as building blocks for C++ implementations (e.g. [[ https://github.com/llvm/llvm-project/blob/master/libc/src/string/memcpy.cpp | libc memcpy ]]) As for this new addition, how about `__builtin_memcpy_honor_qualifiers`? I fear that `__builtin_memcpy_overloaded` is too ambiguous. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79279/new/ https://reviews.llvm.org/D79279 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits