Commit graph

315 commits

Author SHA1 Message Date
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
bal b532117b2b -O flag removed 1984-11-29 16:25:08 +00:00
bal bda5c8409c macros newlvbx and oldlvbx added. 1984-11-29 15:10:11 +00:00
bal 8a15a3f597 macros newlocal() and oldlocal() moved to alloc.h 1984-11-29 14:40:31 +00:00
bal 0c0c3b7892 -O flag removed from CFLAGS 1984-11-29 13:33:33 +00:00
bal b0de601d5b -O removed from CFLAGS 1984-11-29 13:31:22 +00:00
bal 7767012a6e il_aux.h included (which now contains getcall(),putcall() etc.
routines that were peviously in get.c and put.c).
1984-11-29 11:08:15 +00:00
bal bd06330739 stdio.h included (required by new interface to get.h). 1984-11-29 11:06:23 +00:00
bal 84ed8ee7ef 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-29 11:03:19 +00:00
bal f3e35f5432 routine getbblocks (plus its auxiliary routines) moved from get.c
to this file; core allocation macros newcfbx() and oldcfbx() added.
1984-11-29 10:51:16 +00:00
bal edcb838b98 newnametable() move from alloc.c to this file,
get_ca_lines moved from get.c to this file,
em_pseu.h and em_mes.h included (needed by get_ca_lines).
1984-11-29 10:31:44 +00:00
bal c17a52c09d stdio.h included (required by new get.h interface),
macros's newlocal() and oldlocal() added, replacing routines in
alloc.c with same name.
1984-11-29 10:25:21 +00:00
bal 0032ebfeda getbblocks(), getcall(), getcc() and get_text() removed,
get_ca_lines() removed,
curinp,lastbid,lastlabid exported
getbyte(),getshort(),getoff(),read_line and getlines() exported.
1984-11-29 10:18:53 +00:00
bal 582a0cc2aa getbblocks() removed (now local to CF phase),
getcall(),getcc() and get_text removed (now local to IL),
get_ca_lines() removed (now local to CA),
current input file "f" renamed "curinp" and exported,
getbyte (macro), getshort() and getoff() exported
read_line() and getlines() exported,
lastbid and lastlabid exported.
1984-11-29 10:15:23 +00:00
bal dd5ceb7b97 putcall an putcc removed,
curoutp, outbyte,outshort and outoff exported.
1984-11-29 10:11:37 +00:00
bal 470826f0c9 putcall and putcc removed (make local to IL phase)
current output file renamed "curoutp" and exported
outbyte, outshort and outoff exported.
1984-11-29 10:09:15 +00:00
bal 1cb39eff7e cleaned up 1984-11-28 09:26:44 +00:00
bal 502a7a86af Initial revision 1984-11-27 16:16:36 +00:00
bal 30ca0afe49 cleaned up 1984-11-27 15:52:23 +00:00
bal ad383cbdc0 stack_change was renamed stack_chg 1984-11-27 15:43:14 +00:00
bal 165965eadc Initial revision 1984-11-27 15:40:13 +00:00
bal a6d53a6bcd "ivars" was renamed "ivvars" to avoid name conflict with sr_expr.c 1984-11-27 15:30:34 +00:00
bal df200afd46 cleaned up 1984-11-27 15:04:04 +00:00
bal 9c3a416acd cleaned up; dependecies added. 1984-11-27 14:53:00 +00:00
bal 9e38bfa060 cleaned up. 1984-11-27 14:25:02 +00:00
bal 2d6eff961f cleaned up. use CC. 1984-11-27 14:23:20 +00:00
bal 0981b8857b getoff() moved to front (was called before being defined)
declaration char *pseudo[] changed to char *pseudo[5] to suppress warining
1984-11-27 14:21:55 +00:00
bal 69bdddd9ba "cc" replaced by $(CC) 1984-11-27 12:59:18 +00:00
bal c4b4a08720 Initial revision 1984-11-26 15:15:07 +00:00
bal 6d481ce4d6 Initial revision 1984-11-26 15:04:22 +00:00
bal 6a9e49f683 Initial revision 1984-11-26 14:51:59 +00:00
bal 1833451151 Initial revision 1984-11-26 14:35:32 +00:00
bal 9f778655a6 Initial revision 1984-11-26 14:14:55 +00:00
bal f01e1431b0 Initial revision 1984-11-26 14:07:17 +00:00
bal 415ae7e922 Initial revision 1984-11-26 13:58:05 +00:00
bal 7b798175ad Initial revision 1984-11-26 13:43:22 +00:00