From d3d39ce48060a914a29ddaf5ca311f92739a00e3 Mon Sep 17 00:00:00 2001 From: "Guillermo J. Rozas" Date: Sun, 21 May 1989 03:57:49 +0000 Subject: [PATCH] Fix bug in node/noop?. variable-assigned? can't be used because it is set up by phase/design-environment-frames which runs AFTER phase/subproblem-ordering which is using this procedure. --- v7/src/compiler/fgopt/reuse.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/v7/src/compiler/fgopt/reuse.scm b/v7/src/compiler/fgopt/reuse.scm index dc9f1849d..0809756e2 100644 --- a/v7/src/compiler/fgopt/reuse.scm +++ b/v7/src/compiler/fgopt/reuse.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/fgopt/reuse.scm,v 1.2 1989/04/21 17:09:50 markf Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/fgopt/reuse.scm,v 1.3 1989/05/21 03:57:49 jinx Rel $ Copyright (c) 1988 Massachusetts Institute of Technology @@ -304,7 +304,11 @@ MIT in each case. |# (cond ((rvalue/reference? rvalue) (let ((variable (reference-lvalue rvalue))) (and (eq? target variable) - (not (variable-in-cell? variable))))) + ;; This is no good because this field + ;; is not yet set up at this stage + ;; of the compilation. + ;; (not (variable-in-cell? variable)) + (not (variable-assigned? variable))))) ((rvalue/block? rvalue) (and (block? target) (eq? (block-parent target) rvalue))) -- 2.25.1