[PATCH] D57915: [COFF, ARM64] Remove definitions for _byteswap library functions

Roman Lebedev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Feb 7 13:12:48 PST 2019

lebedev.ri added a comment.

In D57915#1389549 <https://reviews.llvm.org/D57915#1389549>, @TomTan wrote:

> Added the tests back. Clang IR should not lower these to bswap calls because they are global library functions. It might be slower to make the call to library function than bswap, but this is the same for other architectures supported by Windows. And just redefine global library function triggers link error in some scenarios.

I think there is some deeper reasoning is being omitted here.
//Why// does the fact that those are "global library functions" bans clang from lowering them into IR?
(and thus, "prevents" LLVM form doing optimizations)



More information about the cfe-commits mailing list