OSDN Git Service

2004-10-01 Jakub Jelinek <jakub@redhat.com>
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 1 Oct 2004 07:43:03 +0000 (07:43 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 1 Oct 2004 07:43:03 +0000 (07:43 +0000)
commita8de373224425ffefd70fc9194124b79ccb9306a
treea582f845763856e5c9c0cdb2a1ee2ad60b0089d5
parent8ff30ff667615cfff1615bd94ddc11c4efce521d
2004-10-01  Jakub Jelinek  <jakub@redhat.com>

Revert
2004-09-29  Jakub Jelinek  <jakub@redhat.com>

* tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD
and TI_VA_LIST_FPR_COUNTER_FIELD.
(va_list_gpr_counter_field, va_list_fpr_counter_field): Define.
* tree-pass.h (pass_stdarg): Add.
* tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg.
* tree-stdarg.c: New file.
* Makefile.in (OBJS-common): Add tree-stdarg.o.
(tree-stdarg.o): Add dependencies.
* function.h (struct function): Add va_list_gpr_size and
va_list_fpr_size fields.
* function.c (allocate_struct_function): Initialize them.

* config/i386/i386.c (ix86_build_builtin_va_list): Initialize
va_list_{g,f}pr_counter_field.
(ix86_setup_incoming_varargs): Don't do anything if reg_save
area will not be used.  Only save registers that tree-stdarg.c
detected they need saving.
(ix86_va_start): Don't set up fields that won't be used.

* config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize
va_list_{g,f}pr_counter_field.
(setup_incoming_varargs): Don't do anything if reg_save
area will not be used.  Only save registers that tree-stdarg.c
detected they need saving.
(rs6000_va_start): Don't set up fields that won't be used.

* gcc.dg/tree-ssa/stdarg-1.c: Removed.
* gcc.dg/tree-ssa/stdarg-2.c: Removed.
* gcc.dg/tree-ssa/stdarg-3.c: Removed.
* gcc.dg/tree-ssa/stdarg-4.c: Removed.
* gcc.dg/tree-ssa/stdarg-5.c: Removed.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88383 138bc75d-0d04-0410-961f-82ee72b054a4
16 files changed:
gcc/ChangeLog
gcc/Makefile.in
gcc/config/i386/i386.c
gcc/config/rs6000/rs6000.c
gcc/function.c
gcc/function.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tree-ssa/stdarg-1.c [deleted file]
gcc/testsuite/gcc.dg/tree-ssa/stdarg-2.c [deleted file]
gcc/testsuite/gcc.dg/tree-ssa/stdarg-3.c [deleted file]
gcc/testsuite/gcc.dg/tree-ssa/stdarg-4.c [deleted file]
gcc/testsuite/gcc.dg/tree-ssa/stdarg-5.c [deleted file]
gcc/tree-optimize.c
gcc/tree-pass.h
gcc/tree-stdarg.c [deleted file]
gcc/tree.h