Go to file
Antonio Terceiro f7ab20680b tools/test.sh: allow running against installed package
If $bin is set in the environment, use it instead of using `qbe` from
the source tree. The same for $binref. This supports the following use
cases:

- I have a qbe package installed, and I want to test my local changes
  with the installed packages as a reference:

  $ binref=/usr/bin/qbe ./tools/test.sh all

- I want to test the installed qbe against new tests that I have
  written, to reproduce a bug:

  $ bin=/usr/bin/qbe ./tools/test.sh test/newtest.ssa

In Debian, we also run tests against the installed package when
dependencies change, etc. We will also run on several architectures
where the necessary cross compilers might not be available. So make
tests that cannot be run because of a missing compiler exit with 77,
signaling to Debian's autopkgtest that the test is skipped.
2025-03-15 14:43:00 +01:00
amd64 gvn/gcm review 2025-03-14 13:09:21 +01:00
arm64 arm64: use IP1 as scratch register 2025-03-15 14:27:34 +01: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 Re-use (vgrow) b->ins vector in backend xxx_abi() fn's. 2025-03-14 09:47:05 +01:00
test gvn/gcm review 2025-03-14 13:09:21 +01:00
tools tools/test.sh: allow running against installed package 2025-03-15 14:43:00 +01:00
.gitignore Global Value Numbering / Global Code Motion 2025-03-14 09:58:37 +01: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 gvn/gcm review 2025-03-14 13:09:21 +01:00
cfg.c gvn/gcm review 2025-03-14 13:09:21 +01:00
copy.c gvn/gcm review 2025-03-14 13:09:21 +01:00
emit.c drop unnecessary check 2024-04-12 11:37:35 +02:00
fold.c gvn/gcm review 2025-03-14 13:09:21 +01:00
gcm.c gvn/gcm review 2025-03-14 13:09:21 +01:00
gvn.c gvn/gcm review 2025-03-14 13:09:21 +01:00
LICENSE 10 years of qbe! 2025-03-14 13:09:42 +01:00
live.c refine assertion in liveness analysis 2022-06-14 09:11:44 +02:00
load.c gvn/gcm review 2025-03-14 13:09:21 +01:00
main.c gvn/gcm review 2025-03-14 13:09:21 +01:00
Makefile Makefile: add explicit target to test the x86_64 backend 2025-03-15 14:40:55 +01:00
mem.c relax one assert 2024-06-05 12:50:36 +02:00
ops.h gvn/gcm review 2025-03-14 13:09:21 +01:00
parse.c gvn/gcm review 2025-03-14 13:09:21 +01:00
README 10 years of qbe! 2025-03-14 13:09:42 +01:00
rega.c idup(Ins **, Ins *, ulong) -> idup(Blk *, Ins *, ulong) 2025-03-14 09:47:05 +01:00
simpl.c idup(Ins **, Ins *, ulong) -> idup(Blk *, Ins *, ulong) 2025-03-14 09:47:05 +01:00
spill.c idup(Ins **, Ins *, ulong) -> idup(Blk *, Ins *, ulong) 2025-03-14 09:47:05 +01:00
ssa.c gvn/gcm review 2025-03-14 13:09:21 +01:00
util.c gvn/gcm review 2025-03-14 13:09:21 +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.