¿Por qué se asigna memoria de pila cuando no se usa?

Considere el siguiente ejemplo: struct vector { int size() const; bool empty() const; }; bool vector::empty() const { return size() == 0; } El código de ensamblaje generado para vector::empty(por clang, con optimizaciones): push rax call vector::size() const test eax, eax sete al pop...