Re: [PATCH] sim: tighten up generated decode tables
"Jose E. Marchesi via Cgen" <[email protected]> Fri, 22 Dec 2023 11:55:56 +0100
| Newsgroups | gmane.comp.tools.cgen.devel |
|---|---|
| Message-ID | <[email protected]> |
> The use of /* fall through */ with consective case statements doesn't > really add any value, and when generating large files, can take up a > lot of space. In the case of cris, it alone adds ~20k, or ~10%. I am a little concern this change may trigger implicit-fallthrough warnings when compiling the generated code. Not sure this is a problem in practice though, since nor binutils nor sim uses -Wimplicit-fallthrough for building as far as I can see. > Also trim the space before the : with case statements. > --- > utils-sim.scm | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/utils-sim.scm b/utils-sim.scm > index dca0f0705036..8011bb775933 100644 > --- a/utils-sim.scm > +++ b/utils-sim.scm > @@ -684,14 +684,14 @@ > (obj:name (dtable-entry-value (car rest))))) > (string-append indent " case " > (number->string (dtable-entry-index entry)) > - " : /* fall through */\n")) > + ":\n")) > > (else > (let ((consistent-base-insn? (and (equal? APPLICATION 'SID-SIMULATOR) > (> (state-base-insn-bitsize) > (insn-length insn))))) > (string-append indent " case " > - (number->string (dtable-entry-index entry)) " :" > + (number->string (dtable-entry-index entry)) ":" > ;; Compensate for base-insn-size > current-insn-size by > ;; adjusting entire_insn. > ;; Activate this logic only for sid simulators; they are > @@ -825,7 +825,7 @@ > (string-list > indent " case " > (number->string (dtable-entry-index entry)) > - " :\n" > + ":\n" > > (let ((iflds-tracking (/decode-expr-ifield-tracking expr-list)) > (indent (string-append indent " "))) > @@ -914,7 +914,7 @@ > (string-list > indent " case " > (number->string (dtable-entry-index table)) > - " :" > + ":" > ; If table is same as next, just emit a "fall through" to cut down on > ; generated code. > (if (and (not (null? rest)) > @@ -923,7 +923,7 @@ > ; Ensure same table. > (eqv? (subdtable-key (dtable-entry-value table)) > (subdtable-key (dtable-entry-value (car rest))))) > - " /* fall through */\n" > + "\n" > (string-list > "\n" > (/gen-decoder-switch switch-num > @@ -1075,7 +1075,7 @@ > result)))) > > ;; ??? Can delete if all cases are present. > - indent " default : " > + indent " default: " > (/gen-decode-default-entry invalid-insn fn?) "\n" > indent " }\n" > indent "}\n"