550d1fa79e
New installation procedure: 1 - New place for binaries and libraries in the ACK tree. 2 - The ranlib action is moved to ../../install which tries it at every action.
keie
1984-10-08 14:09:28 +00:00
46dc90f366
bug fixed: generate "add.l #65536,a1" rather than "lea 65536(a1),a1". The latter form is only generated for constants that fit in a word.
bal
1984-10-08 12:45:38 +00:00
8958cb6faf
Altered the test path lib/n_ack into the normal path ACK_PATH.
keie
1984-10-05 15:07:47 +00:00
b5fa0675b6
Added a priority associated with each phase. Paths with the highest total priority have preference.
keie
1984-10-05 13:34:38 +00:00
8e680a6467
1 - Added some debugging for linker flags. 2 - Setting of NEEDS and RTS is moved to main.c. 3 - Added recognition of -Rphase:[-]number for dynamic priority setting.
keie
1984-10-05 13:31:40 +00:00
c4434ccbce
1 - Most flags used by ack itself are now also passed to the phases for recognition with mapflag. 2 - A few bugs are removed in connection with argument passing to the linker (unrecognized flags and libraries). 3 - The setting of RTS, HEAD and TAIL is done directly after the path determination for each file.
keie
1984-10-05 13:28:56 +00:00
1b251d6ab0
Removed the defines needed by util/ack/em_pc.c. These defaults are now provided in lib/ack/fe.
keie
1984-10-04 11:11:30 +00:00
5376af0d04
1 - Added RCS identification. 2 - Removed the default for compiler and error file pathname. These are now always supplied by the callee.
keie
1984-10-04 11:08:42 +00:00
00bd62d942
Corrected a small bug in the pc mapflags.
keie
1984-10-04 10:54:11 +00:00
0abe5e195e
1- Added RCS identification. 2- The pathnames of the Pascal compiler and Compile time-error file are now always explicitly passed to em_pc.
keie
1984-10-04 10:47:03 +00:00
4c0687f68b
Altered to reflect the changes in em_path.h. Now dynamically concatenes EM_DIR and error path.
keie
1984-10-04 10:42:13 +00:00
76b352bd38
A -incorrect- variant that uses EM_DIR/ERR_PATH etc.
keie
1984-10-04 10:06:12 +00:00
42be23b631
Altered the description of EM_HOME in em_path.h to that of EM_DIR.
keie
1984-10-02 16:24:59 +00:00
13d6e6815e
added missing cast at call to regsave, in ms_gto case
sater
1984-10-02 11:17:57 +00:00
92aecb175c
changed definition of myalloc to extern
sater
1984-10-02 10:31:06 +00:00
a3f62d0255
added external definition for myalloc()
sater
1984-10-02 10:30:44 +00:00
080555fffd
Bug removed: the trailing zero at the end of a growstring was not explicitly written in doassign(trans.c). Only luck kept the program together.
keie
1984-10-01 17:42:56 +00:00
083dccb299
Nill pointers are not allowed in CSA descriptors any more.
keie
1984-10-01 16:05:17 +00:00
1bea1c6883
Null pointer are not allowed any more for in-bound indeces in the CSA table.
keie
1984-10-01 14:54:09 +00:00
523134a5dc
Added National semiconductor assembler.
keie
1984-09-25 16:32:45 +00:00
abb1fce8ff
1 - A few minor syntactic changes. 2 - Altered the description of strings as initializers. (sequence of U1's).
em
1984-09-25 11:06:29 +00:00
6010f7b584
Made the buffer long enough for the machine state on most machines.
keie
1984-09-24 15:18:20 +00:00
2c4b17e464
Compile-time option GLOBAL_OPT defined. If set, the resulting peephole optimizer will be suitable for optimizing the output of the global optimizer. In particular, it doesn't change the register messages.
em
1984-09-14 10:25:07 +00:00
c97e1a7bc2
1 - The prop keyword with is flags is now obsolete. Its function is taken over by several other keywords: stdin, stdout, prep, optimizer, combiner and linker. 2 - The search order is changed. First {EM}/lib/{M}/descr, then {EM}/lib/ack/{M}, finally {M}.
keie
1984-09-13 14:40:09 +00:00
c93761cadc
The t_do bits are not set by this module. The t_next entry is used to see whether the scan for this phase is already done. t_do is now set in add_inputs(files.c).
keie
1984-09-13 14:35:02 +00:00
aa4bae59e0
1 - The t_do flags is now set by add_inputs(files.c). 2 - Recognize the fact that it is possible to start a combiner without input files. 3 - Removed -d flag. Overflow for -v (>2) now ends up in debug. -v may be followed by a number indicating the increment.
keie
1984-09-13 11:07:46 +00:00
527726167a
1 - The outfile entry is only used when the output file must not be thrown away. 2 - If a combiner has no named input file (only libs+flags) then issue a warning message and make up a name.
keie
1984-09-13 11:04:00 +00:00
68a6231d11
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.
bal
1984-09-12 13:21:43 +00:00
ebed9d4804
unlk a6 added to restr().
bal
1984-09-11 15:44:14 +00:00
3c300d3e1c
No comment.
keie
1984-09-10 16:51:02 +00:00
8443ef3f8d
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.
keie
1984-09-10 16:48:57 +00:00
1188f0e810
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.
keie
1984-09-10 16:46:13 +00:00
1dba1f5328
The input file names of the linker are to be found in a different place.
keie
1984-09-10 16:45:12 +00:00
20100c69c7
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.
keie
1984-09-10 16:42:55 +00:00
c504e2e22a
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.
keie
1984-09-10 16:37:11 +00:00
31f96c6850
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).
keie
1984-09-10 16:33:03 +00:00
6eda6ac320
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.
keie
1984-09-10 16:30:47 +00:00
384bb7f6c4
Naming of the tempname is changed (see files.c).
keie
1984-09-10 16:29:37 +00:00
2bf16c5b2f
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.
sater
1984-08-23 17:07:53 +00:00
0d48be448f
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.
keie
1984-08-23 13:33:11 +00:00
76dbe1096c
fixup commit for branch 'unlabeled-2.1.1'
cvs2hg
1984-08-23 13:27:15 +00:00
f6b59970f6
The ACK tree on the vax has as default machine 'vax2'.
keie
1984-08-23 13:27:14 +00:00
1d463f136a
The missing trailing " trick is now also used for TMP_DIR.
keie
1984-08-23 13:26:44 +00:00
773f0aa626
The ms_gto is added. This is a trick used to indicate procedures jumped to with gto.
keie
1984-08-23 13:25:44 +00:00
3744019c53
increased MAXNODES in small memory mode
sater
1984-08-23 12:25:24 +00:00
5689e6ab64
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?
sater
1984-08-17 15:35:28 +00:00
822b1c557c
Revised to include rcsid of pattern file in binary opt
sater
1984-08-16 16:08:39 +00:00
744bc6845d
enlarged string table in big memory case
sater
1984-08-16 13:34:59 +00:00
ce098c78cb
added patterns to prevent stacking in *p++ cases
sater
1984-08-15 16:05:54 +00:00
d1b3479a55
added patterns to remove some more dup's
sater
1984-08-15 16:04:19 +00:00
e682a47599
added patterns for inc/dec/adp of local and external offsetted This makes the getc() macro from C very efficient, among others
sater
1984-08-15 14:31:54 +00:00
eebcf1b22c
added patterns to remove as many dup's as possible.
sater
1984-08-15 14:23:42 +00:00
b31c9f4a4a
added definition of malloc(). Program crashed on 2/4 machines
sater
1984-08-08 10:54:04 +00:00
e41876f32a
reworked patterns for autoincrement stores, now that peephole optimizer rearranged it.
sater
1984-08-07 10:22:49 +00:00
eff0f36a5d
added patterns for *p++ local and external p added pattern to remove some badly placed dups
sater
1984-08-03 16:37:15 +00:00
6f8e6faa1f
added setcc calls to some incrementing ops added patterns for indirect local and external increments added patterns for loe ine and such
sater
1984-08-03 16:33:40 +00:00
59fa458a20
removed some superfluous patterns. Were special cases not needed with the general case.
sater
1984-08-03 13:16:59 +00:00
ff9d23e4ec
A move from a nonreg to a reg did not have the effect that all registers clashing with the destination were erased. Erase added.
sater
1984-08-02 16:31:25 +00:00
93672962a1
The name "unix" is now predefined for preprocessor usage.
keie
1984-08-02 14:13:04 +00:00
afc577b6c7
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.
sater
1984-07-31 09:39:35 +00:00
fe922d190d
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.
keie
1984-07-30 14:42:33 +00:00
6e519cf02b
bug fixed: added "fprintf(codefile,""rts\n");" to restr()
bal
1984-07-30 12:47:54 +00:00
f2e52892ac
bugs fixed (syntax errors, patterns moved to front, "ldl ldl adp sdl sti" requires DATAREG instead of ANY1 on fakestack)
bal
1984-07-30 11:16:41 +00:00
233b4aeee4
patterns added to generate autoincrement and to generate a "move X,d0" instead of a "move X,-(sp)" before storing into X
bal
1984-07-27 16:53:19 +00:00
eebc753306
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
sater
1984-07-23 11:29:59 +00:00
978dd0191a
removed blm.s, not used by table anymore
sater
1984-07-20 16:20:54 +00:00
5b20e4fed2
edited to make reentrant, no more globals in use
sater
1984-07-20 16:20:28 +00:00
eb823929a1
A sti 8 of a regdef8 token went into panic mode. Fixed.
sater
1984-07-20 10:32:48 +00:00
ef248ee65e
to check long >= 0 or long < 0 it is enough to test high order word. Added. anding and oring of long constants is much better now dvu 2 and rmu 2 by positive constants is now done inline.
sater
1984-07-19 16:50:27 +00:00