From fc91a4ce139fd0236ad9e8c4fe1e7dad42f0b178 Mon Sep 17 00:00:00 2001 From: lemon Date: Wed, 12 Nov 2025 22:09:35 +0100 Subject: mem2reg: handle uses in branches in cmpuse() --- ir/optmem.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ir/optmem.c b/ir/optmem.c index df0cabf..f70a281 100644 --- a/ir/optmem.c +++ b/ir/optmem.c @@ -196,6 +196,8 @@ cmpuse(const void *a, const void *b) const struct use *ua = a, *ub = b; struct block *blk = ua->blk; if (ua->blk != ub->blk) return ua->blk->id - ub->blk->id; + if (ua->u == USERJUMP) return ub->u != USERJUMP; + if (ub->u == USERJUMP) return -(ua->u != USERJUMP); return blkfindins(blk, ua->u) - blkfindins(blk, ub->u); } -- cgit v1.2.3