~mcf/qbe

Merge tag 'v1.0'
install with install -m755
2b451a28 — Haelwenn (lanodan) Monnier 2 years ago
tools/test.sh: Without a TARGET, use $CC if defined

cc can be absent in Gentoo to make sure the right compiler is picked,
for example when clang is preferred or when cross-compiling.
6cd5f702 — illiliti 2 years ago
Makefile: POSIXify

Makefile now compatible with gmake, bmake, smake and pdpmake.
do not fold cnst+cnst in amd64's isel

This may cause invalid assembly to be generated
and is not all that useful anyway after constant
folding has run.
rv64: implement Oswap for floating-point types
refine assertion in liveness analysis

We were redundantly checking cardinality in a
way that prevented fp regs from ever being
globally live.  We now check that the live
regs after a return are exactly the globally
live ones.
install in /usr/local by default
tighten function definition spec
use an alias for \n in the il spec
avoid folding overflowing divisions

Thanks to Paul Ouellette for reporting.
document spacing in il reference
add installation notes
move nx stack annotation to gas.c
Close input file after done reading

Leaks resources to not close.

Signed-off-by: Daniel Xu <dxu@dxuuu.xyz>
do not leak type fields

Thanks to Daniel Xu for reporting.
Merge remote-tracking branch 'upstream/master'
amd64: restore previous name of amd64_sysv target
fix return for big aggregates

The recent changes in arm and riscv
typclass() set ngp to 1 when a struct
is returned via a caller-provided
buffer.  This interacts bogusly with
selret() that ends up declaring a gp
register live when none is set in
the returning sequence.

The fix is simply to set cty to zero
(all registers dead) in case a caller-
provided buffer is used.
Next