aboutsummaryrefslogtreecommitdiff
path: root/gcc/regstat.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2016-04-30 09:31:52 +0930
committerAlan Modra <amodra@gcc.gnu.org>2016-04-30 09:31:52 +0930
commit725842d06fc682ea72ccf017d4c49b9d5f254aa0 (patch)
tree5bca41dc3722b844c53a1c4d53b03443abff64a0 /gcc/regstat.c
parent91dabbb2c7bf541fa72ab45c88ec8ea0fd7771c7 (diff)
downloadgcc-725842d06fc682ea72ccf017d4c49b9d5f254aa0.zip
gcc-725842d06fc682ea72ccf017d4c49b9d5f254aa0.tar.gz
gcc-725842d06fc682ea72ccf017d4c49b9d5f254aa0.tar.bz2
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. From-SVN: r235664
Diffstat (limited to 'gcc/regstat.c')
-rw-r--r--gcc/regstat.c14
1 files changed, 1 insertions, 13 deletions
diff --git a/gcc/regstat.c b/gcc/regstat.c
index b25a63c..a36ab18 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));