Zcmp push/pop can reduce more code size then save-restore calls. There are two reasons, 1. Call for save-restore calls needs 4-8 bytes, but Zcmp push/pop only needs 2 bytes. 2. Zcmp push/pop can also handles small shift of sp.
-mbb-profile-dump