QBE as an easy-to-embed library https://c9x.me/git/qbe.git
Find a file
Quentin Carbonneaux a609527752 mgen: match automatons and C generation
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.
2024-04-09 21:45:42 +02:00
amd64 Drop quotes around floating point constant labels 2024-03-26 09:22:06 +01:00
arm64 Drop quotes around floating point constant labels 2024-03-26 09:22:06 +01:00
doc fix link in doc 2024-01-03 12:12:41 +01:00
minic Makefile: POSIXify 2022-06-14 13:58:01 +02:00
rv64 Drop quotes around floating point constant labels 2024-03-26 09:22:06 +01:00
test test/fpcnv: skip of inexactly converted integers 2024-03-07 16:52:43 +01:00
tools mgen: match automatons and C generation 2024-04-09 21:45:42 +02:00
.gitignore Makefile: POSIXify 2022-06-14 13:58:01 +02:00
abi.c add new target-specific abi0 pass 2022-10-03 10:41:03 +02:00
alias.c fix bug in alias analysis 2024-03-07 16:40:51 +01:00
all.h mcf's improved rsval() 2024-04-07 22:18:01 +02:00
cfg.c rename blknew() to newblk() 2023-03-22 11:43:46 +01:00
copy.c new UNDEF Ref 2022-12-25 16:37:33 +01:00
emit.c dbgloc: add column argument 2024-01-02 12:12:05 +01:00
fold.c new UNDEF Ref 2022-12-25 16:37:33 +01:00
LICENSE update copyright years 2024-03-07 16:45:22 +01:00
live.c refine assertion in liveness analysis 2022-06-14 09:11:44 +02:00
load.c bugfix in load elimination 2022-12-15 09:30:47 +01:00
main.c implement line number info tracking 2023-06-06 18:44:51 +02:00
Makefile declare check-rv64 as a phony make target 2024-03-07 16:44:48 +01:00
mem.c Eliminate fully overlapping blits after coalescing stack slots 2024-04-03 22:12:36 +02:00
ops.h dbgloc: add column argument 2024-01-02 12:12:05 +01:00
parse.c fix accidentally noop loop 2024-04-04 21:56:50 +02:00
README Makefile: POSIXify 2022-06-14 13:58:01 +02:00
rega.c rename blknew() to newblk() 2023-03-22 11:43:46 +01:00
simpl.c new blit instruction 2022-12-14 23:18:26 +01:00
spill.c spill: consider jump argument as use of register 2022-02-17 22:35:22 +01:00
ssa.c new UNDEF Ref 2022-12-25 16:37:33 +01:00
util.c naming nit 2023-03-19 07:38:24 +01:00

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.