From: Guillermo J. Rozas Date: Mon, 15 Feb 1993 17:09:43 +0000 (+0000) Subject: Fix bugs, missing rtl:constant-value X-Git-Tag: 20090517-FFI~8510 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=ef7cc94289efb0114af78b161148f760e33d5511;p=mit-scheme.git Fix bugs, missing rtl:constant-value --- diff --git a/v7/src/compiler/machines/alpha/rulrew.scm b/v7/src/compiler/machines/alpha/rulrew.scm index a7f04555a..726950031 100644 --- a/v7/src/compiler/machines/alpha/rulrew.scm +++ b/v7/src/compiler/machines/alpha/rulrew.scm @@ -1,8 +1,8 @@ #| -*-Scheme-*- -$Id: rulrew.scm,v 1.1 1992/08/29 13:51:35 jinx Exp $ +$Id: rulrew.scm,v 1.2 1993/02/15 17:09:43 gjr Exp $ -Copyright (c) 1992 Digital Equipment Corporation (D.E.C.) +Copyright (c) 1992-1993 Digital Equipment Corporation (D.E.C.) This software was developed at the Digital Equipment Corporation Cambridge Research Laboratory. Permission to copy this software, to @@ -86,7 +86,8 @@ case. (rtl:make-cons-non-pointer type (rtl:make-machine-constant - (careful-object-datum (rtl:object->datum-expression datum))))) + (careful-object-datum + (rtl:constant-value (rtl:object->datum-expression datum)))))) (define-rule rewriting (OBJECT->TYPE (REGISTER (? source register-known-value))) @@ -96,7 +97,8 @@ case. (define-rule rewriting (OBJECT->DATUM (REGISTER (? source register-known-value))) (QUALIFIER (rtl:constant-non-pointer? source)) - (rtl:make-machine-constant (careful-object-datum source))) + (rtl:make-machine-constant + (careful-object-datum (rtl:constant-value source)))) (define (rtl:constant-non-pointer? expression) (and (rtl:constant? expression) @@ -145,6 +147,15 @@ case. (QUALIFIER (rtl:constant-fixnum? source)) (rtl:make-object->fixnum source)) +(define-rule rewriting + (FIXNUM-2-ARGS FIXNUM-LSH + (? operand-1) + (REGISTER (? operand-2 register-known-value)) + #F) + (QUALIFIER (and (rtl:register? operand-1) + (rtl:constant-fixnum? operand-2))) + (rtl:make-fixnum-2-args 'FIXNUM-LSH operand-1 operand-2 #F)) + (define-rule rewriting (FIXNUM-2-ARGS MULTIPLY-FIXNUM (REGISTER (? operand-1 register-known-value)) @@ -225,6 +236,3 @@ case. (spectrum-type-optimizable? (rtl:machine-constant-value type)))) (rtl:make-cons-pointer type datum)) |# - - - \ No newline at end of file