ceriel
f78b282fb4
FIX: did not handle most of the 'end of basic block' instructions right;
...
many of them have effect on the stack, and this went by unnoticed
1988-09-07 09:20:37 +00:00
ceriel
79ac11bd40
Made to compile with DEBUG off
1988-09-02 13:55:54 +00:00
ceriel
83b92a8af2
fix: assertion was wrong
1988-09-02 13:52:11 +00:00
ceriel
0695089005
Added CS info
1988-07-19 09:45:59 +00:00
ceriel
9d48a61694
improved i86 description
1988-07-18 17:10:43 +00:00
ceriel
83a22b318c
handle SLU like SLI
1988-06-22 11:31:45 +00:00
ceriel
dd690a1065
a minor fix
1988-06-22 10:56:04 +00:00
ceriel
627d2060cd
Added some code to reduce SLI, then decided against it
1988-06-22 10:41:52 +00:00
ceriel
f892470f88
when checking for array computations with SLI, also check at the ADS!
1988-06-21 16:49:52 +00:00
ceriel
d25a84511c
corrected
1988-06-21 16:20:59 +00:00
ceriel
e8f4e47da5
better info for SLI
1988-06-21 16:10:19 +00:00
ceriel
7f5c3ac4f6
made reading of list from description file a bit more general
1988-06-21 15:31:51 +00:00
ceriel
46c8b743f2
run peephole optimizer after inline substitution
1988-06-21 15:20:49 +00:00
ceriel
860230a837
lay-out fix
1988-06-21 15:20:01 +00:00
ceriel
dea600f9bf
Added option to indicate that whole program is offered
1988-06-16 09:41:51 +00:00
ceriel
35d8ec11fa
be a bit more optimistic about gain for pointer registers
1988-06-15 15:28:10 +00:00
ceriel
de0048e96b
don't throw away external procedures
1988-06-10 15:39:05 +00:00
ceriel
e8d1bdb192
make to work with modified installation script
1988-04-29 09:12:29 +00:00
ceriel
7fbb57dea4
clean entry should not throw away distributed files
1988-04-27 10:57:37 +00:00
ceriel
b90cc5ceb9
make it more K&R C
1988-01-13 11:06:06 +00:00
ceriel
31b2f7d9e0
take care of GTO
1987-10-02 12:53:04 +00:00
ceriel
102a2b1061
don't optimize when ms_gto
1987-10-02 12:52:29 +00:00
ceriel
1ac5d9c95a
Handle GTO, LOR/STR 0 also use local base
1987-10-02 12:43:54 +00:00
ceriel
d2006b19af
do not replace LAR/SAR by AAR LOI/STI, when the descriptor is not available
1987-10-02 10:48:38 +00:00
ceriel
c0dd8055c2
make variables that are assigned to alive, at least for a short while
1987-10-02 10:41:13 +00:00
ceriel
7f400e5073
print identifier name when multiple declared
1987-10-02 09:55:16 +00:00
ceriel
6cdc7b47cf
OUTTRACE was doubly defined
1987-08-06 14:29:16 +00:00
ceriel
040495ff56
fixed another bug with header blocks, and modified to use existing header
...
block when possible
1987-08-05 09:46:38 +00:00
ceriel
159b84ef68
bug fixes: put header block at end of procedure
1987-08-04 14:13:24 +00:00
ceriel
0e9f072917
yet another fix: outoperand must do nothing with ps_end
1987-07-30 08:59:40 +00:00
ceriel
3b0057625d
did not handle HOL names right (null names)
1987-07-29 10:43:43 +00:00
ceriel
3cd5074594
fix: did not handle externals with big HOL offsets right
1987-07-29 10:39:02 +00:00
ceriel
7bb843eb0f
fixed a bug in a name-changing routine
1987-06-29 14:41:23 +00:00
ceriel
81b1d21c35
Initial revision
1987-04-13 10:32:47 +00:00
ceriel
aad62add90
Bug fix: a character was compared to op_lab, which is >= 128.
1987-04-03 16:48:53 +00:00
ceriel
4fd846804a
Seemed to prefer reg_any registers, which caused addresses of procedures
...
to end up in data registers on the m68020. This is temporarily fixed,
but actually, the descriptor files could be somewhat more general.
1987-04-03 15:38:52 +00:00
ceriel
e8bc890c10
improved somewhat
1987-04-03 15:06:25 +00:00
ceriel
3e694c1b9d
made names of dynamically varying length
1987-03-25 16:24:41 +00:00
ceriel
032929c22c
changed IDL
1987-03-25 10:53:47 +00:00
ceriel
a6b6375985
Don't switch on longs!
1987-03-17 11:12:09 +00:00
ceriel
d52e25949a
Indirect function calls should be just that!
1987-03-16 15:14:52 +00:00
ceriel
96fd613e89
Added a "distr" entry
1987-03-11 09:49:33 +00:00
ceriel
6eaf182cee
Added Rcs Id
1987-03-10 11:49:39 +00:00
ceriel
a0eea34497
Added copyright notice
1987-03-09 22:06:21 +00:00
ceriel
815166e421
Added copyright notice
1987-03-09 19:15:41 +00:00
ceriel
bb787ae7cb
Added exit from main
1987-03-09 13:22:45 +00:00
ceriel
1583b4191a
Added an exit from main
1987-03-09 13:14:32 +00:00
ceriel
a3426ca0e2
*** empty log message ***
1987-03-04 16:43:03 +00:00
ceriel
bc1fb58cd6
SHARE --> SHR
1987-03-02 12:42:38 +00:00
ceriel
3baea33f46
*** empty log message ***
1987-02-23 19:18:57 +00:00
ceriel
d640f098b9
updated to current situation
1987-02-23 19:15:33 +00:00
ceriel
75cfdc06c6
Initial revision
1987-02-23 19:14:34 +00:00
ceriel
522039cb60
replaced a %D
1987-02-09 17:31:25 +00:00
ceriel
17ddf81681
replaced some %D's
1987-02-09 17:28:22 +00:00
ceriel
e6f18b2838
Initial revision
1987-01-13 11:31:24 +00:00
ceriel
630e5d8082
Initial revision
1987-01-13 11:01:26 +00:00
ceriel
6d499785be
Initial revision
1987-01-13 10:53:33 +00:00
ceriel
424337507d
Added standard entries
1987-01-13 10:43:12 +00:00
ceriel
876369b2f1
Added standard entries
1987-01-13 10:30:06 +00:00
ceriel
692d3702a1
Added "standard" entries
1987-01-13 10:08:47 +00:00
ceriel
3cb30fa873
Added a "clean" entry.
1987-01-13 10:07:25 +00:00
ceriel
673b1d79e2
Initial revision
1987-01-13 10:01:07 +00:00
ceriel
28b3286e21
Added "standard" entries install, cmp, opr
1987-01-13 09:56:17 +00:00
bal
b48d45c38d
increased STACK_DEPTH from 50 to 250
1986-02-10 11:04:33 +00:00
bal
8668e313f8
bug fixed: same problem as in r1.3, now with csb.
...
Solution: only do block fusion if first block end on bra.
1985-09-19 11:14:55 +00:00
bal
a18c5dd9c4
bug fixed: last instruction of first block in block fusion optimization
...
can be a conditional branch. (bug detected by Ceriel).
1985-09-18 16:27:29 +00:00
bal
53f6b51cde
sprintf does not return pointer to string so the assert(s==string) does
...
not make any sense.
1985-09-06 11:39:06 +00:00
bal
6a4d9703cc
exit(0) added (trouble with make)
1985-09-06 11:38:00 +00:00
bal
c478b62711
bug fixed in kill_much():
...
for ( .. ; i != (Lindex) i; .. ) should be
for ( .. ; i != (Lindex) 0; .. ).
1985-02-28 10:35:57 +00:00
bal
d5098fe70f
Bug fixed: co_lfirst received wrong value for multiply-optimization.
1985-02-25 14:03:09 +00:00
bal
469d075e77
Calls of which the actual and formal parameters do not match
...
are no longer substituted inline.
1985-02-20 15:01:02 +00:00
bal
7397122695
p_use->u_ext field deleted from showptable()
1985-02-19 11:16:11 +00:00
bal
abcbc93b5d
Dependencies for .m files added.
1985-02-19 11:13:13 +00:00
bal
66ab97d2b0
bug fixed: lifetime of an item was too short; it should also cover
...
any live/dead message prior to its initial live-message.
1985-02-18 15:14:22 +00:00
bal
a1c2dadb2a
Compare group (cmp,cmi,cmu,cms,cmf) added as cheap operators.
1985-02-15 13:18:57 +00:00
bal
e704ddc158
restructured.
1985-02-11 10:52:49 +00:00
bal
f7699474b8
The binaries of the phases of ego are now put in a single directory.
1985-02-11 10:07:47 +00:00
bal
6909adbf9c
Macros newcflpx and oldcflpx added.
1985-02-11 09:52:11 +00:00
bal
156775643e
Include files and declaration of em_flag added.
1985-02-11 09:51:02 +00:00
bal
d41c902b12
Memory allocation/deallocation for extends changed.
1985-02-11 09:48:32 +00:00
bal
b99ce86e16
register save costs changed: they are now linearly dependent on
...
the number of registers to be saved (for time).
1985-01-30 15:43:02 +00:00
bal
bec394f7bd
Entry for LOI changed from CLASS1 to CLASS12.
1985-01-30 14:49:03 +00:00
bal
db19d06f61
CLASS12 added for the LOI instruction. A "LOI n", n < wordsize,
...
loads wordsize bytes, not n bytes.
1985-01-30 14:47:49 +00:00
bal
31eab814f2
Debugging procedure print_allocs now writes to stderr.
1985-01-30 10:52:33 +00:00
bal
7f9dd27dc8
bug fixed: assemble_allocs() did generate whole_procedure allocations.
...
These allocations were initialized with a very low profit. Consequently
account_regsave rejected these allocations.
Solution: repl_allocs() updates the al_profits field of the
whole_procedure allocation.
1985-01-30 10:47:47 +00:00
bal
387191a2c7
bug fixed: oldmap(lmap,llength) was sometimes called when no new map
...
had to be allocated for the current (data-) unit.
1985-01-28 11:38:06 +00:00
bal
a49f2d23f7
Number of address registers decreased from 5 to 4.
1985-01-25 13:24:12 +00:00
bal
66eabbcddf
parameter of fscanf changed from "%d" to "%hd" to read a short.
1985-01-23 16:28:58 +00:00
bal
468401cb81
core allocation macros added.
1985-01-23 16:27:47 +00:00
bal
cac6ffd8c2
ovfl_harmful and arrbound_harmful turned into ints
1985-01-23 16:25:29 +00:00
bal
d32d4e6ba0
Interface of tmplocal() changed: second parameter is a long now
1985-01-23 16:23:15 +00:00
bal
5cad6f6aa7
interface with tmplocal() changed: second parameter is a long now.
1985-01-23 16:18:33 +00:00
bal
e46c49e291
bug fixed in get_instrs(): instr should be an int rather than a Celem_t.
1985-01-23 16:16:49 +00:00
bal
5a95c31414
bug fixed in last_mnem(): test on nil-pointer.
...
bug fixed in try_tail(): add line "if(l1==0||l2==0) return FALSE".
1985-01-23 16:13:57 +00:00
bal
f487f26e00
bug fixed in last_line() : assert(l!=0) should be assert(lines!=0).
1985-01-23 16:12:21 +00:00
bal
e95492dfb0
bug fixed in routine get_ca_lines(): test on nil-pointer.
1985-01-23 16:10:43 +00:00
bal
fefe15a844
init_regcnt renamed initregcnt to avoid name conflict.
...
bug fixed in routine fits_in(): test on nil-pointer.
routine choose_location(): interface with tmplocal() changed, second
parameter now is a long, so a cast is added.
1985-01-23 16:07:09 +00:00
bal
3d2c33e277
rules for itemtab.h and makeitems added.
1985-01-23 15:50:17 +00:00
bal
2ea3be322d
clean_items renamed cleanitems to avoid name conflict.
...
clean_timeset renamed cleantimeset to avoid name conflict.
bugs fixed: calls to fscanf() with a pointer-to-short as argument
should provide a "%hd" instead of "%d".
1985-01-23 15:45:58 +00:00
bal
2d8dcaa2df
Initial revision
1985-01-18 09:59:09 +00:00