QBE as an easy-to-embed library
https://c9x.me/git/qbe.git
The algorithm to generate matchers took a long time to be discovered and refined to its present version. The rest of mgen is mostly boring engineering. Extensive fuzzing ensures that the two core components of mgen (tables and matchers generation) are correct on specific problem instances. |
||
---|---|---|
amd64 | ||
arm64 | ||
doc | ||
minic | ||
rv64 | ||
test | ||
tools | ||
.gitignore | ||
abi.c | ||
alias.c | ||
all.h | ||
cfg.c | ||
copy.c | ||
emit.c | ||
fold.c | ||
LICENSE | ||
live.c | ||
load.c | ||
main.c | ||
Makefile | ||
mem.c | ||
ops.h | ||
parse.c | ||
README | ||
rega.c | ||
simpl.c | ||
spill.c | ||
ssa.c | ||
util.c |
QBE - Backend Compiler http://c9x.me/compile/ doc/ Documentation. minic/ An example C frontend for QBE. tools/ Miscellaneous tools (testing). test/ Tests. amd64/ arm64/ rv64/ Architecture-specific code. The LICENSE file applies to all files distributed. - Compilation and Installation Invoke make in this directory to create the executable file qbe. Install using 'make install', the standard DESTDIR and PREFIX environment variables are supported. Alternatively, you may simply copy the qbe binary manually.