]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/config/i386/i386.h
Emit the prologue/epilogue using frame offsets.
authorRichard Henderson <rth@redhat.com>
Wed, 4 Aug 2010 23:58:20 +0000 (16:58 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Wed, 4 Aug 2010 23:58:20 +0000 (16:58 -0700)
commitec7ded37e7550ed1e9f133b959fe92ff6fdf791d
treeeb7f0b5567cc7d6cb922b0481b3d5febf7bb2646
parent17959958bc8dbb861fb25cbf0edec426317e68bc
Emit the prologue/epilogue using frame offsets.

Record register save offsets in ix86_frame.

Move SP/FP offsets into the global state; update them everywhere
we currently handle CFA offsets.

Use that global state to choose base registers and offsets for
the register saves and restores.

There is a bug fix contained herein, whereby r11 could be clobbered
along an indirect sibcall path when the stack frame is very large (>2GB).
The emit_restore_{sse_,}regs_using_mov functions didn't handle this
case, but pro_epilogue_adjust_stack does.

From-SVN: r162888
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/config/i386/i386.h