From: Joe Marshall Date: Wed, 18 Jan 2012 04:08:36 +0000 (-0800) Subject: Add potential-control-merge slot to cfg nodes. X-Git-Tag: release-9.2.0~334^2~21 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=390953d219d39363d50ab18e8adcec6722ae5be5;p=mit-scheme.git Add potential-control-merge slot to cfg nodes. --- diff --git a/src/compiler/base/cfg1.scm b/src/compiler/base/cfg1.scm index 20e471144..405d70f6d 100644 --- a/src/compiler/base/cfg1.scm +++ b/src/compiler/base/cfg1.scm @@ -32,20 +32,24 @@ USA. (define cfg-node-tag (make-vector-tag #f 'CFG-NODE #f)) (define cfg-node? (tagged-vector/subclass-predicate cfg-node-tag)) -(define-vector-slots node 1 generation subgraph-color alist previous-edges) +(define-vector-slots node 1 generation + subgraph-color potential-control-merge + alist previous-edges) (set-vector-tag-description! cfg-node-tag (lambda (node) - (descriptor-list node node generation subgraph-color alist previous-edges))) + (descriptor-list node node generation + subgraph-color potential-control-merge + alist previous-edges))) (define snode-tag (make-vector-tag cfg-node-tag 'SNODE #f)) (define snode? (tagged-vector/subclass-predicate snode-tag)) -(define-vector-slots snode 5 next-edge) +(define-vector-slots snode 6 next-edge) ;;; converted to a macro. ;;; (define (make-snode tag . extra) -;;; (list->vector (cons* tag #f #f '() '() #f extra))) +;;; (list->vector (cons* tag #f #f #f '() '() #f extra))) (set-vector-tag-description! snode-tag @@ -55,11 +59,11 @@ USA. (define pnode-tag (make-vector-tag cfg-node-tag 'PNODE #f)) (define pnode? (tagged-vector/subclass-predicate pnode-tag)) -(define-vector-slots pnode 5 consequent-edge alternative-edge) +(define-vector-slots pnode 6 consequent-edge alternative-edge) ;;; converted to a macro. ;;; (define (make-pnode tag . extra) -;;; (list->vector (cons* tag #f #f '() '() #f #f extra))) +;;; (list->vector (cons* tag #f #f #f '() '() #f #f extra))) (set-vector-tag-description! pnode-tag diff --git a/src/compiler/base/macros.scm b/src/compiler/base/macros.scm index 4b0cf0aef..58a05f146 100644 --- a/src/compiler/base/macros.scm +++ b/src/compiler/base/macros.scm @@ -171,8 +171,8 @@ USA. ,@slots)))))))) (ill-formed-syntax form))))))))))) -(define-type-definition snode 6 #f) -(define-type-definition pnode 7 #f) +(define-type-definition snode 7 #f) +(define-type-definition pnode 8 #f) (define-type-definition rvalue 2 rvalue-types) (define-type-definition lvalue 14 #f) @@ -214,7 +214,7 @@ USA. (map (lambda (form) (close-syntax form environment)) (cddr form)))) `((ACCESS VECTOR ,system-global-environment) - ,tag #F #F '() '() #F ,@extra)) + ,tag #F #F #F '() '() #F ,@extra)) (ill-formed-syntax form))))) (define-syntax make-pnode @@ -226,7 +226,7 @@ USA. (map (lambda (form) (close-syntax form environment)) (cddr form)))) `((ACCESS VECTOR ,system-global-environment) - ,tag #F #F '() '() #F #F ,@extra)) + ,tag #F #F #F '() '() #F #F ,@extra)) (ill-formed-syntax form))))) (define-syntax make-rvalue diff --git a/src/compiler/rtlbase/rtlcfg.scm b/src/compiler/rtlbase/rtlcfg.scm index 2d1f88eaf..bc1506cba 100644 --- a/src/compiler/rtlbase/rtlcfg.scm +++ b/src/compiler/rtlbase/rtlcfg.scm @@ -31,7 +31,7 @@ USA. (define-snode sblock) (define-pnode pblock) -(define-vector-slots bblock 7 +(define-vector-slots bblock 8 instructions live-at-entry live-at-exit @@ -39,13 +39,13 @@ USA. label continuations) -(define-vector-slots sblock 13 +(define-vector-slots sblock 14 continuation) (define (make-sblock instructions) (make-pnode sblock-tag instructions false false false false '() false)) -(define-vector-slots pblock 13 +(define-vector-slots pblock 14 consequent-lap-generator alternative-lap-generator)