1) LIS.cond2s contains some suggestions about trivial improvements which would improve the quality of the code by a fair bit. 2) LIS.csieve is a disassembly of the sieve benchmark run through NORCROFTs C compiler - which does a dataflow analysis to see if it can keep variables in registers throughout a procedure. The code for the identical version of the sieve in Imp is in LIS.sieve - NORCROFT's code wins hands-down, although the Imp code could be improved by simple live/dead analysis at a local level, with delayed storing of variables and moving invariants out of short loops. 3) After observing the quality of the NorCroft C, I put the conditional-test file through it (after translating to C) - it produced almost exactly the code I generated by hand...
Name | Last modified | Size | Description | |
---|---|---|---|---|
README | 2008-10-12 00:24 | 795 | ||
ccond2s.lis | 2008-10-12 00:24 | 4.7K | ||
cond2s.c | 2008-10-12 00:24 | 2.4K | ||
cond2s.dec | 2008-10-12 00:24 | 327 | ||
cond2s.imp | 2008-10-12 00:24 | 2.8K | ||
cond2s.lis | 2008-10-12 00:24 | 8.3K | ||
csieve.lis | 2008-10-12 00:25 | 3.7K | ||
d.dec | 2008-10-12 00:24 | 704 | ||
d.exe | 2008-10-12 00:24 | 19K | ||
d.imp | 2008-10-12 00:24 | 48 | ||
dd.imp | 2008-10-12 00:24 | 4.2K | ||
decarm.imp | 2008-10-12 00:25 | 16K | ||
decode.exe | 2008-10-12 00:24 | 60K | ||
decoder.imp | 2008-10-12 00:24 | 18K | ||
dectags.imp | 2008-10-12 00:25 | 381 | ||
edit.exe | 2008-10-12 00:24 | 31K | ||
encode.imp | 2008-10-12 00:24 | 658 | ||
imp77.exe | 2008-10-12 00:24 | 221K | ||
implib.a | 2008-10-12 00:25 | 130K | ||
intmath.aof | 2008-10-12 00:24 | 912 | ||
intmath.dec | 2008-10-12 00:24 | 289 | ||
intmath.imp | 2008-10-12 00:24 | 220 | ||
link.exe | 2008-10-12 00:25 | 108K | ||
map.dec | 2008-10-12 00:24 | 288 | ||
map.imp | 2008-10-12 00:24 | 229 | ||
mydec.dec | 2008-10-12 00:24 | 768 | ||
mydec.exe | 2008-10-12 00:24 | 34K | ||
mydecv0.imp | 2008-10-12 00:24 | 4.9K | ||
realmath.src | 2008-10-12 00:24 | 255 | ||
savedecarm.imp | 2008-10-12 00:24 | 12K | ||
sieve.c | 2008-10-12 00:24 | 562 | ||
sieve.dec | 2008-10-12 00:24 | 298 | ||
sieve.exe | 2008-10-12 00:24 | 31K | ||
sieve.imp | 2008-10-12 00:24 | 638 | ||
sieve.lis | 2008-10-12 00:24 | 5.4K | ||
static.aof | 2008-10-12 00:24 | 604 | ||
static.c | 2008-10-12 00:24 | 115 | ||
static.dec | 2008-10-12 00:24 | 291 | ||
static.imp | 2008-10-12 00:24 | 232 | ||
temp1.tmp | 2008-10-12 00:25 | 5.7K | ||
temp2.tmp | 2008-10-12 00:25 | 3.5K | ||
triglog.src | 2008-10-12 00:24 | 261 | ||
z.txt | 2008-10-12 00:24 | 78 | ||
zzz.txt | 2008-10-12 00:24 | 3.1K | ||