cgen: sim decoder changes

Frank Ch. Eigler fche@redhat.com
Fri Nov 10 08:44:00 GMT 2000


Hi -

I'm about to commit a patch to CGEN's sim decoder routines that
significantly improve the effectiveness of the generated switch
tables (reduce nesting; improve instruction partitioning; reduce
overall number of switch statements; reduce compiler space/time).
The new heuristics are way better than the previous ones.
Looking for the string "population" in the cgen logs at verbosity
level 5 will give you a sense of the decisions the new code is making.

I've tested several sim ports, some internal, some external, and
they all run correctly after the change.  I don't intend to commit
the regenerated sims myself any time soon - there's no rush.  Just
be aware that next time you regen a simulator, the *decode.c* files
may be pretty different than before.

By the way, the main reason I did all this was to reduce the
compilation space/time while building the sim decoders.  It turns
out that this didn't help enough -- the bigger source of the problem
is in fact the occasionally huge number of "sfmt" extractor blocks
following the switch statements.  I'll post more about that shortly
at cgen@sourceware.

- FChE


More information about the Cgen mailing list