From 40556cfdd2748c5b58f59d711267086378908356 Mon Sep 17 00:00:00 2001 From: ram <ram> Date: Thu, 27 Sep 1990 18:27:50 +0000 Subject: [PATCH] Changed the EQL transform to not give an efficency note when we know an arg is a FIXNUM, since there is a good implementation in that case. --- compiler/srctran.lisp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/compiler/srctran.lisp b/compiler/srctran.lisp index bbb69f9b2..36f14806f 100644 --- a/compiler/srctran.lisp +++ b/compiler/srctran.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman (FAHLMAN@CMUC). ;;; ********************************************************************** ;;; -;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/srctran.lisp,v 1.14 1990/09/25 10:22:43 wlott Exp $ +;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/srctran.lisp,v 1.15 1990/09/27 18:27:50 ram Exp $ ;;; ;;; This file contains macro-like source transformations which convert ;;; uses of certain functions into the canonical form desired within the @@ -1043,6 +1043,8 @@ ;;; constant then we put it second. If X is a subtype of Y, we put it ;;; second. These rules make it easier for the back end to match these ;;; interesting cases. +;;; -- If Y is a fixnum, then we quietly pass because the back end can handle +;;; that case, otherwise give an efficency note. ;;; (deftransform eql ((x y)) (let ((x-type (continuation-type x)) @@ -1064,6 +1066,8 @@ (and (csubtypep x-type y-type) (not (csubtypep y-type x-type))))) '(eql y x)) + ((csubtypep y-type (specifier-type 'fixnum)) + (give-up)) (t (give-up "Not enough type information to open-code."))))) -- GitLab