ack/util/mcgg
David Given bbb708717a Add the OPTIONS clause to the mcgg grammar; add an optional pass which converts
sequences of PUSHes to a single STACKADJUST followed by STOREs. This should
dramatically improve code on stack-unfriendly architectures like MIPS.
2018-09-22 11:19:00 +02:00
..
build.lua Hacky workaround the way the Modula-2 compiler generates non-standard sized 2016-10-22 10:48:22 +02:00
gram.y Add the OPTIONS clause to the mcgg grammar; add an optional pass which converts 2018-09-22 11:19:00 +02:00
iburg.c Add the OPTIONS clause to the mcgg grammar; add an optional pass which converts 2018-09-22 11:19:00 +02:00
iburg.h Add the OPTIONS clause to the mcgg grammar; add an optional pass which converts 2018-09-22 11:19:00 +02:00
ir.dat Add the OPTIONS clause to the mcgg grammar; add an optional pass which converts 2018-09-22 11:19:00 +02:00
ircodes.h mcgg now checks that registers have at most one type attribute set. 2018-09-03 22:03:57 +02:00
ircodes.sh Re-re-add the type inference layer, now I know more about how things work. 2016-10-22 23:04:13 +02:00
LICENSE Import iburg. 2016-09-20 20:37:16 +02:00
mcgg.h Add support for preserved registers. 2016-10-29 20:22:44 +02:00
README Strip out surplus files. Rewrite README. 2016-09-20 20:46:45 +02:00
scan.l Add the OPTIONS clause to the mcgg grammar; add an optional pass which converts 2018-09-22 11:19:00 +02:00
UPSTREAM Import iburg. 2016-09-20 20:37:16 +02:00

mcgg is very heavily based on the iburg code generator by C. W. Fraser, D. R.
Hanson and T. A. Proebsting, described in ACM Letters on Prog. Languages and
Systems 1, 3 (Sep. 1992), 213-226:

http://storage.webhop.net/documents/iburg.pdf

For the original source, see the iburg-import branch (this is the version with
all the mcgg extensions).

iburg is licensed under the MIT open source license; see the LICENSE file.