diff options
author | Richard Henderson <rth@gcc.gnu.org> | 2001-07-16 10:54:34 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2001-07-16 10:54:34 -0700 |
commit | 4e2db58460e396ff0a66e3c87f94665c2a7c1ffc (patch) | |
tree | 91f60d01900241bcf2cec0a70c51d3cdca1a9403 /gcc/cse.c | |
parent | fb124b992c3235992f5fc7f781266d5708d3a215 (diff) | |
download | gcc-4e2db58460e396ff0a66e3c87f94665c2a7c1ffc.zip gcc-4e2db58460e396ff0a66e3c87f94665c2a7c1ffc.tar.gz gcc-4e2db58460e396ff0a66e3c87f94665c2a7c1ffc.tar.bz2 |
hard-reg-set.h (regs_invalidated_by_call): Declare.
* hard-reg-set.h (regs_invalidated_by_call): Declare.
* regclass.c (regs_invalidated_by_call): Move from cse.c.
(init_reg_sets_1): Move initialization from cse_main.
* cse.c (regs_invalidated_by_call): Move to regclass.c.
(cse_main): Move its initialization also.
* df.c (df_insn_refs_record): Use regs_invalidated_by_call.
* flow.c (propagate_one_insn): Likewise.
* gcse.c (compute_hash_table): Likewise.
(compute_kill_rd, compute_store_table): Likewise.
* sched-deps.c (sched_analyze_1): Likewise.
From-SVN: r44053
Diffstat (limited to 'gcc/cse.c')
-rw-r--r-- | gcc/cse.c | 36 |
1 files changed, 0 insertions, 36 deletions
@@ -346,11 +346,6 @@ static struct cse_reg_info *cached_cse_reg_info; static HARD_REG_SET hard_regs_in_table; -/* A HARD_REG_SET containing all the hard registers that are invalidated - by a CALL_INSN. */ - -static HARD_REG_SET regs_invalidated_by_call; - /* CUID of insn that starts the basic block currently being cse-processed. */ static int cse_basic_block_start; @@ -7072,37 +7067,6 @@ cse_main (f, nregs, after_loop, file) INSN_CUID (insn) = i; } - /* Initialize which registers are clobbered by calls. */ - - CLEAR_HARD_REG_SET (regs_invalidated_by_call); - - for (i = 0; i < FIRST_PSEUDO_REGISTER; i++) - if ((call_used_regs[i] - /* Used to check !fixed_regs[i] here, but that isn't safe; - fixed regs are still call-clobbered, and sched can get - confused if they can "live across calls". - - The frame pointer is always preserved across calls. The arg - pointer is if it is fixed. The stack pointer usually is, unless - RETURN_POPS_ARGS, in which case an explicit CLOBBER - will be present. If we are generating PIC code, the PIC offset - table register is preserved across calls. */ - - && i != STACK_POINTER_REGNUM - && i != FRAME_POINTER_REGNUM -#if HARD_FRAME_POINTER_REGNUM != FRAME_POINTER_REGNUM - && i != HARD_FRAME_POINTER_REGNUM -#endif -#if ARG_POINTER_REGNUM != FRAME_POINTER_REGNUM - && ! (i == ARG_POINTER_REGNUM && fixed_regs[i]) -#endif -#if !defined (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED) - && ! (i == PIC_OFFSET_TABLE_REGNUM && flag_pic) -#endif - ) - || global_regs[i]) - SET_HARD_REG_BIT (regs_invalidated_by_call, i); - ggc_push_context (); /* Loop over basic blocks. |