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 --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));

-- 
Alan Modra
Australia Development Lab, IBM

Reply via email to