2003-09-10 Dave Brolley <brolley@redhat.com>
authorDave Brolley <brolley@redhat.com>
Wed, 10 Sep 2003 20:40:47 +0000 (20:40 +0000)
committerDave Brolley <brolley@redhat.com>
Wed, 10 Sep 2003 20:40:47 +0000 (20:40 +0000)
        * profile.c (slot_names): FM1 was listed twice. Changed first
        instance to FM0. Added IALL, FMALL and FMLOW.
        (print_parallel): Don't examine slots with no insns.

sim/frv/ChangeLog
sim/frv/profile.c

index 34d685cd47c6592c9e4191785b3f63b4cc0e371b..38746806acc2efd107e3f22eeeb706b53da0670d 100644 (file)
@@ -1,3 +1,9 @@
+2003-09-10  Dave Brolley  <brolley@redhat.com>
+
+       * profile.c (slot_names): FM1 was listed twice. Changed first
+       instance to FM0. Added IALL, FMALL and FMLOW.
+       (print_parallel): Don't examine slots with no insns.
+
 2003-09-09  Dave Brolley  <brolley@redhat.com>
 
        * frv.c (do_media_average): Select machine using a switch.
index 1a59e4a89a7f41afd3541d0a1e83f3900f29bf23..822e5d68dc5e2c450373bca58ae753a903f3e8be 100644 (file)
@@ -1,6 +1,6 @@
 /* frv simulator machine independent profiling code.
 
-   Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+   Copyright (C) 1998, 1999, 2000, 2001, 2003 Free Software Foundation, Inc.
    Contributed by Red Hat
 
 This file is part of the GNU simulators.
@@ -1706,12 +1706,15 @@ print_cache (SIM_CPU *cpu, FRV_CACHE *cache, const char *cache_name)
   sim_io_printf (sd, "\n");
 }
 
+/* This table must correspond to the UNIT_ATTR table in
+   opcodes/frv-desc.h. Only the units up to UNIT_C need be
+   listed since the others cannot occur after mapping.  */
 static char *
 slot_names[] =
 {
   "none",
-  "I0", "I1", "I01",
-  "FM1", "FM1", "FM01",
+  "I0", "I1", "I01", "IALL",
+  "FM0", "FM1", "FM01", "FMALL", "FMLOW",
   "B0", "B1", "B01",
   "C"
 };
@@ -1747,12 +1750,15 @@ print_parallel (SIM_CPU *cpu, int verbose)
       int max_name_len = 0;
       for (i = UNIT_NIL + 1; i < UNIT_NUM_UNITS; ++i)
        {
-         int len;
-         if (INSNS_IN_SLOT (i) > max_val)
-           max_val = INSNS_IN_SLOT (i);
-         len = strlen (slot_names[i]);
-         if (len > max_name_len)
-           max_name_len = len;
+         if (INSNS_IN_SLOT (i))
+           {
+             int len;
+             if (INSNS_IN_SLOT (i) > max_val)
+               max_val = INSNS_IN_SLOT (i);
+             len = strlen (slot_names[i]);
+             if (len > max_name_len)
+               max_name_len = len;
+           }
        }
       if (max_val > 0)
        {