sim: rx: replace cycle-stats with common profile settings
authorMike Frysinger <vapier@gentoo.org>
Sat, 12 Jun 2021 16:01:27 +0000 (12:01 -0400)
committerMike Frysinger <vapier@gentoo.org>
Sun, 13 Jun 2021 02:29:26 +0000 (22:29 -0400)
The common sim-profile option controls whether to keep track of
runtime execution (like cycle count), so switch the rx-specific
cycle-stats option over to that.

sim/rx/ChangeLog
sim/rx/README.txt
sim/rx/config.in
sim/rx/configure
sim/rx/configure.ac
sim/rx/mem.c
sim/rx/rx.c

index c358f7c1fe064c07d79b17a63ba071bfa320a777..a368dc4bf6c3f68d133614bb890f44612c5f251b 100644 (file)
@@ -1,3 +1,11 @@
+2021-06-12  Mike Frysinger  <vapier@gentoo.org>
+
+       * README.txt: Change cycle-stats to sim-profile.
+       * configure.ac: Delete cycle-stats.
+       * mem.c: Change CYCLE_STATS to WITH_PROFILE
+       * rx.c: Likewise.
+       * config.in, configure: Regenerate.
+
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
 
        * aclocal.m4, config.in, configure: Regenerate.
index 496e6a19fb10668641da293554fd59ea2637de82..5ebd5742083934a550e13c719b813c9dff7aa7e2 100644 (file)
@@ -7,8 +7,8 @@ If enabled, the simulator will keep track of how many cycles each
 instruction takes.  While not 100% accurate, it is very close,
 including modelling fetch stalls and register latency.
 
---enable-cycle-stats  (default)
---disable-cycle-stats
+--enable-sim-profile  (default)
+--disable-sim-profile
 
 If enabled, specifying "-v" twice on the simulator command line causes
 the simulator to print statistics on how much time was used by each
index 583732fa0260b6797687c35d9151cc63041336d8..fd650fd41c00f5d664f64fe8098a432e861ca215 100644 (file)
@@ -6,9 +6,6 @@
 /* --enable-cycle-accurate */
 #undef CYCLE_ACCURATE
 
-/* --enable-cycle-stats */
-#undef CYCLE_STATS
-
 /* Define to 1 if translation of program messages to the user's native
    language is requested. */
 #undef ENABLE_NLS
index bbf75ae6139ea21f8ee971466a94c047afa878dc..6700fb0595eafccdcdcd89a5788cff0c493d8f8c 100755 (executable)
@@ -769,7 +769,6 @@ enable_libtool_lock
 enable_maintainer_mode
 enable_sim_inline
 enable_cycle_accurate
-enable_cycle_stats
 enable_werror
 enable_build_warnings
 enable_sim_build_warnings
@@ -1414,7 +1413,6 @@ Optional Features:
                           Specify which functions should be inlined
   --disable-cycle-accurate
                           Disable cycle accurate simulation (faster runtime)
-  --disable-cycle-stats   Disable cycle statistics (faster runtime)
   --enable-werror         treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings if gcc is used
   --enable-sim-build-warnings
@@ -10746,7 +10744,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10749 "configure"
+#line 10747 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10852,7 +10850,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10855 "configure"
+#line 10853 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11158,32 +11156,12 @@ esac
 fi
 
 
-# Check whether --enable-cycle-stats was given.
-if test "${enable_cycle_stats+set}" = set; then :
-  enableval=$enable_cycle_stats; case "${enableval}" in
-yes | no) ;;
-*)     as_fn_error $? "bad value ${enableval} given for --enable-cycle-stats option" "$LINENO" 5 ;;
-esac
-fi
-
-
 echo enable_cycle_accurate is $enable_cycle_accurate
-echo enable_cycle_stats is $enable_cycle_stats
 
 if test "x${enable_cycle_accurate}" != xno; then
 
 $as_echo "#define CYCLE_ACCURATE 1" >>confdefs.h
 
-
-  if test "x${enable_cycle_stats}" != xno; then
-
-$as_echo "#define CYCLE_STATS 1" >>confdefs.h
-
-  fi
-else
-  if test "x${enable_cycle_stats}" != xno; then
-    as_fn_error $? "cycle-stats not available without cycle-accurate" "$LINENO" 5
-  fi
 fi
 
 
index 5d1076834c1d9512533532dcc051a39911fdbde9..b2725fea79766e130f517cc40ee672f67ed4439f 100644 (file)
@@ -31,27 +31,10 @@ yes | no) ;;
 *)     AC_MSG_ERROR(bad value ${enableval} given for --enable-cycle-accurate option) ;;
 esac])
 
-AC_ARG_ENABLE(cycle-stats,
-[AS_HELP_STRING([--disable-cycle-stats],
-               [Disable cycle statistics (faster runtime)])],
-[case "${enableval}" in
-yes | no) ;;
-*)     AC_MSG_ERROR(bad value ${enableval} given for --enable-cycle-stats option) ;;
-esac])
-
 echo enable_cycle_accurate is $enable_cycle_accurate
-echo enable_cycle_stats is $enable_cycle_stats
 
 if test "x${enable_cycle_accurate}" != xno; then
   AC_DEFINE([CYCLE_ACCURATE], 1, [--enable-cycle-accurate])
-
-  if test "x${enable_cycle_stats}" != xno; then
-    AC_DEFINE([CYCLE_STATS], 1, [--enable-cycle-stats])
-  fi
-else
-  if test "x${enable_cycle_stats}" != xno; then
-    AC_ERROR([cycle-stats not available without cycle-accurate])
-  fi
 fi
 
 SIM_AC_OUTPUT
index f9b9cc1a97ed0f14fe2fa9b464a2d6510a99997c..1cbd3587cf71f2b1e9549d79032b2ff18b85cde1 100644 (file)
@@ -317,7 +317,7 @@ mem_put_byte (unsigned int address, unsigned char value)
       }
       break;
 
-#ifdef CYCLE_STATS
+#ifdef WITH_PROFILE
     case 0x0008c02b: /* PB.DR */
       {
        if (value == 0)
index 869dd3aa89c96c8782138645cf4ed375cceec2a0..666122792f5532bd14b724de8244cae88a407766 100644 (file)
@@ -35,7 +35,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 #include "err.h"
 #include "misc.h"
 
-#ifdef CYCLE_STATS
+#ifdef WITH_PROFILE
 static const char * id_names[] = {
   "RXO_unknown",
   "RXO_mov",   /* d = s (signed) */
@@ -213,7 +213,7 @@ static int po0;
 
 #else
 #define STATS(x)
-#endif /* CYCLE_STATS */
+#endif /* WITH_PROFILE */
 
 
 #ifdef CYCLE_ACCURATE
@@ -424,7 +424,7 @@ get_op (const RX_Opcode_Decoded *rd, int i)
       if (regs.m2m == M2M_BOTH)
        {
          tprintf("src memory stall\n");
-#ifdef CYCLE_STATS
+#ifdef WITH_PROFILE
          memory_stalls ++;
 #endif
          regs.cycle_count ++;
@@ -594,7 +594,7 @@ put_op (const RX_Opcode_Decoded *rd, int i, int v)
        {
          tprintf("dst memory stall\n");
          regs.cycle_count ++;
-#ifdef CYCLE_STATS
+#ifdef WITH_PROFILE
          memory_stalls ++;
 #endif
          regs.m2m = 0;
@@ -943,14 +943,14 @@ decode_opcode (void)
   unsigned long opcode_pc;
   RX_Data rx_data;
   const RX_Opcode_Decoded *opcode;
-#ifdef CYCLE_STATS
+#ifdef WITH_PROFILE
   unsigned long long prev_cycle_count;
 #endif
 #ifdef CYCLE_ACCURATE
   unsigned int tx;
 #endif
 
-#ifdef CYCLE_STATS
+#ifdef WITH_PROFILE
   prev_cycle_count = regs.cycle_count;
 #endif
 
@@ -988,7 +988,7 @@ decode_opcode (void)
        {
          tprintf("1 cycle branch alignment penalty\n");
          cycles (branch_alignment_penalty);
-#ifdef CYCLE_STATS
+#ifdef WITH_PROFILE
          branch_alignment_stalls ++;
 #endif
        }
@@ -1087,7 +1087,7 @@ decode_opcode (void)
              cycles (3);
              branch_alignment_penalty = 1;
            }
-#ifdef CYCLE_STATS
+#ifdef WITH_PROFILE
          branch_stalls ++;
 #endif
 #endif
@@ -1116,7 +1116,7 @@ decode_opcode (void)
              cycles (3);
              branch_alignment_penalty = 1;
            }
-#ifdef CYCLE_STATS
+#ifdef WITH_PROFILE
          branch_stalls ++;
 #endif
 #endif
@@ -1754,7 +1754,7 @@ decode_opcode (void)
        /* Note: specs say 5, chip says 3.  */
        if (regs.fast_return && regs.link_register == regs.r_pc)
          {
-#ifdef CYCLE_STATS
+#ifdef WITH_PROFILE
            fast_returns ++;
 #endif
            tprintf("fast return bonus\n");
@@ -1796,7 +1796,7 @@ decode_opcode (void)
       if (regs.fast_return && regs.link_register == regs.r_pc)
        {
          tprintf("fast return bonus\n");
-#ifdef CYCLE_STATS
+#ifdef WITH_PROFILE
          fast_returns ++;
 #endif
          cycles (tx < 3 ? 3 : tx + 1);
@@ -2172,7 +2172,7 @@ decode_opcode (void)
   new_rt = -1;
 #endif
 
-#ifdef CYCLE_STATS
+#ifdef WITH_PROFILE
   if (prev_cycle_count == regs.cycle_count)
     {
       printf("Cycle count not updated! id %s\n", id_names[opcode->id]);
@@ -2180,7 +2180,7 @@ decode_opcode (void)
     }
 #endif
 
-#ifdef CYCLE_STATS
+#ifdef WITH_PROFILE
   if (running_benchmark)
     {
       int omap = op_lookup (opcode->op[0].type, opcode->op[1].type, opcode->op[2].type);
@@ -2199,7 +2199,7 @@ decode_opcode (void)
   return RX_MAKE_STEPPED ();
 }
 
-#ifdef CYCLE_STATS
+#ifdef WITH_PROFILE
 void
 reset_pipeline_stats (void)
 {
@@ -2227,7 +2227,7 @@ halt_pipeline_stats (void)
 void
 pipeline_stats (void)
 {
-#ifdef CYCLE_STATS
+#ifdef WITH_PROFILE
   int i, o1;
   int p, p1;
 #endif
@@ -2242,7 +2242,7 @@ pipeline_stats (void)
   printf ("cycles: %13s\n", comma (regs.cycle_count));
 #endif
 
-#ifdef CYCLE_STATS
+#ifdef WITH_PROFILE
   if (benchmark_start_cycle)
     printf ("bmark:  %13s\n", comma (benchmark_end_cycle - benchmark_start_cycle));