[libc-commits] [PATCH] D143261: [libc][AArch64] Fix fullbuild when using G++/GCC

David Spickett via Phabricator via libc-commits libc-commits at lists.llvm.org
Mon Feb 6 03:10:35 PST 2023


DavidSpickett marked an inline comment as done.
DavidSpickett added a comment.

> Checking a clang build, it is there so maybe I am wrong but I will do some more investigation.

I looked into what this compiles down to and it turns out that with frame pointers on AArch64, there's always going to be a `mov x29, sp` somewhere before calling start_thread. Whether we add one or not. clang could remove the `__arm_wsr64` call in some circumstances but in this one it does not. Even if it did remove it here, there would be another mov to achieve the same thing.

https://godbolt.org/z/6vK8GEvfj

1 extra instruction is not an issue, it documents what we're doing nicely and puts the mov nearer to the start_thread call for anyone (like me) who went looking for it.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D143261/new/

https://reviews.llvm.org/D143261



More information about the libc-commits mailing list