diff mbox

Goodbye REG_FREQ_CALLS_CROSSED and REG_N_THROWING_CALLS_CROSSED

Message ID 20160325220257.GJ31470@bubble.grove.modra.org
State New
Headers show

Commit Message

Alan Modra March 25, 2016, 10:02 p.m. UTC
These two are unused too.  Bootstrapped etc. x86_64-linux.
OK for stage1?

	* 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.
diff mbox

Patch

diff --git a/gcc/ira.c b/gcc/ira.c
index 3173276..8bd60a8 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 244250d..e07a003 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 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));