Related articles |
---|
Any further work on superoptimizer? mark@hubcap.clemson.edu (1992-01-22) |
Re: Any further work on superoptimizer? chased@rbbb.Eng.Sun.COM (1992-01-23) |
Re: Any further work on superoptimizer? megatest!djones@decwrl.dec.com (1992-01-29) |
Re: Any further work on superoptimizer? hrubin@pop.stat.purdue.edu (1992-02-02) |
Re: Any further work on superoptimizer? rmf@chopin.cs.columbia.edu (1992-02-03) |
Re: Any further work on superoptimizer? spot@CS.CMU.EDU (1992-02-03) |
Re: Any further work on superoptimizer? mfx@cs.tu-berlin.de (1992-02-04) |
Re: Any further work on superoptimizer? array!colin (1992-02-09) |
Re: Any further work on superoptimizer? megatest!djones@decwrl.dec.com (1992-02-26) |
Newsgroups: | comp.compilers |
From: | mfx@cs.tu-berlin.de (Markus Freericks) |
Keywords: | optimize |
Organization: | Technical University of Berlin, Germany |
References: | 92-01-087 92-02-013 |
Date: | Tue, 4 Feb 1992 07:30:27 GMT |
If I remember correctly, the superoptimizer worked for straight lines of
integer code. When searching for a code sequence, i.e. "bcd-add bytes
from register d0 and d1 into d2" it enumerated all sensible code sequences
(i.e., code sequences not mentioning d0,d1 or d2 are not sensible in this
context) of length 1,2,3 and so on, wrote these to memory and *executed*
them on sample data. Two or three runs on random inputs usually suffice to
determine that a code sequence does *not* compute the intended result; so
with only, say 20 machine cycles, a sequences can be tested. This makes
testing the generated code trivial. Of course, larger tests have to be
done for sequences that "almost" do the right thing, and this was done by
some other means (ultimately, by hand, I think). The problem was that
some sequences of, say, 6 instructions could be faster than an "optimal"
4-instruction sequence, but were never reached because analyzing all
sequences of length <6 would takes many hours.
Markus
--
Markus Freericks phone: +49-30-4034110
Oranienburger Str. 142 email: mfx@opal.cs.tu-berlin.de
1000 Berlin 26 FRG or mfx%tubopal@DB0TUI11.BITNET
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.