Commit graph

319 commits

Author SHA1 Message Date
ceriel e5052d73e4 fix: make directory lib.bin/ego 1991-09-13 10:07:37 +00:00
ceriel 3bbf316395 Added Makefile to do a 'make distr' 1991-09-10 09:55:38 +00:00
ceriel 8caa154b25 new installation mechanism 1991-09-06 15:37:13 +00:00
ceriel d9f98bc411 New installation mechanism 1991-08-27 10:18:09 +00:00
ceriel 5f652d1e85 removed compare and install 1991-08-27 10:17:25 +00:00
ceriel 112b0cf407 removed ud_locals.h; it was not used 1991-08-27 10:15:59 +00:00
ceriel e505a02ad7 produce debugging info 1991-06-26 17:30:48 +00:00
ceriel 9f565afcc2 removed unused variable 1991-06-26 17:29:58 +00:00
ceriel 8583ee73f3 Added verbose flag 1991-06-26 17:28:15 +00:00
ceriel 7a0002427d Use of em_flag was wrong: did not use sp_fmnem 1991-03-20 17:31:20 +00:00
ceriel 74ff22b506 Allow for AALMAG as well as ARMAG 1991-03-20 16:24:50 +00:00
ceriel ac83fe3815 Removed WORDLENGTH generation program; no longer assume that the machine
on which we compile is the machine on which we run
1991-03-05 13:06:00 +00:00
ceriel 27d53b0d33 Changed #include's 1991-03-05 12:44:05 +00:00
ceriel e264b45120 Changed #include's 1991-03-05 12:16:17 +00:00
ceriel e340cea7be Under -t option, temporaries are in the current directory 1991-03-04 15:00:54 +00:00
ceriel 5a8012b084 Replaced driver by C version 1991-03-04 12:59:46 +00:00
ceriel 8f339de43b Prevent possible null-dereference 1991-03-01 14:55:46 +00:00
ceriel e1b6ddca2c Prevent superfluous label generation 1991-03-01 14:54:43 +00:00
ceriel 2c31a9b1ac removed -i flag 1991-02-19 16:51:50 +00:00
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