3 ms·
The analysis is flawed because it merely takes into the account the fact that ebp is callee saved verses using a different register that is caller saved. But u
by aliguori 16y ago
The analysis is flawed because it merely takes into the account the fact that ebp is callee saved verses using a different register that is caller saved. But ultimately, the register still needs to be spilled somewhere so you're not changing the overall amount of work done.
Furthermore, it doesn't take into account the fact that by using ebp as a GP register, you've got an additional register to work with which eliminates additional spilling.
Basically, there's nothing to see here.
- ice799 16y agoSpilling has nothing to do with this. GCC has the chance to pick another GPR that is caller saved but instead picks a callee saved register. This decision increases the size of libc by 1% when compiled with -fomit-frame-pointer[1]. [1] http://sources.redhat.com/ml/libc-alpha/2010-07/msg00022.html http://sources.redhat.com/ml/libc-alpha/2010-07/msg00022.htm...