Commit Graph
4096 Commits
Author SHA1 Message Date
bal 5fd55904ec pem did not generate a register message for var-parameters of
array- or record type. The routine "treewalk" is modified.
It generates a register message for every var-parameter, even
if it has its noreg-flag set.
1984-09-12 13:21:43 +00:00
bal 195c808f88 unlk a6 added to restr(). 1984-09-11 15:44:14 +00:00
keie 50e3b4fe4a Added ego, basic and callname conventions. 1984-09-10 17:34:04 +00:00
keie f366afdae1 No comment. 1984-09-10 16:51:02 +00:00
keie c08fe56b97 Combiners (ego, linkers) now use a list of path's(ack.h) to indicate
their input files.
Unmatched flags are now sent to the linker.
1984-09-10 16:48:57 +00:00
keie ed3db93f56 1 - A transformation is succesfull when
a - a stopsuffix is indicated and met,
    b - the last transformation is included in the transformation path.
2 - Maintains a 'cash' of best paths for all transformation to be executed.
1984-09-10 16:46:13 +00:00
keie 71dc6af5a8 The input file names of the linker are to be found in a different place. 1984-09-10 16:45:12 +00:00
keie cfdc2ce05f 1 - added keywords callname and outfile. See manual.
2 - multiple combiners are allowed now.
3 - A different search mechanism is used for finding descriptor files.
1984-09-10 16:42:55 +00:00
keie 845c92825a 1 - callname recognition is moved to rmach.c.
2 - The overall scheme is altered.
	first, all input files are processed until a combining phase is met.
	then, all the combining phases are executed, the resulting files
	are again processed until a combiner (or final) phase is met.
3 - The EM_DIR shell variable can be used to set ack's idea of the EM
    home directory.
1984-09-10 16:37:11 +00:00
keie 3adba1b759 1 - The names of temporary files are now Ack'hex''unique'.'suffix'.
'hex' is the pid of the current invocation of ack in hex.
    'unique' is a tail unique to this invocation.
2 - The outfile field is used to indicate default naming, can be ovrrriden
    by the -o flag.
3 - Added handling for phases with multiple inputs (ego, linker).
1984-09-10 16:33:03 +00:00
keie ea6c20f5d1 The role of the combiner is -partially- assumed by the linker.
Linker arguments are now part of the transformation structure.
Temp file nameing is changed.
1984-09-10 16:30:47 +00:00
keie d99b36abf8 Naming of the tempname is changed (see files.c). 1984-09-10 16:29:37 +00:00
keie 93693877be Initial revision 1984-09-03 13:49:40 +00:00
sater 2aa5c6b7d9 Variable nregvars had a name clash with the array nregvar[] in the
file tables.c. That was different in the 8'th character (!"#$%&'()_).
These variables should actually be static.
1984-08-23 17:07:53 +00:00
keie bbc3cb33cc We do not use the missing " trick anymore.
The root directory of the EM tree is in the name EM_DIR, the
root directory for tempfiles is in TMP_DIR.
All other path's are relative to EM_DIR.
1984-08-23 13:33:11 +00:00
keie 77ebfceac5 The ACK tree on the vax has as default machine 'vax2'. 1984-08-23 13:27:14 +00:00
keie 3d10bd6e59 The missing trailing " trick is now also used for TMP_DIR. 1984-08-23 13:26:44 +00:00
keie 03a31cf3fc The ms_gto is added. This is a trick used to indicate procedures
jumped to with gto.
1984-08-23 13:25:44 +00:00
keie 81267df9ad *** empty log message *** 1984-08-23 13:20:59 +00:00
keie 113cf23e0f Initial revision 1984-08-23 13:18:14 +00:00
keie 3154365fff Initial revision 1984-08-23 13:00:32 +00:00
sater e006f1ec29 increased MAXNODES in small memory mode 1984-08-23 12:25:24 +00:00
sater 1c36c470db Increased the amount of information passed through error routines
to printf. The routine badassert, running on a 2/4 machine lost it's
last argument on the way.
Anyone know of a better way to solve this problem?
1984-08-17 15:35:28 +00:00
keie 1da13e49e1 Added comment. 1984-08-17 14:57:31 +00:00
keie f077a39568 Added RCS identification. 1984-08-17 14:44:24 +00:00
sater 6474db065f Revised to include rcsid of pattern file in binary opt 1984-08-16 16:08:39 +00:00
sater 10b16f7c76 enlarged string table in big memory case 1984-08-16 13:34:59 +00:00
sater 1ff6c3236f added patterns to prevent stacking in *p++ cases 1984-08-15 16:05:54 +00:00
sater 19b13e8e4f added patterns to remove some more dup's 1984-08-15 16:04:19 +00:00
sater e5d1aebbae added patterns for inc/dec/adp of local and external offsetted
This makes the getc() macro from C very efficient, among others
1984-08-15 14:31:54 +00:00
sater b23de46c3a added patterns to remove as many dup's as possible. 1984-08-15 14:23:42 +00:00
sater 9bdd1abf9a added definition of malloc().
Program crashed on 2/4 machines
1984-08-08 10:54:04 +00:00
sater 6180399964 reworked patterns for autoincrement stores, now that peephole optimizer
rearranged it.
1984-08-07 10:22:49 +00:00
sater db0822fa37 added patterns for *p++ local and external p
added pattern to remove some badly placed dups
1984-08-03 16:37:15 +00:00
sater 11026ace27 added setcc calls to some incrementing ops
added patterns for indirect local and external increments
added patterns for loe ine and such
1984-08-03 16:33:40 +00:00
sater 76281fa307 removed some superfluous patterns.
Were special cases not needed with the general case.
1984-08-03 13:16:59 +00:00
sater dbcebe6e4c A move from a nonreg to a reg did not have the effect that all
registers clashing with the destination were erased. Erase added.
1984-08-02 16:31:25 +00:00
keie 8a4d834bc6 The name "unix" is now predefined for preprocessor usage. 1984-08-02 14:13:04 +00:00
sater 925701dc62 When building the parameter list for a pf-call, the line number
for the exchanges war remembered at the wrong time.
This caused:
	foo(3,'string')
to cause an external identifier for the string. Fixed.
1984-07-31 09:39:35 +00:00
keie 385d7ffbd8 String initializer handling is changed.
Strings are now considered to be sequences of xU1's.
No alignment is done before or after the string other than the
alignment done for names and segment type switches.
1984-07-30 14:42:33 +00:00
bal e1c24cb475 bug fixed: added "fprintf(codefile,""rts\n");" to restr() 1984-07-30 12:47:54 +00:00
bal 964976ff0b bugs fixed (syntax errors, patterns moved to front,
"ldl ldl adp sdl sti" requires DATAREG instead of ANY1 on
fakestack)
1984-07-30 11:16:41 +00:00
bal 4eea24fe69 patterns added to generate autoincrement and to generate
a "move X,d0" instead of a "move X,-(sp)" before storing into X
1984-07-27 16:53:19 +00:00
sater 811bc78f04 added rcsid 1984-07-27 10:28:48 +00:00
sater b07af506d6 added PR* routines 1984-07-26 13:15:21 +00:00
sater 5e97bff353 Changed procedure prolog to use PR* routines. 1984-07-26 13:05:22 +00:00
keie c001aa20d7 *** empty log message *** 1984-07-23 11:49:00 +00:00
sater 61da47ea52 removed all calls to blm~ from table
duplicated some patterns for in[lc] to deal with de[lc]
extra rule for adi 2 to deal with source1 cleverly
1984-07-23 11:29:59 +00:00
sater d6a3a26314 removed blm.s, not used by table anymore 1984-07-20 16:20:54 +00:00
sater eca6c1f306 edited to make reentrant, no more globals in use 1984-07-20 16:20:28 +00:00