Commit graph

285 commits

Author SHA1 Message Date
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
bal 8db2c12881 regsave_cost() returns void instead of short. 1984-12-04 13:03:49 +00:00
bal ee3ef338db Comment closer ("*/") added to description of getlines(). 1984-12-03 12:12:37 +00:00
bal 0778ce4a9a Macros for B_DIST, B_USECNT and B_MARK removed, as these fields are
no longer used.
Declarations of nrinstrs and instrmap marked "extern" to satisfy ack compiler.
1984-11-30 10:52:05 +00:00
bal 7351e38ed5 Declaration of items[] made static to avoid name conflict with ra_items.c
Core allocation macros added.
1984-11-30 10:50:27 +00:00
bal bac0efbedb Declaration of items[] made static to avoid name conflict with ra.c 1984-11-30 10:49:09 +00:00
bal 302608566a routines getcall(), get_text() and getcc() move from get.c to this file
routines putactuals(), putcall(), and putcc() move from put.c to this file
get.h, put.h, stdio.h, em_mnem.h and em_pseu.h included
1984-11-30 10:30:22 +00:00
bal c814b9523d several data structures added (moved from types.h).
core allocation macros added.
1984-11-30 10:28:35 +00:00
bal 39891edd12 Declarations for iv and code_info added (moved from types.h).
core allocation macros added.
1984-11-30 10:27:05 +00:00
bal 90df1e5b9a core allocation macros added 1984-11-30 10:25:21 +00:00
bal 1e69d3458c declaration for sym,num and prc added (moved from types.h) 1984-11-30 10:24:21 +00:00
bal 6988358e29 ic.h included before ic_lookup.h 1984-11-30 10:23:34 +00:00
bal 49137da06b Lots of procedures removed (turned into macro in alloc.h or
moved to one specific phase).
1984-11-30 10:15:24 +00:00
bal 594a5bb49b Lots of data structures removed and made local to one specific phase. 1984-11-30 10:14:30 +00:00
bal e5a282c621 Lots of procedure newxxx() and oldxxx() turned into macros.
Lots of such procedures removed and made local to one specific phase.
1984-11-30 10:12:37 +00:00
bal 4ab54c85a8 As getbblocks() was moved to cf.c, em_flag.h need no longer
be included.; also, the declaration for em_flag[] was removed.
1984-11-30 10:10:41 +00:00