aaron.ballman added a comment. In D144889#4155686 <https://reviews.llvm.org/D144889#4155686>, @efriedma wrote:
> Providing this header doesn't do anything useful without an actual > implementation; all of these "__builtin" calls just lower to libc calls in > the general case. How do you plan to provide implementations? I *thought* that the difference between: https://github.com/llvm/llvm-project/blob/main/clang/include/clang/Basic/Builtins.def#L1038 and https://github.com/llvm/llvm-project/blob/main/clang/include/clang/Basic/Builtins.def#L559 was that the first one is lowered to a potential library call while the second one is is lowered to a backend implementation that performs the work. (This is why I thought we would not be able to support `memccpy` or `strtok` -- they were missing the `__builtin_` variants.) If the backend is just going to generate a library call that requires an external library when calling a `__builtin_`, then I agree that there's more here that needs to be done. How do we typically handle it for freestanding functions? Do we implement something in compiler-rt as a fallback, or do we emit LLVM IR for the function implementation, etc? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D144889/new/ https://reviews.llvm.org/D144889 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits