From 03a0b182c4bf4da9599bb658b6fc08fb5f012815 Mon Sep 17 00:00:00 2001 From: David Given Date: Sun, 21 Aug 2016 18:45:25 +0200 Subject: [PATCH] Push em_ego.c through clang-format before working on it. --- .clang-format | 11 + util/ego/em_ego/em_ego.c | 707 +++++++++++++++++++++------------------ 2 files changed, 390 insertions(+), 328 deletions(-) create mode 100644 .clang-format diff --git a/.clang-format b/.clang-format new file mode 100644 index 000000000..d5e0c3a16 --- /dev/null +++ b/.clang-format @@ -0,0 +1,11 @@ +--- +BasedOnStyle: WebKit +AllowShortLoopsOnASingleLine: 'false' +AlwaysBreakAfterDefinitionReturnType: false +BreakBeforeBraces: Allman +IndentCaseLabels: 'true' +PointerAlignment: Left +TabWidth: '4' +UseTab: ForIndentation + +... diff --git a/util/ego/em_ego/em_ego.c b/util/ego/em_ego/em_ego.c index 9542b41e6..0d4bc06a3 100644 --- a/util/ego/em_ego/em_ego.c +++ b/util/ego/em_ego/em_ego.c @@ -8,414 +8,465 @@ #include #include -#define IC 1 -#define CF 2 -#define IL 3 -#define CS 4 -#define SR 5 -#define UD 6 -#define LV 7 -#define RA 8 -#define SP 9 -#define BO 10 -#define CJ 11 -#define CA 12 +#define IC 1 +#define CF 2 +#define IL 3 +#define CS 4 +#define SR 5 +#define UD 6 +#define LV 7 +#define RA 8 +#define SP 9 +#define BO 10 +#define CJ 11 +#define CA 12 -static char *phnames[] = { - 0, - "ic", - "cf", - "il", - "cs", - "sr", - "ud", - "lv", - "ra", - "sp", - "bo", - "cj", - "ca", - 0 +static char* phnames[] = { + 0, + "ic", + "cf", + "il", + "cs", + "sr", + "ud", + "lv", + "ra", + "sp", + "bo", + "cj", + "ca", + 0 }; -#define MAXUPHASES 64 /* max # of phases to be run */ -#define MAXARGS 1024 /* mar # of args */ -#define NTEMPS 4 /* # of temporary files; not tunable */ +#define MAXUPHASES 64 /* max # of phases to be run */ +#define MAXARGS 1024 /* mar # of args */ +#define NTEMPS 4 /* # of temporary files; not tunable */ -extern char *mktemp(); -extern char *strcpy(), *strcat(); -extern char *strrchr(); +extern char* mktemp(); +extern char* strcpy(), *strcat(); +extern char* strrchr(); -static char ddump[128] = TMP_DIR; /* data label dump file */ -static char pdump[128] = TMP_DIR; /* procedure name dump file */ -static char tmpbufs[NTEMPS*2][128] = { - TMP_DIR +static char ddump[128] = TMP_DIR; /* data label dump file */ +static char pdump[128] = TMP_DIR; /* procedure name dump file */ +static char tmpbufs[NTEMPS * 2][128] = { + TMP_DIR }; -static int O2phases[] = { /* Passes for -O2 */ - CJ, BO, SP, 0 +static int O2phases[] = { /* Passes for -O2 */ + CJ, BO, SP, 0 }; -static int O3phases[] = { /* Passes for -O3 */ - CS, SR, CJ, BO, SP, UD, LV, RA, 0 +static int O3phases[] = { /* Passes for -O3 */ + CS, SR, CJ, BO, SP, UD, LV, RA, 0 }; -static int O4phases[] = { /* Passes for -O4 */ - IL, CF, CS, SR, CJ, BO, SP, UD, LV, RA, 0 +static int O4phases[] = { /* Passes for -O4 */ + IL, CF, CS, SR, CJ, BO, SP, UD, LV, RA, 0 }; -static int *Ophase = &O2phases[0]; /* default : -O2 */ +static int* Ophase = &O2phases[0]; /* default : -O2 */ -static int nuphases; /* # of phases specified by user */ -static int uphases[MAXUPHASES+1]; /* phases to be run */ +static int nuphases; /* # of phases specified by user */ +static int uphases[MAXUPHASES + 1]; /* phases to be run */ -static int nfiles = NTEMPS*2+1; /* leave space for tempfilenames */ -static char *phargs[MAXARGS+1]; +static int nfiles = NTEMPS * 2 + 1; /* leave space for tempfilenames */ +static char* phargs[MAXARGS + 1]; -static int keeptemps = 0; +static int keeptemps = 0; -static char **phase_args; -static int nphase_args; +static char** phase_args; +static int nphase_args; -static char *opt_dir; -static char *prog_name; +static char* opt_dir; +static char* prog_name; -static int v_flag; +static int v_flag; static void cleanup() { - /* Cleanup temporaries */ + /* Cleanup temporaries */ - if (! keeptemps) { - register int i; + if (!keeptemps) + { + register int i; - for (i = NTEMPS*2; i > 0; i--) { - register char *f = phargs[i]; - if (f != 0 && *f != '\0' && *f != '-') (void) unlink(f); + for (i = NTEMPS * 2; i > 0; i--) + { + register char* f = phargs[i]; + if (f != 0 && *f != '\0' && *f != '-') + (void)unlink(f); + } + if (ddump[0] != '\0') + (void)unlink(ddump); + if (pdump[0] != '\0') + (void)unlink(pdump); } - if (ddump[0] != '\0') (void) unlink(ddump); - if (pdump[0] != '\0') (void) unlink(pdump); - } } /*VARARGS1*/ static void -fatal(s, s2) - char *s; - char *s2; + fatal(s, s2) char* s; +char* s2; { - /* A fatal error occurred; exit gracefully */ + /* A fatal error occurred; exit gracefully */ - fprint(STDERR, "%s: ", prog_name); - fprint(STDERR, s, s2); - fprint(STDERR, "\n"); - cleanup(); - sys_stop(S_EXIT); - /*NOTREACHED*/ + fprint(STDERR, "%s: ", prog_name); + fprint(STDERR, s, s2); + fprint(STDERR, "\n"); + cleanup(); + sys_stop(S_EXIT); + /*NOTREACHED*/ } static void -add_file(s) - char *s; + add_file(s) char* s; { - /* Add an input file to the list */ + /* Add an input file to the list */ - if (nfiles >= MAXARGS) fatal("too many files"); - phargs[nfiles++] = s; + if (nfiles >= MAXARGS) + fatal("too many files"); + phargs[nfiles++] = s; } static void -add_uphase(p) - int p; + add_uphase(p) int p; { - /* Add an optimizer phase to the list of phases to run */ + /* Add an optimizer phase to the list of phases to run */ - if (nuphases >= MAXUPHASES) fatal("too many phases"); - uphases[nuphases++] = p; + if (nuphases >= MAXUPHASES) + fatal("too many phases"); + uphases[nuphases++] = p; } -static void -catch() +static void catch () { - /* Catch interrupts and exit gracefully */ + /* Catch interrupts and exit gracefully */ - cleanup(); - sys_stop(S_EXIT); + cleanup(); + sys_stop(S_EXIT); } static void old_infiles() { - /* Remove old input files unless we have to keep them around. */ + /* Remove old input files unless we have to keep them around. */ - register int i; + register int i; - if (phargs[1] == pdump || keeptemps) return; + if (phargs[1] == pdump || keeptemps) + return; - for (i = 1; i <= NTEMPS; i++) (void) unlink(phargs[i]); + for (i = 1; i <= NTEMPS; i++) + (void)unlink(phargs[i]); } static void get_infiles() { - /* Make output temps from previous phase input temps of next phase. */ + /* Make output temps from previous phase input temps of next phase. */ - register int i; - register char **dst = &phargs[1]; - register char **src = &phargs[NTEMPS+1]; + register int i; + register char** dst = &phargs[1]; + register char** src = &phargs[NTEMPS + 1]; - for (i = 1; i <= NTEMPS; i++) { - *dst++ = *src++; - } + for (i = 1; i <= NTEMPS; i++) + { + *dst++ = *src++; + } } static void new_outfiles() { - static int tmpindex = 0; - static int Bindex = 0; - static char dig1 = '1'; - static char dig2 = '0'; - register int i; - register char **dst = &phargs[NTEMPS+1]; + static int tmpindex = 0; + static int Bindex = 0; + static char dig1 = '1'; + static char dig2 = '0'; + register int i; + register char** dst = &phargs[NTEMPS + 1]; - if (! Bindex) { - Bindex = strrchr(tmpbufs[0], 'B') - tmpbufs[0]; - } - for (i = 1; i <= NTEMPS; i++) { - *dst = tmpbufs[tmpindex]; - (*dst)[Bindex-1] = dig2; - (*dst)[Bindex] = dig1; - tmpindex++; - dst++; - } - if (tmpindex >= 2*NTEMPS) tmpindex = 0; - if (++dig1 > '9') { - ++dig2; - dig1 = '0'; - } + if (!Bindex) + { + Bindex = strrchr(tmpbufs[0], 'B') - tmpbufs[0]; + } + for (i = 1; i <= NTEMPS; i++) + { + *dst = tmpbufs[tmpindex]; + (*dst)[Bindex - 1] = dig2; + (*dst)[Bindex] = dig1; + tmpindex++; + dst++; + } + if (tmpindex >= 2 * NTEMPS) + tmpindex = 0; + if (++dig1 > '9') + { + ++dig2; + dig1 = '0'; + } } static void -run_phase(phase) - int phase; + run_phase(phase) int phase; { - /* Run one phase of the global optimizer; special cases are + /* Run one phase of the global optimizer; special cases are IC and CA. */ - static int flags_added; - register int argc; - register int i; - char buf[256]; - int pid, status; + static int flags_added; + register int argc; + register int i; + char buf[256]; + int pid, status; - phargs[0] = buf; - (void) strcpy(buf, opt_dir); - (void) strcat(buf, "/"); - (void) strcat(buf, phnames[phase]); + phargs[0] = buf; + (void)strcpy(buf, opt_dir); + (void)strcat(buf, "/"); + (void)strcat(buf, phnames[phase]); - switch(phase) { - case IC: - phargs[1] = pdump; - phargs[2] = ddump; - for (i = 3; i <= NTEMPS; i++) phargs[i] = "-"; - new_outfiles(); - argc = nfiles; - phargs[argc] = 0; - break; + switch (phase) + { + case IC: + phargs[1] = pdump; + phargs[2] = ddump; + for (i = 3; i <= NTEMPS; i++) + phargs[i] = "-"; + new_outfiles(); + argc = nfiles; + phargs[argc] = 0; + break; - case CA: - old_infiles(); - get_infiles(); - phargs[NTEMPS+1] = pdump; - phargs[NTEMPS+2] = ddump; - for (i = NTEMPS+3; i <= 2*NTEMPS; i++) phargs[i] = "-"; - argc = 2*NTEMPS+1; - phargs[argc] = 0; - break; + case CA: + old_infiles(); + get_infiles(); + phargs[NTEMPS + 1] = pdump; + phargs[NTEMPS + 2] = ddump; + for (i = NTEMPS + 3; i <= 2 * NTEMPS; i++) + phargs[i] = "-"; + argc = 2 * NTEMPS + 1; + phargs[argc] = 0; + break; - default: - old_infiles(); - get_infiles(); - new_outfiles(); - if (! flags_added) { - flags_added = 1; - argc = 2*NTEMPS+1; - while (--nphase_args >= 0) { - phargs[argc++] = *phase_args++; + default: + old_infiles(); + get_infiles(); + new_outfiles(); + if (!flags_added) + { + flags_added = 1; + argc = 2 * NTEMPS + 1; + while (--nphase_args >= 0) + { + phargs[argc++] = *phase_args++; + } + phargs[argc] = 0; + } + break; + } + if ((pid = fork()) < 0) + { + fatal("Could not fork"); + } + else if (pid == 0) + { + if (v_flag) + { + register int i = 0; + + while (phargs[i]) + { + fprint(STDERR, "%s ", phargs[i]); + i++; + } + fprint(STDERR, "\n"); } - phargs[argc] = 0; - } - break; - } - if ((pid = fork()) < 0) { - fatal("Could not fork"); - } - else if (pid == 0) { - if (v_flag) { - register int i = 0; - - while (phargs[i]) { - fprint(STDERR, "%s ", phargs[i]); - i++; - } - fprint(STDERR, "\n"); - } - (void) execv(phargs[0], phargs); - fatal("Could not exec %s", phargs[0]); - sys_stop(S_EXIT); - } - else { - while (wait(&status) != pid) /* nothing */ ; - if ((status & 0177) != 0) { - fatal("%s got a unix signal", phargs[0]); - } - if (((status >> 8) & 0377) != 0) { - cleanup(); + (void)execv(phargs[0], phargs); + fatal("Could not exec %s", phargs[0]); sys_stop(S_EXIT); } - } -} - -main(argc, argv) - int argc; - char *argv[]; -{ - register int i = 0; - - if (signal(SIGHUP, catch) == SIG_IGN) (void) signal(SIGHUP, SIG_IGN); - if (signal(SIGQUIT, catch) == SIG_IGN) (void) signal(SIGQUIT, SIG_IGN); - if (signal(SIGINT, catch) == SIG_IGN) (void) signal(SIGINT, SIG_IGN); - prog_name = argv[0]; - phase_args = &argv[1]; - while (--argc > 0) { - argv++; - if (argv[0][0] == '-') { - switch(argv[0][1]) { - case 'P': - if (argv[0][2] == '\0') { - opt_dir = argv[1]; - argc--; - argv++; - continue; - } - break; - case 't': - if (argv[0][2] == '\0') { - keeptemps = 1; - /* no continue; IL also needs this */ - } - break; - case 'v': - v_flag = 1; - break; - case 'O': - if (argv[0][2] == '2' || argv[0][2] == '\0') continue; - if (argv[0][2] == '3') { - Ophase = &O3phases[0]; - continue; - } - Ophase = &O4phases[0]; - continue; - case 'I': - if (! strcmp(&argv[0][1], "IL")) { - add_uphase(IL); - add_uphase(CF); - continue; - } - break; - case 'B': - if (! strcmp(&argv[0][1], "BO")) { - add_uphase(BO); - continue; - } - break; - case 'R': - if (! strcmp(&argv[0][1], "RA")) { - add_uphase(RA); - continue; - } - break; - case 'U': - if (! strcmp(&argv[0][1], "UD")) { - add_uphase(UD); - continue; - } - break; - case 'L': - if (! strcmp(&argv[0][1], "LV")) { - add_uphase(LV); - continue; - } - break; - case 'C': - if (! strcmp(&argv[0][1], "CS")) { - add_uphase(CS); - continue; - } - if (! strcmp(&argv[0][1], "CJ")) { - add_uphase(CJ); - continue; - } - break; - case 'S': - if (! strcmp(&argv[0][1], "SR")) { - add_uphase(SR); - continue; - } - if (! strcmp(&argv[0][1], "SP")) { - add_uphase(SP); - continue; - } - break; + else + { + while (wait(&status) != pid) /* nothing */ + ; + if ((status & 0177) != 0) + { + fatal("%s got a unix signal", phargs[0]); + } + if (((status >> 8) & 0377) != 0) + { + cleanup(); + sys_stop(S_EXIT); } - phase_args[i++] = argv[0]; } - else { - add_file(argv[0]); - } - } - phase_args[i] = 0; - nphase_args = i; - if (nuphases) Ophase = uphases; - - if (nfiles == 2*NTEMPS+1) { - /* 2*NTEMPS+1 was the starting value; nothing to do */ - sys_stop(S_END); - } - - if (! opt_dir) { - fatal("no correct -P flag given"); - } - - if (keeptemps) { - (void) strcpy(ddump, "."); - (void) strcpy(pdump, "."); - (void) strcpy(tmpbufs[0], "."); - } - (void) strcat(ddump, "/ego.dd.XXXXXX"); - (void) mktemp(ddump); - (void) strcat(pdump, "/ego.pd.XXXXXX"); - (void) mktemp(pdump); - - (void) strcat(tmpbufs[0], "/ego.A.BB.XXXXXX"); - (void) mktemp(tmpbufs[0]); - for (i = 2*NTEMPS-1; i >= 1; i--) { - (void) strcpy(tmpbufs[i], tmpbufs[0]); - } - i = strrchr(tmpbufs[0], 'A') - tmpbufs[0]; - tmpbufs[0][i] = 'p'; tmpbufs[NTEMPS+0][i] = 'p'; - tmpbufs[1][i] = 'd'; tmpbufs[NTEMPS+1][i] = 'd'; - tmpbufs[2][i] = 'l'; tmpbufs[NTEMPS+2][i] = 'l'; - tmpbufs[3][i] = 'b'; tmpbufs[NTEMPS+3][i] = 'b'; - run_phase(IC); - run_phase(CF); - while (*Ophase) { - run_phase(*Ophase++); - } - run_phase(CA); - cleanup(); - sys_stop(S_END); - /*NOTREACHED*/ +} + +main(argc, argv) int argc; +char* argv[]; +{ + register int i = 0; + + if (signal(SIGHUP, catch) == SIG_IGN) + (void)signal(SIGHUP, SIG_IGN); + if (signal(SIGQUIT, catch) == SIG_IGN) + (void)signal(SIGQUIT, SIG_IGN); + if (signal(SIGINT, catch) == SIG_IGN) + (void)signal(SIGINT, SIG_IGN); + prog_name = argv[0]; + phase_args = &argv[1]; + while (--argc > 0) + { + argv++; + if (argv[0][0] == '-') + { + switch (argv[0][1]) + { + case 'P': + if (argv[0][2] == '\0') + { + opt_dir = argv[1]; + argc--; + argv++; + continue; + } + break; + case 't': + if (argv[0][2] == '\0') + { + keeptemps = 1; + /* no continue; IL also needs this */ + } + break; + case 'v': + v_flag = 1; + break; + case 'O': + if (argv[0][2] == '2' || argv[0][2] == '\0') + continue; + if (argv[0][2] == '3') + { + Ophase = &O3phases[0]; + continue; + } + Ophase = &O4phases[0]; + continue; + case 'I': + if (!strcmp(&argv[0][1], "IL")) + { + add_uphase(IL); + add_uphase(CF); + continue; + } + break; + case 'B': + if (!strcmp(&argv[0][1], "BO")) + { + add_uphase(BO); + continue; + } + break; + case 'R': + if (!strcmp(&argv[0][1], "RA")) + { + add_uphase(RA); + continue; + } + break; + case 'U': + if (!strcmp(&argv[0][1], "UD")) + { + add_uphase(UD); + continue; + } + break; + case 'L': + if (!strcmp(&argv[0][1], "LV")) + { + add_uphase(LV); + continue; + } + break; + case 'C': + if (!strcmp(&argv[0][1], "CS")) + { + add_uphase(CS); + continue; + } + if (!strcmp(&argv[0][1], "CJ")) + { + add_uphase(CJ); + continue; + } + break; + case 'S': + if (!strcmp(&argv[0][1], "SR")) + { + add_uphase(SR); + continue; + } + if (!strcmp(&argv[0][1], "SP")) + { + add_uphase(SP); + continue; + } + break; + } + phase_args[i++] = argv[0]; + } + else + { + add_file(argv[0]); + } + } + phase_args[i] = 0; + nphase_args = i; + if (nuphases) + Ophase = uphases; + + if (nfiles == 2 * NTEMPS + 1) + { + /* 2*NTEMPS+1 was the starting value; nothing to do */ + sys_stop(S_END); + } + + if (!opt_dir) + { + fatal("no correct -P flag given"); + } + + if (keeptemps) + { + (void)strcpy(ddump, "."); + (void)strcpy(pdump, "."); + (void)strcpy(tmpbufs[0], "."); + } + (void)strcat(ddump, "/ego.dd.XXXXXX"); + (void)mktemp(ddump); + (void)strcat(pdump, "/ego.pd.XXXXXX"); + (void)mktemp(pdump); + + (void)strcat(tmpbufs[0], "/ego.A.BB.XXXXXX"); + (void)mktemp(tmpbufs[0]); + for (i = 2 * NTEMPS - 1; i >= 1; i--) + { + (void)strcpy(tmpbufs[i], tmpbufs[0]); + } + i = strrchr(tmpbufs[0], 'A') - tmpbufs[0]; + tmpbufs[0][i] = 'p'; + tmpbufs[NTEMPS + 0][i] = 'p'; + tmpbufs[1][i] = 'd'; + tmpbufs[NTEMPS + 1][i] = 'd'; + tmpbufs[2][i] = 'l'; + tmpbufs[NTEMPS + 2][i] = 'l'; + tmpbufs[3][i] = 'b'; + tmpbufs[NTEMPS + 3][i] = 'b'; + run_phase(IC); + run_phase(CF); + while (*Ophase) + { + run_phase(*Ophase++); + } + run_phase(CA); + cleanup(); + sys_stop(S_END); + /*NOTREACHED*/ }