Added simplifier for EQ?
authorStephen Adams <edu/mit/csail/zurich/adams>
Tue, 28 Nov 1995 17:43:59 +0000 (17:43 +0000)
committerStephen Adams <edu/mit/csail/zurich/adams>
Tue, 28 Nov 1995 17:43:59 +0000 (17:43 +0000)
v8/src/compiler/midend/cleanup.scm

index e3de00574896be9cf57de1d03e9dad4886fc7b4f..f6dda0e1c8b68a929a63aca419637855cf62597e 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: cleanup.scm,v 1.26 1995/09/05 19:45:32 adams Exp $
+$Id: cleanup.scm,v 1.27 1995/11/28 17:43:59 adams Exp $
 
 Copyright (c) 1994-1995 Massachusetts Institute of Technology
 
@@ -404,13 +404,19 @@ MIT in each case. |#
   (define-commutative-cleanup-rewrite fix:xor)
   (define-commutative-cleanup-rewrite fix:+ +)
   (define-commutative-cleanup-rewrite fix:* *))
-
+\f
 (define-cleanup-rewrite 'STRING->SYMBOL 1
   (lambda (expr)
     (let  ((value (form/number? expr)))
       (and (QUOTE/? expr)
           (string? (quote/text expr))
           `(QUOTE ,(string->symbol (quote/text expr)))))))
+
+(define-cleanup-rewrite (make-primitive-procedure 'EQ?) 2
+  (lambda (e1 e2)
+    (and (QUOTE/? e1)
+        (QUOTE/? e2)
+        `(QUOTE ,(eq? (quote/text e1) (quote/text e2))))))
 \f
 ;;
 (let ((NOT-primitive  (make-primitive-procedure 'NOT)))