logo

oasis

Own branch of Oasis Linux (upstream: <https://git.sr.ht/~mcf/oasis/>) git clone https://anongit.hacktivis.me/git/oasis.git
commit: c323a8d150533d2cf08a2c855a091a8ec74c3ebd
parent d86181765404ea228ba404c80f41f8330f574208
Author: Michael Forney <mforney@mforney.org>
Date:   Thu,  8 Feb 2024 00:50:13 -0800

qbe: Update to latest git

Diffstat:

Mpkg/qbe/config.h1-
Mpkg/qbe/gen.lua4++--
Mpkg/qbe/patch/0001-amd64-optimize-loading-0-into-registers.patch16++++++++--------
Mpkg/qbe/ver2+-
4 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/pkg/qbe/config.h b/pkg/qbe/config.h @@ -1,2 +1 @@ -#define Defasm Gaself #define Deftgt T_amd64_sysv diff --git a/pkg/qbe/gen.lua b/pkg/qbe/gen.lua @@ -5,8 +5,8 @@ cflags{ } exe('qbe', [[ - main.c util.c parse.c cfg.c mem.c ssa.c alias.c load.c copy.c - fold.c live.c spill.c rega.c gas.c + main.c util.c parse.c abi.c cfg.c mem.c ssa.c alias.c load.c + copy.c fold.c simpl.c live.c spill.c rega.c emit.c amd64/(targ.c sysv.c isel.c emit.c) arm64/(targ.c abi.c isel.c emit.c) rv64/(targ.c abi.c isel.c emit.c) diff --git a/pkg/qbe/patch/0001-amd64-optimize-loading-0-into-registers.patch b/pkg/qbe/patch/0001-amd64-optimize-loading-0-into-registers.patch @@ -1,4 +1,4 @@ -From 97d75808dc4e8eff6d15a56e6812af168dc265d7 Mon Sep 17 00:00:00 2001 +From 55b93f727cbad62a13dce0136077b0ffb47b90d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com> Date: Sun, 11 Jul 2021 19:19:12 -0300 Subject: [PATCH] amd64: optimize loading 0 into registers @@ -23,10 +23,10 @@ Co-authored-by: Michael Forney <mforney@mforney.org> 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/amd64/emit.c b/amd64/emit.c -index b8e9e8e..388b8b3 100644 +index 51d1a5c..a3e72e6 100644 --- a/amd64/emit.c +++ b/amd64/emit.c -@@ -450,6 +450,18 @@ emitins(Ins i, Fn *fn, FILE *f) +@@ -458,6 +458,18 @@ emitins(Ins i, Fn *fn, FILE *f) if (req(i.to, i.arg[0])) break; t0 = rtype(i.arg[0]); @@ -46,10 +46,10 @@ index b8e9e8e..388b8b3 100644 && t0 == RCon && fn->con[i.arg[0].val].type == CBits) { diff --git a/amd64/isel.c b/amd64/isel.c -index 4181e26..d4f0b69 100644 +index e29c8bf..4bec2e1 100644 --- a/amd64/isel.c +++ b/amd64/isel.c -@@ -69,7 +69,7 @@ fixarg(Ref *r, int k, Ins *i, Fn *fn) +@@ -85,7 +85,7 @@ fixarg(Ref *r, int k, Ins *i, Fn *fn) r1 = r0 = *r; s = rslot(r0, fn); op = i ? i->op : Ocopy; @@ -58,8 +58,8 @@ index 4181e26..d4f0b69 100644 /* load floating points from memory * slots, they can't be used as * immediates -@@ -84,13 +84,15 @@ fixarg(Ref *r, int k, Ins *i, Fn *fn) - a.offset.label = intern(buf); +@@ -99,13 +99,15 @@ fixarg(Ref *r, int k, Ins *i, Fn *fn) + a.offset.sym.id = intern(buf); fn->mem[fn->nmem-1] = a; } - else if (op != Ocopy && k == Kl && noimm(r0, fn)) { @@ -79,5 +79,5 @@ index 4181e26..d4f0b69 100644 else if (s != -1) { /* load fast locals' addresses into -- -2.34.1 +2.42.0 diff --git a/pkg/qbe/ver b/pkg/qbe/ver @@ -1 +1 @@ -c6b41eb8c8 r0 +v1.1-31-g2d683e0c53 r0