small cleanups
[ghc-hetmet.git] / rts / RtsFlags.c
index 43d527b..a3d1d83 100644 (file)
@@ -165,6 +165,7 @@ void initRtsFlagsDefaults(void)
     RtsFlags.DebugFlags.par            = rtsFalse;
     RtsFlags.DebugFlags.linker         = rtsFalse;
     RtsFlags.DebugFlags.squeeze                = rtsFalse;
+    RtsFlags.DebugFlags.hpc            = rtsFalse;
 #endif
 
 #if defined(PROFILING) || defined(PAR)
@@ -303,7 +304,8 @@ void initRtsFlagsDefaults(void)
     RtsFlags.TraceFlags.sched          = rtsFalse;
 
 #ifdef USE_PAPI
-    RtsFlags.PapiFlags.eventType        = PAPI_FLAG_BRANCH;
+    /* By default no special measurements taken */
+    RtsFlags.PapiFlags.eventType        = 0;
 #endif
 }
 
@@ -426,6 +428,7 @@ usage_text[] = {
 "  -Dl  DEBUG: linker",
 "  -Dm  DEBUG: stm",
 "  -Dz  DEBUG: stack squezing",
+"  -Dc  DEBUG: program coverage",
 "",
 #endif /* DEBUG */
 #if defined(THREADED_RTS) && !defined(NOSMP)
@@ -462,6 +465,7 @@ usage_text[] = {
 "            2 - level 2 cache misses",
 "            b - branch mispredictions",
 "            s - stalled cycles",
+"            e - cache miss and branch misprediction events",
 #endif
 "",
 "RTS options may also be specified using the GHCRTS environment variable.",
@@ -676,6 +680,9 @@ error = rtsTrue;
                case 's':
                  RtsFlags.PapiFlags.eventType = PAPI_FLAG_STALLS;
                  break;
+               case 'e':
+                 RtsFlags.PapiFlags.eventType = PAPI_FLAG_CB_EVENTS;
+                 break;
                default:
                  bad_option( rts_argv[arg] );
                }
@@ -754,6 +761,9 @@ error = rtsTrue;
                      case 'z':
                          RtsFlags.DebugFlags.squeeze = rtsTrue;
                          break;
+                     case 'c':
+                         RtsFlags.DebugFlags.hpc = rtsTrue;
+                         break;
                      default:
                          bad_option( rts_argv[arg] );
                      }