From cba84f37bc9b1d939c04ed31beec5b803ee4da5a Mon Sep 17 00:00:00 2001 From: lemon Date: Wed, 26 Nov 2025 19:44:24 +0100 Subject: regalloc: skip dead phis --- ir/regalloc.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'ir/regalloc.c') diff --git a/ir/regalloc.c b/ir/regalloc.c index e060ebf..6706905 100644 --- a/ir/regalloc.c +++ b/ir/regalloc.c @@ -376,7 +376,10 @@ lowerphis(struct rega *ra, struct block *blk, struct block *suc) DBG(" phi had R%d\n", to.a); } else { to = ra->intervals.temps[phi - instrtab].alloc; - assert(to.t != ADEAD); + if (to.t == ADEAD) { + DBG(" skip dead phi\n"); + continue; + } DBG(" found phi %c%d\n", " RS"[to.t], to.a); if (to.t == AREG) phi->reg = to.a+1; -- cgit v1.2.3