QBE as an easy-to-embed library https://c9x.me/git/qbe.git
Find a file
Nguyễn Gia Phong be5d46fe7d test/fpcnv: skip of inexactly converted integers
In C, if a floating point cannot be represented exactly as an integer,
conversion from the former to the latter is implementation-defined.
Therefore, it can be flaky to test this against QBE-defined behavior.

This was discovered from (unsigned int) 4294967295.0f being an UB,
because (uint64_t) 4294967295.0f is 4294967296 > UINT_MAX
on amd64 when compiled by either gcc or clang.
2024-03-07 16:52:43 +01:00
amd64 dbgloc: add column argument 2024-01-02 12:12:05 +01:00
arm64 dbgloc: add column argument 2024-01-02 12:12:05 +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 dbgloc: add column argument 2024-01-02 12:12:05 +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 fix memory leak 2023-03-13 11:00:07 +01:00
ops.h dbgloc: add column argument 2024-01-02 12:12:05 +01:00
parse.c dbgloc: add column argument 2024-01-02 12:12:05 +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.