Commit graph

816 commits

Author SHA1 Message Date
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
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
sater ce098c78cb added patterns to prevent stacking in *p++ cases 1984-08-15 16:05:54 +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 e41876f32a reworked patterns for autoincrement stores, now that peephole optimizer
rearranged it.
1984-08-07 10:22:49 +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 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
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
sater 0b07016f0b added PR* routines 1984-07-26 13:15:21 +00:00
sater 5894adfd67 Changed procedure prolog to use PR* routines. 1984-07-26 13:05:22 +00:00
keie 14a3683f85 *** empty log message *** 1984-07-23 11:49:00 +00:00
sater 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
1984-07-23 11:29:59 +00:00
sater 978dd0191a removed blm.s, not used by table anymore 1984-07-20 16:20:54 +00:00
sater 5b20e4fed2 edited to make reentrant, no more globals in use 1984-07-20 16:20:28 +00:00
sater eb823929a1 A sti 8 of a regdef8 token went into panic mode. Fixed. 1984-07-20 10:32:48 +00:00
sater 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.
1984-07-19 16:50:27 +00:00
sater e20ab23a4b added rcsid 1984-07-19 15:03:30 +00:00
sater 5fb767966b Initial revision 1984-07-19 15:01:43 +00:00
sater 15e9fd8cd5 removed #ifdef UNTESTED around logical instructions without arguments,
seems they were used ( which implicitly means tested ) after all
1984-07-19 14:03:49 +00:00
sater 73d8f05fb5 Initial revision 1984-07-19 13:52:18 +00:00
sater 3ca5d2fcb6 added rcsid 1984-07-19 13:34:12 +00:00
sater b95f4c8bfd Initial revision 1984-07-19 13:20:15 +00:00
sater 801226a45c old code put back, now register handling is different again
actually old code never was removed, due to a misunderstanding
about comment conventions.
1984-07-19 13:12:03 +00:00
sater f16fdf4e7f makefile adapted to new style archive handling, RCS and all that 1984-07-19 13:11:36 +00:00
sater d082a2b0a2 a setl instruction was changed to a setd
setl was just plain wrong
1984-07-19 13:09:53 +00:00
sater d5aa088876 Initial revision 1984-07-19 12:51:00 +00:00
bal 8defe7ce53 rcsid added 1984-07-19 11:50:29 +00:00
bal 69584eb0ca Initial revision 1984-07-19 11:50:28 +00:00
bal da4092cbdf New implementation of GTO (without register save masks)
several optimizations added
1984-07-19 11:15:28 +00:00
bal c1fd560106 New implementation of GTO (without register save masks) 1984-07-19 11:07:15 +00:00
bal 17caf7129e rcsid added
several optimizations added
1984-07-19 11:02:06 +00:00
bal a520ccdbbc rcsid added
clr.w -(sp) generated in prolog if register save mask is 0
1984-07-19 10:57:19 +00:00
bal eeeff10a51 Initial revision 1984-07-19 10:03:10 +00:00
bal c75693c35a Initial revision 1984-07-19 09:37:24 +00:00
sater e1aef765a0 added patterns for ldc adi/ldc sbi with zero high order word
added patterns for *--p with p register
added patterns to generate cmpb to compare two bytes.
added patterns to use regvar to index global array
added patterns for lol inl
added patterns for external pointer increment/decrement
1984-07-18 16:47:24 +00:00
sater ec992b001c added definition of index, to keep compiler happy 1984-07-18 14:14:46 +00:00
sater 8304ce5eae removed recursive comments
removed NC with sti rules
added rule to reverse operands of adi 2
added rule to convert loc sbi to loc adi
added loc slu -> loc sli rule
added local++ rule
added rule for asping xsource2
added rule for csb when nothing on stack
1984-07-18 13:39:24 +00:00
sater 8af636a3c1 added rcsid
changed instruction label format to allow more than 256 procedures
1984-07-18 13:32:11 +00:00
sater 3169067979 changed instruction label format to allow more than 256 procedures 1984-07-18 13:28:01 +00:00
sater a241500a91 added rcsid
converted to recognize and generate new 0%o format
1984-07-18 13:14:18 +00:00
sater e2f49f412d added special patterns for:
1) long compared to constant ( ldc cms 4 zxx )
2) long increments ( ld? ldc adi 4 sd? )
3) autoincrement loads and stores ( lol lol adp stl loi/sti )
1984-07-16 14:39:21 +00:00
sater 267955e114 added missing #endif
added two patterns, big improvement
added patterns for ciu and cui
some cosmetic change
1984-07-13 16:13:56 +00:00
sater da8966a6c8 Removed some patterns that have never been tested.
Now if someone uses them he will hear that it doesn't work.
That must be better then giving him code that probably won't work.
All these patterns had to do with things like adf without an argument
and things like that.
1984-07-13 14:55:37 +00:00
sater caa918f7d9 Initial revision 1984-07-13 11:25:46 +00:00
sater 28960f5d32 Initial revision 1984-07-13 11:12:23 +00:00
sater 3e78acff56 removed REGPATCH define 1984-07-12 11:03:18 +00:00
sater e3acc1a9ed added definition of newplb()
removed a tab from some string
1984-07-12 11:02:44 +00:00
sater 4558cb8836 Replaced call to newilb after pro pseudo to call to newplb,
including retrofit for existing mach.h files
1984-07-12 09:26:24 +00:00
sater 25eef41c3a Initial revision 1984-06-25 16:22:03 +00:00
sater 2ef7ee3efc Initial revision 1984-06-25 11:02:34 +00:00
sater 2d4de6d34e added rcsid
Some constants had survived in the text. They were parametrized.
1984-05-19 12:52:25 +00:00
sater f39171e3c4 added rcsid 1984-05-19 12:52:21 +00:00
sater c58492b45b Initial revision 1984-05-19 12:48:59 +00:00
sater 7d75cf2799 Reworked to work, I think 1984-05-19 12:44:53 +00:00
sater c4826294dc added rcsid
Tried to make machine independent,
machine independent sources now taken from ../../proto/cg
Changed according to suggestion from ceriel to prevent running cgg twice
1984-05-19 12:03:22 +00:00
sater ceeeca40f6 added code to save all registers for ms_gto
changed place of #ifdef to make this null-module compile faster
when no register variables are used.
1984-05-19 11:49:37 +00:00
sater 0cd7d8826e erase(reg) now also erases all register whose contents depend on
the contents of reg.
1984-05-19 11:49:01 +00:00
sater 9dfcd76f4b added code to recognize ms_gto 1984-05-19 11:48:40 +00:00
sater 54e681c6cc added rcsid 1984-05-19 11:42:19 +00:00
sater 445ee4ccb8 added rcsid
added code to check for write errors on codefile
1984-05-19 11:40:08 +00:00
sater f792cb549e added rcsid
removed sign extension bug in large constants
1984-05-19 11:38:48 +00:00
sater 65e35e6d53 added rcsid
added code to insure instructions come out in .text space
1984-05-19 11:38:15 +00:00
sater 18e0859e5d Initial revision 1984-05-19 11:08:27 +00:00
sater 5eeba1c1e0 Initial revision 1984-05-18 21:27:39 +00:00