diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2003-03-12 01:30:56 +0000 |
---|---|---|
committer | Aldy Hernandez <aldyh@gcc.gnu.org> | 2003-03-12 01:30:56 +0000 |
commit | 9b7b447f8fc8096428e7ead66af376ebf85970c1 (patch) | |
tree | e573b1e0ef8c5709e18ef4e1e0aa0e1d70a0d989 /gcc | |
parent | 18a47d21bab2ff53cc705acd6aa34ffe1aa39519 (diff) | |
download | gcc-9b7b447f8fc8096428e7ead66af376ebf85970c1.zip gcc-9b7b447f8fc8096428e7ead66af376ebf85970c1.tar.gz gcc-9b7b447f8fc8096428e7ead66af376ebf85970c1.tar.bz2 |
rs6000.c (rs6000_stack_info): Remove insn_chain_scanned.
2003-03-11 Aldy Hernandez <aldyh@redhat.com>
* config/rs6000/rs6000.c (rs6000_stack_info): Remove
insn_chain_scanned. Use insn_chain_scanned_p in machine_function.
* config/rs6000/rs6000.h (machine_function): Add insn_chain_scanned_p.
From-SVN: r64210
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 9 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.h | 2 |
3 files changed, 14 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index dc90701..80363e6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2003-03-11 Aldy Hernandez <aldyh@redhat.com> + + * config/rs6000/rs6000.c (rs6000_stack_info): Remove + insn_chain_scanned. Use insn_chain_scanned_p in machine_function. + + * config/rs6000/rs6000.h (machine_function): Add insn_chain_scanned_p. + Tue Mar 11 21:19:03 2003 Alexandre Oliva <aoliva@redhat.com> * toplev.c (independent_decode_option): Return success for --help, diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 38a2e32..b64c8cc 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -9169,7 +9169,6 @@ rs6000_stack_info () enum rs6000_abi abi; int ehrd_size; int total_raw_size; - static int insn_chain_scanned = -1; /* Zero all fields portably. */ info = zero_info; @@ -9177,9 +9176,11 @@ rs6000_stack_info () if (TARGET_SPE) { /* Cache value so we don't rescan instruction chain over and over. */ - if (insn_chain_scanned < 0) - insn_chain_scanned = (int) spe_func_has_64bit_regs_p (); - info_ptr->spe_64bit_regs_used = insn_chain_scanned; + if (cfun->machine->insn_chain_scanned_p == 0) + { + cfun->machine->insn_chain_scanned_p = 1; + info_ptr->spe_64bit_regs_used = (int) spe_func_has_64bit_regs_p (); + } } /* Select which calling sequence. */ diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h index e2c1f63..fe932a6 100644 --- a/gcc/config/rs6000/rs6000.h +++ b/gcc/config/rs6000/rs6000.h @@ -1649,6 +1649,8 @@ typedef struct machine_function GTY(()) int sysv_varargs_p; /* Flags if __builtin_return_address (n) with n >= 1 was used. */ int ra_needs_full_frame; + /* Whether the instruction chain has been scanned already. */ + int insn_chain_scanned_p; } machine_function; /* Define a data type for recording info about an argument list |