diff --git a/compiler/ir1util.lisp b/compiler/ir1util.lisp index 22a819b17b164dca2c4071b2a98348e52bebf1a4..60ae2f585860801e7ea6f92d20699fcf6ca05d27 100644 --- a/compiler/ir1util.lisp +++ b/compiler/ir1util.lisp @@ -771,6 +771,12 @@ (typecase node (ref (delete-ref node)) (basic-combination + (when (and (eq (basic-combination-kind node) :local) + ;; Not already deleted... + (continuation-use (basic-combination-fun node))) + (let ((fun (combination-lambda node))) + (when (member (functional-kind fun) '(:let :mv-let)) + (delete-lambda fun)))) (flush-dest (basic-combination-fun node)) (dolist (arg (basic-combination-args node)) (when arg (flush-dest arg))))