summaryrefslogtreecommitdiff
path: root/ghc/misc/spat-analysers/stgregs.c
diff options
context:
space:
mode:
Diffstat (limited to 'ghc/misc/spat-analysers/stgregs.c')
-rw-r--r--ghc/misc/spat-analysers/stgregs.c121
1 files changed, 0 insertions, 121 deletions
diff --git a/ghc/misc/spat-analysers/stgregs.c b/ghc/misc/spat-analysers/stgregs.c
deleted file mode 100644
index 61d6204132..0000000000
--- a/ghc/misc/spat-analysers/stgregs.c
+++ /dev/null
@@ -1,121 +0,0 @@
-#include <stdio.h>
-#include <sparc.h>
-
-#include "StgRegAddrs.h"
-
-#define CHECKPOINT 1000000 /* reporting frequency */
-static int countdown = CHECKPOINT;
-
-struct regcount {
- char *str;
- int load;
- int store;
-} info[] = {
- {"SpA", 0, 0},
- {"SpB", 0, 0},
- {"Hp", 0, 0},
- {"HpLim", 0, 0},
- {"SuA", 0, 0},
- {"SuB", 0, 0},
- {"UpdReg", 0, 0},
- {"RetVecReg", 0, 0},
- {"TagReg", 0, 0},
- {"Ret1", 0, 0},
- {"Ret2", 0, 0},
- {"Ret3", 0, 0},
- {"Ret4", 0, 0},
- {"Ret5", 0, 0},
- {"Ret6", 0, 0},
- {"Ret7", 0, 0},
- {"Ret8", 0, 0},
- {0, 0, 0}
-};
-
-void
-printregs(msg)
-char *msg;
-{
- FILE *output;
- int i;
- if ((output = fopen("REGSTATS", "w")) == 0)
- syserr("cannot open statistics file REGSTATS\n");
-
- fprintf(output, "%s\n", msg);
- for (i = 0; info[i].str; i++) {
- fprintf(output, "%-16.16s %8d %8d\n",
- info[i].str, info[i].load, info[i].store);
- }
- fclose(output);
-}
-
-#define RECORD(i) \
- if ( (OP3(t->iw)&014) == 004) { \
- info[i].store++; \
- } else { \
- info[i].load++; \
- } \
- /* fprintf(stderr, "%s\n", info[i].str); */ \
- break
-
-void
-analyze (t, tend)
- TRACE *t, *tend;
-{
- countdown -= tend-t;
-
- for (; t < tend; t++) {
- if (OP(t->iw) == 3 && /* Load/store; (OP3(t->iw)&014)==004) => store */
- !(t->flags & ANNULLED)) {
- unsigned a = (unsigned)t->ea;
- switch (a) {
- case SpA:
- RECORD(0);
- case SpB:
- RECORD(1);
- case Hp:
- RECORD(2);
- case HpLim:
- RECORD(3);
- case SuA:
- RECORD(4);
- case SuB:
- RECORD(5);
- case UpdReg:
- RECORD(6);
- case RetVecReg:
- RECORD(7);
- case TagReg:
- RECORD(8);
- case Ret1:
- RECORD(9);
- case Ret2:
- RECORD(10);
- case Ret3:
- RECORD(11);
- case Ret4:
- RECORD(12);
- case Ret5:
- RECORD(13);
- case Ret6:
- RECORD(14);
- case Ret7:
- RECORD(15);
- case Ret8:
- RECORD(16);
- deafualt:
- break;
- }
- }
- }
-
- if (countdown <= 0) {
- printregs("Intermediate:");
- countdown = CHECKPOINT;
- }
-}
-
-void
-terminate()
-{
- printregs("Final:");
-}