ceriel
79cb35ec4f
Added SLI reduce
1991-02-19 16:45:57 +00:00
ceriel
335377da7a
changed lint flags, use ms_ego, changed allocation strategy for loops
1990-12-18 11:14:34 +00:00
ceriel
41ca723d96
corrected register save cost counts
1990-12-18 11:13:03 +00:00
ceriel
8b397ebf05
Moved some macros to ../share, changed lint flags
1990-12-17 16:48:31 +00:00
ceriel
5dee3d1b26
Changed lint flags
1990-12-17 16:35:26 +00:00
ceriel
1139272435
Changed types in core allocation routines, changed lint flags
1990-12-17 14:55:03 +00:00
ceriel
ab62dda2fc
Added -t flag to keep temporaries around
1990-12-17 14:22:09 +00:00
ceriel
4e4d3290d4
use ms_ego, changed lint flags
1990-12-17 14:11:13 +00:00
ceriel
a836599f53
removed unused macros, changed lint flags
1990-12-17 13:53:44 +00:00
ceriel
b3ff76d859
Changed lint flags
1990-12-17 13:52:53 +00:00
ceriel
8b63334d30
fixed problem with multiple definitions going by undetected
1990-12-17 13:19:31 +00:00
ceriel
2fbdc5447a
Changed types in core allocation routines, changed lint flags
1990-12-17 13:15:03 +00:00
ceriel
5e0ec19a91
Changed lint flags
1990-12-17 13:11:13 +00:00
ceriel
50c8fe71c3
changed lint flags, changed macro name, deleted unused macro
1990-12-17 13:09:57 +00:00
ceriel
79444acd83
Changed lint flags
1990-12-17 13:05:24 +00:00
ceriel
ab1b54b56d
Added sparc description, don't put constants in regs on M68020
1990-11-01 09:37:02 +00:00
ceriel
7f8a099a15
Fixed problem with global names used for statics as well as externs
1990-10-08 11:44:15 +00:00
ceriel
3fb20f5201
made produced itemtab.h file more readable
1990-08-20 15:32:29 +00:00
ceriel
eb50492a1f
#ifdeffed strange test
1990-08-01 14:34:53 +00:00
ceriel
f936a3f35a
time optimization is default now
1990-08-01 14:33:08 +00:00
ceriel
e3120d2b5f
minor change
1990-08-01 14:32:04 +00:00
ceriel
eab3243973
dumped core on SIM instruction
1990-07-19 10:00:02 +00:00
ceriel
e2b59f6517
Removed some erroneous fclose() calls
1990-05-31 13:54:33 +00:00
ceriel
82b0ef795d
fix: IL sometimes removed procedures that could be called indirectly
1990-05-30 11:31:32 +00:00
ceriel
d4e3a9d9f6
fixed exit status
1989-11-07 16:17:06 +00:00
ceriel
9b2bc42d92
fixed sed script: \> is special under SunOs 4.0, and the escape was not needed anyway
1989-11-07 16:13:26 +00:00
ceriel
cd8f86a7e4
Added descriptions for EM machines
1989-06-27 15:46:58 +00:00
ceriel
58f837cd33
fixed reading of archives
1989-06-27 15:41:47 +00:00
ceriel
ced856c234
improved fix
1989-05-30 14:50:16 +00:00
ceriel
e6fb294aac
transform HOL into BSS so that IL does not get confused
1989-05-30 14:32:12 +00:00
ceriel
6266743c4c
static links are not considered read-only anymore
1989-05-30 10:44:34 +00:00
ceriel
a432f84eb0
more fine-tuning
1989-03-20 12:36:22 +00:00
ceriel
0975784c8d
some changes for more fine-tuning
1989-03-13 14:12:22 +00:00
ceriel
ae34da5376
simplified a bit
1989-03-07 10:33:47 +00:00
ceriel
3370f962a4
undid some changes; they were not effective
1989-03-07 10:29:15 +00:00
ceriel
ab1b682800
changed lint flags
1989-03-07 10:27:22 +00:00
ceriel
23f2646704
use general as pointer flag added
1989-03-07 10:24:32 +00:00
ceriel
15449606d1
bug fix: if a case-statement did not have a default, so that the
...
default is the successor of the block containing the CSA/CSB instruction,
the branch to the CSA/CSB block was not optimized
1989-03-07 10:11:24 +00:00
ceriel
bb7b8d6490
fixed problem with size option
1989-03-03 17:53:31 +00:00
ceriel
86ace8a020
Fixed lintflags
1989-02-09 11:33:11 +00:00
ceriel
dfca9ea600
fixed lint options; Added -O<num> option
1989-02-09 11:22:24 +00:00
ceriel
6fc4ca1ae0
The s option now gives a percentage of the size of the input
1989-02-09 10:18:48 +00:00
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
bal
ffb167e8b2
lay-out enhanced; flags (CFLAGS etc.) inherited from central Makefile;
...
entry for compiling this phase with ack -O created.
1984-12-21 14:41:47 +00:00
bal
98989fd9ca
Initial revision
1984-12-10 13:36:12 +00:00
bal
9019141137
Bug fixed in optimizing two adjacent basic blocks.
1984-12-07 14:19:53 +00:00
bal
4e461a9860
Initial revision
1984-12-04 15:04:44 +00:00
bal
3cdaf9f4ba
WORDLENGTH now defined in automatically generated file wordlen.h
...
Generate this file from makewlen.c
1984-12-04 15:04:01 +00:00
bal
0d0e2d2d22
WORDLENGTH now defined in automatically generated file worlen.h
1984-12-04 15:03:22 +00:00
bal
8d659c015f
Bug fixed: fill_item() should initialize item->it_desirable to TRUE.
1984-12-04 14:41:20 +00:00
bal
9b72991e27
regsave_cost() return void instead of short.
1984-12-04 13:04:27 +00:00