[EMAIL PROTECTED] (Gerd Moellmann) writes:

> Maybe DELETE-BLOCK should somehow arrange for deleting the entries
> created in the IR1 translators for BLOCK and TAGBODY?  Don't know.
> It would probably be nice.

And indeed, the original test case works with this patch, which
removes the ENTRY nodes.  But it now complains with consistency
checking that I have removed the entries from the lambda :).

--- ir1util.lisp.~1.87.2.2.~    Sun Mar 23 23:47:34 2003
+++ ir1util.lisp        Mon Mar 24 17:00:21 2003
@@ -1009,6 +1005,13 @@
 
   (do-nodes (node cont block)
     (typecase node
+      (entry
+       (let ((lambda (block-home-lambda block))
+            (end-cleanup (block-end-cleanup block)))
+        (setf (lambda-entries lambda)
+              (delete-if (lambda (e)
+                           (eq (entry-cleanup e) end-cleanup))
+                         (lambda-entries lambda)))))
       (ref (delete-ref node))
       (cif
        (flush-dest (if-test node)))


Reply via email to