Disable optimizations with INTEGER-<relation> because it causes loops
authorStephen Adams <edu/mit/csail/zurich/adams>
Tue, 23 Jul 1996 02:28:13 +0000 (02:28 +0000)
committerStephen Adams <edu/mit/csail/zurich/adams>
Tue, 23 Jul 1996 02:28:13 +0000 (02:28 +0000)
in the arith.scm generic handlers.

v8/src/compiler/midend/earlyrew.scm

index a9887934de764a719b812957a68bb90ced40c174..3161587a9e5490e763d11e01a27dcf76ae9d66d3 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: earlyrew.scm,v 1.17 1996/07/19 18:27:18 adams Exp $
+$Id: earlyrew.scm,v 1.18 1996/07/23 02:28:13 adams Exp $
 
 Copyright (c) 1994-1995 Massachusetts Institute of Technology
 
@@ -543,9 +543,10 @@ MIT in each case. |#
 (define-rewrite/early '&> (earlyrew/binaryop > '&> %> 1))
 
 ;; Safe to use generic arithmetic for integer operations:
-(define-rewrite/early 'INTEGER-EQUAL?   (earlyrew/binaryop = '&= %= 1))
-(define-rewrite/early 'INTEGER-LESS?    (earlyrew/binaryop < '&< %< 1))
-(define-rewrite/early 'INTEGER-GREATER? (earlyrew/binaryop > '&> %> 1))
+;; This is not safe in arith.scm.
+;;(define-rewrite/early 'INTEGER-EQUAL?   (earlyrew/binaryop = '&= %= 1))
+;;(define-rewrite/early 'INTEGER-LESS?    (earlyrew/binaryop < '&< %< 1))
+;;(define-rewrite/early 'INTEGER-GREATER? (earlyrew/binaryop > '&> %> 1))
 \f
 ;;;; Rewrites of unary operations in terms of binary operations
 
@@ -582,9 +583,10 @@ MIT in each case. |#
   (define-rewrite/early '1+        (unary-rewrite '&+ 1))
   (define-rewrite/early '-1+       (unary-rewrite '&- 1))
 
-  (define-rewrite/early 'INTEGER-ZERO?      (unary-rewrite 'INTEGER-EQUAL? 0))
-  (define-rewrite/early 'INTEGER-NEGATIVE?  (unary-rewrite 'INTEGER-LESS? 0))
-  (define-rewrite/early 'INTEGER-POSITIVE?  (unary-rewrite 'INTEGER-GREATER? 0))
+  ;; Relies on integer-equal? etc which ahve problems in arith.scm
+  ;;(define-rewrite/early 'INTEGER-ZERO?      (unary-rewrite 'INTEGER-EQUAL? 0))
+  ;;(define-rewrite/early 'INTEGER-NEGATIVE?  (unary-rewrite 'INTEGER-LESS? 0))
+  ;;(define-rewrite/early 'INTEGER-POSITIVE?  (unary-rewrite 'INTEGER-GREATER? 0))
   (define-rewrite/early 'INTEGER-ADD-1      (unary-rewrite 'INTEGER-ADD 1))
   (define-rewrite/early 'INTEGER-SUBTRACT-1 (unary-rewrite 'INTEGER-SUBTRACT 1))