From 313d29cbc5273095d03cba3a72d5346e135ffa96 Mon Sep 17 00:00:00 2001
From: ram <ram>
Date: Wed, 2 Jan 1991 19:12:06 +0000
Subject: [PATCH] Changed stuff to use NODE-HOME-LAMBDA, since now that lets
 can be deleted, it is not totally simple to find the home lambda. Moved
 unreferenced variable noting into NOTE-UNREFERENCED-VARS, since this code is
 now shared with function deleting code in ir1util.

---
 compiler/envanal.lisp | 11 ++---------
 1 file changed, 2 insertions(+), 9 deletions(-)

diff --git a/compiler/envanal.lisp b/compiler/envanal.lisp
index 519fb1044..8d71fef18 100644
--- a/compiler/envanal.lisp
+++ b/compiler/envanal.lisp
@@ -104,7 +104,7 @@
 ;;; 
 (defun get-node-environment (node)
   (declare (type node node))
-  (get-lambda-environment (lexenv-lambda (node-lexenv node))))
+  (get-lambda-environment (node-home-lambda node)))
 
 
 ;;; Compute-Closure  --  Internal
@@ -118,21 +118,14 @@
 (defun compute-closure (fun)
   (declare (type clambda fun))
   (let ((env (get-lambda-environment fun)))
+    (note-unreferenced-vars fun)
     (dolist (var (lambda-vars fun))
-      (unless (or (leaf-ever-used var)
-		  (lambda-var-ignorep var))
-	(let ((*compiler-error-context* (lambda-bind fun)))
-	  (compiler-warning "Variable ~S defined but never used."
-			    (leaf-name var))
-	  (setf (leaf-ever-used var) t)))
-      
       (dolist (ref (leaf-refs var))
 	(let ((ref-env (get-node-environment ref)))
 	  (unless (eq ref-env env)
 	    (when (lambda-var-sets var)
 	      (setf (lambda-var-indirect var) t))
 	    (close-over var ref-env env))))
-      
       (dolist (set (basic-var-sets var))
 	(let ((set-env (get-node-environment set)))
 	  (unless (eq set-env env)
-- 
GitLab