#| -*-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
(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)))
(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)
(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))
(spectrum-type-optimizable? (rtl:machine-constant-value type))))
(rtl:make-cons-pointer type datum))
|#
-
-
-
\ No newline at end of file