From acf1ed070ff8cb30d1a6bd437b823e1f4197462e Mon Sep 17 00:00:00 2001
From: wlott <wlott>
Date: Tue, 21 Apr 1992 04:15:00 +0000
Subject: [PATCH] Added a block-annotation structure, which both the ir2 and
 the byte-code back ends :include in their block-info annotations.

---
 compiler/node.lisp | 20 ++++++++++++++++++--
 1 file changed, 18 insertions(+), 2 deletions(-)

diff --git a/compiler/node.lisp b/compiler/node.lisp
index 2f8f15c3f..4ff1dfbe5 100644
--- a/compiler/node.lisp
+++ b/compiler/node.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/node.lisp,v 1.23 1992/02/23 17:43:45 ram Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/node.lisp,v 1.24 1992/04/21 04:15:00 wlott Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -383,13 +383,29 @@
   ;; merit of being tested by its IF predecessor.
   (test-constraint nil :type (or sset null)))
 
-
 (defun %print-block (s stream d)
   (declare (ignore d))
   (format stream "#<Block ~X, Start = c~D>" (system:%primitive make-fixnum s)
 	  (cont-num (block-start s))))
 
 
+;;; The Block-Annotation structure is shared (via :include) by different
+;;; block-info annotation structures so that code (specifically control
+;;; analysis) can be shared.
+;;; 
+(defstruct (block-annotation
+	    (:constructor nil))
+  ;;
+  ;; The IR1 block that this block is in the Info for.  
+  (block (required-argument) :type cblock)
+  ;;
+  ;; The next and previous block in emission order (not DFO).  This determines
+  ;; which block we drop though to, and also used to chain together overflow
+  ;; blocks that result from splitting of IR2 blocks in lifetime analysis.
+  (next nil :type (or block-annotation null))
+  (prev nil :type (or block-annotation null)))
+
+
 ;;; The Component structure provides a handle on a connected piece of the flow
 ;;; graph.  Most of the passes in the compiler operate on components rather
 ;;; than on the entire flow graph.
-- 
GitLab