When optimizing for size, replace "addl $4, %esp" and "addl $8, %esp" following a call by one or two pops, respectively.
This patch doesn't try to do it in general, but only when the stack adjustment immediately follows a call - which is the most common case.
That allows taking a short-cut when trying to find a free register to pop into, instead of a full-blown liveness check. If the adjustment immediately follows a call, then every register the call clobbers but doesn't define should be dead at that point, and can be used.
Is PopSize interestingly different from SlotSize?