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