diff options
author | amodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-04-30 00:01:52 +0000 |
---|---|---|
committer | amodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-04-30 00:01:52 +0000 |
commit | 32305c37f8dc110a8ff4d4394782621b731b4bdb (patch) | |
tree | 5bca41dc3722b844c53a1c4d53b03443abff64a0 | |
parent | b662dace58b77000acf8f7997d1faacfde98c009 (diff) | |
download | gcc-32305c37f8dc110a8ff4d4394782621b731b4bdb.tar.gz |
Goodbye REG_FREQ_CALLS_CROSSED and REG_N_THROWING_CALLS_CROSSED
* regs.h (struct reg_info_t): Delete freq_calls_crossed and
throw_calls_crossed.
(REG_FREQ_CALLS_CROSSED): Delete.
(REG_N_THROWING_CALLS_CROSSED): Delete.
* regstat.c (regstat_bb_compute_ri): Don't calculate
REG_FREQ_CALLS_CROSSED and REG_N_THROWING_CALLS_CROSSED.
(dump_reg_info): Don't print call cross frequency.
* ira.c (combine_and_move_insns): Don't set REG_FREQ_CALLS_CROSSED
and REG_N_THROWING_CALLS_CROSSED.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235664 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 12 | ||||
-rw-r--r-- | gcc/ira.c | 2 | ||||
-rw-r--r-- | gcc/regs.h | 8 | ||||
-rw-r--r-- | gcc/regstat.c | 14 |
4 files changed, 13 insertions, 23 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8e93e915988..98bd8481bd0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,17 @@ 2016-04-30 Alan Modra <amodra@gmail.com> + * regs.h (struct reg_info_t): Delete freq_calls_crossed and + throw_calls_crossed. + (REG_FREQ_CALLS_CROSSED): Delete. + (REG_N_THROWING_CALLS_CROSSED): Delete. + * regstat.c (regstat_bb_compute_ri): Don't calculate + REG_FREQ_CALLS_CROSSED and REG_N_THROWING_CALLS_CROSSED. + (dump_reg_info): Don't print call cross frequency. + * ira.c (combine_and_move_insns): Don't set REG_FREQ_CALLS_CROSSED + and REG_N_THROWING_CALLS_CROSSED. + +2016-04-30 Alan Modra <amodra@gmail.com> + * regs.h (struct reg_info_t): Delete live_length. (REG_LIVE_LENGTH): Delete macro. * regstat.c (regstat_bb_compute_ri): Delete artificial_uses, diff --git a/gcc/ira.c b/gcc/ira.c index e597604b2ea..a38e67e0b7c 100644 --- a/gcc/ira.c +++ b/gcc/ira.c @@ -3738,8 +3738,6 @@ combine_and_move_insns (void) REG_BASIC_BLOCK (regno) = use_bb->index; REG_N_CALLS_CROSSED (regno) = 0; - REG_FREQ_CALLS_CROSSED (regno) = 0; - REG_N_THROWING_CALLS_CROSSED (regno) = 0; if (use_insn == BB_HEAD (use_bb)) BB_HEAD (use_bb) = new_insn; diff --git a/gcc/regs.h b/gcc/regs.h index 244250d127c..e07a003f4c4 100644 --- a/gcc/regs.h +++ b/gcc/regs.h @@ -106,8 +106,6 @@ struct reg_info_t int freq; /* # estimated frequency (REG n) is used or set */ int deaths; /* # of times (REG n) dies */ int calls_crossed; /* # of calls (REG n) is live across */ - int freq_calls_crossed; /* # estimated frequency (REG n) crosses call */ - int throw_calls_crossed; /* # of calls that may throw (REG n) is live across */ int basic_block; /* # of basic blocks (REG n) is used in */ }; @@ -162,12 +160,6 @@ extern size_t reg_info_p_size; /* Indexed by N, gives number of CALL_INSNS across which (REG n) is live. */ #define REG_N_CALLS_CROSSED(N) (reg_info_p[N].calls_crossed) -#define REG_FREQ_CALLS_CROSSED(N) (reg_info_p[N].freq_calls_crossed) - -/* Indexed by N, gives number of CALL_INSNS that may throw, across which - (REG n) is live. */ - -#define REG_N_THROWING_CALLS_CROSSED(N) (reg_info_p[N].throw_calls_crossed) /* Indexed by n, gives number of basic block that (REG n) is used in. If the value is REG_BLOCK_GLOBAL (-1), diff --git a/gcc/regstat.c b/gcc/regstat.c index b25a63c8258..a36ab18448a 100644 --- a/gcc/regstat.c +++ b/gcc/regstat.c @@ -94,8 +94,7 @@ regstat_free_n_sets_and_refs (void) /*---------------------------------------------------------------------------- REGISTER INFORMATION - Process REG_N_DEATHS, REG_N_CALLS_CROSSED, - REG_N_THROWING_CALLS_CROSSED and REG_BASIC_BLOCK. + Process REG_N_DEATHS, REG_N_CALLS_CROSSED, and REG_BASIC_BLOCK. ----------------------------------------------------------------------------*/ @@ -156,16 +155,10 @@ regstat_bb_compute_ri (basic_block bb, bitmap live) /* Process the defs. */ if (CALL_P (insn)) { - bool can_throw = can_throw_internal (insn); bool set_jump = (find_reg_note (insn, REG_SETJMP, NULL) != NULL); EXECUTE_IF_SET_IN_BITMAP (live, 0, regno, bi) { REG_N_CALLS_CROSSED (regno)++; - REG_FREQ_CALLS_CROSSED (regno) += REG_FREQ_FROM_BB (bb); - REG_FREQ_CALLS_CROSSED (regno) = - MIN (REG_FREQ_CALLS_CROSSED (regno), REG_FREQ_MAX); - if (can_throw) - REG_N_THROWING_CALLS_CROSSED (regno)++; /* We have a problem with any pseudoreg that lives across the setjmp. ANSI says that if a user variable @@ -344,9 +337,6 @@ regstat_bb_compute_calls_crossed (unsigned int bb_index, bitmap live) EXECUTE_IF_SET_IN_BITMAP (live, 0, regno, bi) { REG_N_CALLS_CROSSED (regno)++; - REG_FREQ_CALLS_CROSSED (regno) += REG_FREQ_FROM_BB (bb); - REG_FREQ_CALLS_CROSSED (regno) = - MIN (REG_FREQ_CALLS_CROSSED (regno), REG_FREQ_MAX); } } @@ -445,8 +435,6 @@ dump_reg_info (FILE *file) fputs ("; crosses 1 call", file); else if (REG_N_CALLS_CROSSED (i)) fprintf (file, "; crosses %d calls", REG_N_CALLS_CROSSED (i)); - if (REG_FREQ_CALLS_CROSSED (i)) - fprintf (file, "; crosses call with %d frequency", REG_FREQ_CALLS_CROSSED (i)); if (regno_reg_rtx[i] != NULL && PSEUDO_REGNO_BYTES (i) != UNITS_PER_WORD) fprintf (file, "; %d bytes", PSEUDO_REGNO_BYTES (i)); |