QBE as an easy-to-embed library https://c9x.me/git/qbe.git
Find a file
Richard McCormack c8fc20b8ef Eliminate fully overlapping blits after coalescing stack slots
I noticed that my compiler was generating redundant blits, and after
looking through the QBE debug output I believe that I found some low
hanging fruit to help clean them up.

I'm new to this codebase, so please treat this patch with a lot of
skepticism. Happy to make any changes.

Thanks for reviewing, and thank you for QBE!
2024-04-03 22:12:36 +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 Print total number of tests run to get a better view of how much is broken. 2024-01-29 10:24:41 +01: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 remove duplicated function declarations 2024-03-07 16:46:10 +01: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 check that data alignment is in range and a power of two 2024-03-28 10:35:11 +01: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.