From 775ff9ce7b45c22cfba6918c13359bf89461b3e1 Mon Sep 17 00:00:00 2001 From: lemon Date: Wed, 24 Dec 2025 13:04:38 +0100 Subject: ir: arena-backed linked list for uselists Is much simpler than the growable buffers, seems to be just as efficient if not a little faster when benchmarked. --- ir/ir.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'ir/ir.h') diff --git a/ir/ir.h b/ir/ir.h index 4248016..8e18e1f 100644 --- a/ir/ir.h +++ b/ir/ir.h @@ -141,7 +141,7 @@ struct block { #define blkpred(blk, i) 0[(blk)->npred < 2 ? &(blk)->_pred0 : &(blk)->_pred[i]] enum { USERJUMP = 0xFFFF }; -struct use { struct block *blk; ushort u; }; +struct use { struct use *next; struct block *blk; ushort u; }; enum { MAXREGS = 64 }; /** register set **/ @@ -233,7 +233,6 @@ extern uchar cls2load[]; extern const uchar siz2intcls[]; extern struct instr instrtab[]; extern struct use *instruse[]; -extern short instrnuse[]; extern struct xcon conht[]; extern struct calltab {vec_of(struct call);} calltab; extern struct phitab {vec_of(union ref *);} phitab; -- cgit v1.2.3