1169 
;;; 
;;; 
1170 
(defun deletelet (fun) 
(defun deletelet (fun) 
1171 
(declare (type clambda fun)) 
(declare (type clambda fun)) 
1172 
(assert (eq (functionalkind fun) :let)) 
(assert (member (functionalkind fun) '(:let :mvlet))) 
1173 
(noteunreferencedvars fun) 
(noteunreferencedvars fun) 
1174 
(let ((call (letcombination fun))) 
(let ((call (letcombination fun))) 
1175 
(flushdest (combinationfun call)) 
(flushdest (basiccombinationfun call)) 
1176 
(unlinknode call) 
(unlinknode call) 
1177 
(unlinknode (lambdabind fun)) 
(unlinknode (lambdabind fun)) 
1178 
(setf (lambdabind fun) nil)) 
(setf (lambdabind fun) nil)) 
1587 
(dolist (arg (combinationargs node)) 
(dolist (arg (combinationargs node)) 
1588 
(flushdest arg)) 
(flushdest arg)) 
1589 
(unlinknode node)))))) 
(unlinknode node)))))) 
1590 

(mvcombination 
1591 

(when (eq (basiccombinationkind node) :local) 
1592 

(let ((fun (combinationlambda node))) 
1593 

(when (dolist (var (lambdavars fun) t) 
1594 

(when (or (leafrefs var) 
1595 

(lambdavarsets var)) 
1596 

(return nil))) 
1597 

(flushdest (first (basiccombinationargs node))) 
1598 

(deletelet fun))))) 
1599 
(exit 
(exit 
1600 
(let ((value (exitvalue node))) 
(let ((value (exitvalue node))) 
1601 
(when value 
(when value 