OSDN Git Service

Optimize -mstackrealign.
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 30 Oct 2009 14:32:26 +0000 (14:32 +0000)
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 30 Oct 2009 14:32:26 +0000 (14:32 +0000)
commitc0a05dc07c81f8eb7c5b8353e0deb9c59ec46e89
tree34c9b70bbe8d98f1da599ea7373429d1618f4427
parentd2697a05cf2f32580744df7b80f81df24d00e276
Optimize -mstackrealign.

gcc/

2009-10-30  H.J. Lu  <hongjiu.lu@intel.com>

PR target/40836
* cfgexpand.c (expand_stack_alignment): Call update_stack_boundary
first.  Move assert on stack_alignment_estimated just before
setting stack_realign_needed.
(gimple_expand_cfg): Initialize stack_alignment_estimated to 0.
Don't call update_stack_boundary.

* config/i386/i386.c (ix86_minimum_incoming_stack_boundary): New.
(verride_options): Don't check ix86_force_align_arg_pointer here.
(ix86_function_ok_for_sibcall): Use it.
(ix86_update_stack_boundary): Likewise.

* config/i386/i386.h (STACK_REALIGN_DEFAULT): Update comments.

gcc/testsuite/

2009-10-30  H.J. Lu  <hongjiu.lu@intel.com>

PR target/40838
* gcc.target/i386/incoming-6.c: New.
* gcc.target/i386/incoming-7.c: Likewise.
* gcc.target/i386/incoming-8.c: Likewise.
* gcc.target/i386/incoming-9.c: Likewise.
* gcc.target/i386/incoming-10.c: Likewise.
* gcc.target/i386/incoming-11.c: Likewise.
* gcc.target/i386/incoming-12.c: Likewise.
* gcc.target/i386/incoming-13.c: Likewise.
* gcc.target/i386/incoming-14.c: Likewise.
* gcc.target/i386/incoming-15.c: Likewise.
* gcc.target/i386/pr37843-4.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153750 138bc75d-0d04-0410-961f-82ee72b054a4
16 files changed:
gcc/ChangeLog
gcc/cfgexpand.c
gcc/config/i386/i386.c
gcc/config/i386/i386.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/incoming-10.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/incoming-11.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/incoming-12.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/incoming-13.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/incoming-14.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/incoming-15.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/incoming-6.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/incoming-7.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/incoming-8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/incoming-9.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr37843-4.c [new file with mode: 0644]