From 2655f242a838a5845a71bc4857cbc4a7df297eb6 Mon Sep 17 00:00:00 2001 From: Andreas Rumpf Date: Mon, 21 Jan 2019 20:11:42 +0100 Subject: [PATCH] use the lastRead analysis; it's correct by construction, not a mess of special cases and seems to be just as fast as the old algorithm --- compiler/destroyer.nim | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/compiler/destroyer.nim b/compiler/destroyer.nim index a97b49dacf..06d4dcbefe 100644 --- a/compiler/destroyer.nim +++ b/compiler/destroyer.nim @@ -176,8 +176,8 @@ proc isLastRead(n: PNode; c: var Con): bool = # we go through all paths beginning from 'instr+1' and need to # ensure that we don't find another 'use X' instruction. if instr+1 >= c.g.len: return true - when false: - result = isLastRead(n.sym, c, 0, -1) >= 0 + when true: + result = isLastRead(n.sym, c, instr+1, -1) >= 0 else: let s = n.sym var pcs: seq[int] = @[instr+1]