[PATCH] D39700: [Builtins] Do not use tailcall for Thumb1

Rich Felker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 7 14:07:10 PST 2017


dalias added a comment.

In musl we do not define the __aeabi_* functions for the sake of having optimized implementations but simply for ABI conformance. They are specifically and intentionally NOT optimized since their ABIs (special rules about which registers they don't clobber) preclude writing them in C, and also make it hard to do the potentially-more-worthwhile optimizations like vectorization (since you don't have vector scratch registers). With this in mind, I would strongly recommend against ever generating calls to them. Our view on the musl side is that they exist just for minimal (i.e. non-performance) ABI compat with code that might have been compiled with a legacy compiler making use of them.


https://reviews.llvm.org/D39700





More information about the llvm-commits mailing list