https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67856
--- Comment #3 from Segher Boessenkool <segher at gcc dot gnu.org> --- Currently, shrink-wrapping does not allow any call to happen without prologue (see shrink-wrap.c:requires_stack_frame_p). On x86-64, if you do not have a prologue but do do a call, the called function will be entered with unexpected stack alignment, as far as I can see? Letting shrink-wrapping do the non-volatile register save separately from the other things the prologue does requires to first have the prologue split into parts each doing one thing (and epilogue too).