Create the *logue in the same order as before (PR77962)
authorSegher Boessenkool <segher@kernel.crashing.org>
Thu, 13 Oct 2016 18:25:15 +0000 (20:25 +0200)
committerSegher Boessenkool <segher@gcc.gnu.org>
Thu, 13 Oct 2016 18:25:15 +0000 (20:25 +0200)
commit7dca85bf15de2cdb18cc1c3f1706c603fb91f8fb
tree80b08ba8169eefc90b1543b1221d2a682bbf3ef9
parentc3e8838989fb2b0f5c26fc67bc60a92574dff9c2
Create the *logue in the same order as before (PR77962)

PR77962 shows Go failing on 32-bit x86.  This happens because the i386
port requires the split stack prologue to be created before the normal
prologue, and my previous patch changed it to be the other way around.

This patch changes it back.  Things will be exactly as before for targets
that do not do shrink-wrapping for separate components.  For targets
that *do* support it, all three prologue/epilogue creation functions
will now be called twice for functions that have anything wrapped
separately (instead of just the prologue created twice).

PR bootstrap/77962
* function.c (thread_prologue_and_epilogue_insns): Call all
make_*logue_seq in the same order as traditional.  Call them
all a second time if shrink_wrapped-separate.

From-SVN: r241135
gcc/ChangeLog
gcc/function.c