X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fconstraint.lisp;h=b30ecd212a1226a39e6ba028253c97a7394d72d2;hb=69e6aef5e6fb3bd682c7a2cbf774034d2ea58ee8;hp=fae2b81a814da4b5f0db9cbd7aed3758b8affe97;hpb=0dda5090b6c16a641000b4eb2dcd479f39b784ca;p=sbcl.git diff --git a/src/compiler/constraint.lisp b/src/compiler/constraint.lisp index fae2b81..b30ecd2 100644 --- a/src/compiler/constraint.lisp +++ b/src/compiler/constraint.lisp @@ -585,7 +585,7 @@ (precise-add-test-constraint fun x y not-p constraints consequent-constraints) (precise-add-test-constraint fun x y (not not-p) constraints - alternative-constraints)) + alternative-constraints)) (values)) (defun quick-add-complement-constraints (fun x y not-p @@ -654,7 +654,7 @@ (var2 (ok-lvar-lambda-var arg2 constraints))) ;; The code below assumes that the constant is the ;; second argument in case of variable to constant - ;; comparision which is sometimes true (see source + ;; comparison which is sometimes true (see source ;; transformations for EQ, EQL and CHAR=). Fixing ;; that would result in more constant substitutions ;; which is not a universally good thing, thus the @@ -669,10 +669,7 @@ (add 'eql var1 var2 nil)) ((constant-lvar-p arg2) (add 'eql var1 - (let ((use (principal-lvar-use arg2))) - (if (ref-p use) - (ref-leaf use) - (find-constant (lvar-value arg2)))) + (find-constant (lvar-value arg2)) nil)) (t (add-test-constraint quick-p @@ -968,7 +965,7 @@ (add-test-constraints use node gen)))))) ;;; Starting from IN compute OUT and (consequent/alternative -;;; constraints if the block ends with and IF). Return the list of +;;; constraints if the block ends with an IF). Return the list of ;;; successors that may need to be recomputed. (defun find-block-type-constraints (block final-pass-p) (declare (type cblock block))