Find a file
Quentin Carbonneaux 90050202f5 fix various codegen bugs on arm64
- dynamic allocations could generate
  bad 'and' instructions (for the
  and with -16 in salloc()).
- symbols used in w context would
  generate adrp and add instructions
  on wN registers while they seem to
  only work on xN registers.

Thanks to Rosie for reporting them.
2024-10-01 19:42:50 +02:00
amd64 skip preludes for some leaf fns 2024-08-23 18:31:53 +02:00
arm64 fix various codegen bugs on arm64 2024-10-01 19:42:50 +02:00
doc function params must be unique 2024-04-27 10:52:03 +02:00
minic Makefile: POSIXify 2022-06-14 13:58:01 +02:00
rv64 replace asm keyword 2024-05-28 10:39:41 +02:00
test fix various codegen bugs on arm64 2024-10-01 19:42:50 +02:00
tools qbe has its own magic 2024-06-17 13:17:39 +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 skip preludes for some leaf fns 2024-08-23 18:31:53 +02:00
cfg.c rename blknew() to newblk() 2023-03-22 11:43:46 +01:00
copy.c Optab-driven copy detection 2024-06-09 22:33:38 +02:00
emit.c drop unnecessary check 2024-04-12 11:37:35 +02: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 add "make wc" 2024-04-12 11:49:00 +02:00
mem.c relax one assert 2024-06-05 12:50:36 +02:00
ops.h Optab-driven copy detection 2024-06-09 22:33:38 +02:00
parse.c skip preludes for some leaf fns 2024-08-23 18:31:53 +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 no mul->shl as it confuses address matching 2024-06-19 10:58:17 +02:00
spill.c spill: consider jump argument as use of register 2022-02-17 22:35:22 +01:00
ssa.c add width info for comparisons 2024-05-03 21:51:30 +02:00
util.c fold scaled offsets in addresses 2024-04-11 14:14:53 +02: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.