keie
a88bca3670
Initial revision
1984-09-24 15:18:07 +00:00
keie
95510f8b4c
Initial revision
1984-09-24 14:10:23 +00:00
em
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.
1984-09-14 10:25:07 +00:00
keie
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}.
1984-09-13 14:40:09 +00:00
keie
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).
1984-09-13 14:35:02 +00:00
keie
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.
1984-09-13 11:07:46 +00:00
keie
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.
1984-09-13 11:04:00 +00:00
bal
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.
1984-09-12 13:21:43 +00:00
bal
ebed9d4804
unlk a6 added to restr().
1984-09-11 15:44:14 +00:00
keie
5895758914
Added ego, basic and callname conventions.
1984-09-10 17:34:04 +00:00
keie
3c300d3e1c
No comment.
1984-09-10 16:51:02 +00:00
keie
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.
1984-09-10 16:48:57 +00:00
keie
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.
1984-09-10 16:46:13 +00:00
keie
1dba1f5328
The input file names of the linker are to be found in a different place.
1984-09-10 16:45:12 +00:00
keie
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.
1984-09-10 16:42:55 +00:00
keie
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.
1984-09-10 16:37:11 +00:00
keie
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).
1984-09-10 16:33:03 +00:00
keie
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.
1984-09-10 16:30:47 +00:00
keie
384bb7f6c4
Naming of the tempname is changed (see files.c).
1984-09-10 16:29:37 +00:00
keie
4c265a7cc6
Initial revision
1984-09-03 13:49:40 +00:00
sater
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.
1984-08-23 17:07:53 +00:00
keie
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.
1984-08-23 13:33:11 +00:00
keie
f6b59970f6
The ACK tree on the vax has as default machine 'vax2'.
1984-08-23 13:27:14 +00:00
keie
1d463f136a
The missing trailing " trick is now also used for TMP_DIR.
1984-08-23 13:26:44 +00:00
keie
773f0aa626
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
621f9f4ea9
*** empty log message ***
1984-08-23 13:20:59 +00:00
keie
198da9e822
Initial revision
1984-08-23 13:18:14 +00:00
keie
5db647e661
Initial revision
1984-08-23 13:00:32 +00:00
sater
3744019c53
increased MAXNODES in small memory mode
1984-08-23 12:25:24 +00:00
sater
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?
1984-08-17 15:35:28 +00:00
keie
4759d84bdd
Added comment.
1984-08-17 14:57:31 +00:00
keie
c2f189c855
Added RCS identification.
1984-08-17 14:44:24 +00:00
sater
822b1c557c
Revised to include rcsid of pattern file in binary opt
1984-08-16 16:08:39 +00:00
sater
744bc6845d
enlarged string table in big memory case
1984-08-16 13:34:59 +00:00
sater
ce098c78cb
added patterns to prevent stacking in *p++ cases
1984-08-15 16:05:54 +00:00
sater
d1b3479a55
added patterns to remove some more dup's
1984-08-15 16:04:19 +00:00
sater
e682a47599
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
eebcf1b22c
added patterns to remove as many dup's as possible.
1984-08-15 14:23:42 +00:00
sater
b31c9f4a4a
added definition of malloc().
...
Program crashed on 2/4 machines
1984-08-08 10:54:04 +00:00
sater
e41876f32a
reworked patterns for autoincrement stores, now that peephole optimizer
...
rearranged it.
1984-08-07 10:22:49 +00:00
sater
eff0f36a5d
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
6f8e6faa1f
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
59fa458a20
removed some superfluous patterns.
...
Were special cases not needed with the general case.
1984-08-03 13:16:59 +00:00
sater
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.
1984-08-02 16:31:25 +00:00
keie
93672962a1
The name "unix" is now predefined for preprocessor usage.
1984-08-02 14:13:04 +00:00
sater
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.
1984-07-31 09:39:35 +00:00
keie
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.
1984-07-30 14:42:33 +00:00
bal
6e519cf02b
bug fixed: added "fprintf(codefile,""rts\n");" to restr()
1984-07-30 12:47:54 +00:00
bal
f2e52892ac
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
233b4aeee4
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