This is the mail archive of the
cgen@sources.redhat.com
mailing list for the CGEN project.
cgen: sim decoder changes
- To: cgen at sources dot redhat dot com
- Subject: cgen: sim decoder changes
- From: "Frank Ch. Eigler" <fche at redhat dot com>
- Date: Fri, 10 Nov 2000 11:44:09 -0500
- Reply-To: fche at redhat dot com
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