cherry-pick gcc r217091.

This change is re-based and modified to work with the older context, as the
context code is changed a lot in GCC trunk.
It is about to insert some barriers on stack-pointer register, so that the
adjust-stack-pointer code does not get scheduled before any code in the
fuction epilogue, which may access some stack space without explicit use of
stack pointer.
Examples are a load from an auto array and some access to an area of alloca.
Anyway, the barriers would make all such alias dependences not violated.
For more details, please refer to GCC bug 63293.
(Personally I think there may be a bit too many barriers generated.)

Change-Id: I61ea54e500b6965feab69a62165d10b6c3a21c20
2 files changed
tree: 91cf8eebe473431852889fc0ee7fcaa2127e8e80
  1. gcc-4.8/
  2. gcc-4.9/