X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fx86%2Farith.lisp;h=af7da99188d9e2effe5ec8785be284865e1cad82;hb=11f02398a1a9ccbde847c82fd233e8378e45c29c;hp=38c3d9c27cd2280fa12c4a4bb42ab1a3346bc7f3;hpb=bf6ceefcdda0bed3f4fb2964176a4149e11b0b10;p=sbcl.git diff --git a/src/compiler/x86/arith.lisp b/src/compiler/x86/arith.lisp index 38c3d9c..af7da99 100644 --- a/src/compiler/x86/arith.lisp +++ b/src/compiler/x86/arith.lisp @@ -1498,12 +1498,12 @@ (foldable flushable)) (defoptimizer (%lea derive-type) ((base index scale disp)) - (when (and (constant-continuation-p scale) - (constant-continuation-p disp)) - (let ((scale (continuation-value scale)) - (disp (continuation-value disp)) - (base-type (continuation-type base)) - (index-type (continuation-type index))) + (when (and (constant-lvar-p scale) + (constant-lvar-p disp)) + (let ((scale (lvar-value scale)) + (disp (lvar-value disp)) + (base-type (lvar-type base)) + (index-type (lvar-type index))) (when (and (numeric-type-p base-type) (numeric-type-p index-type)) (let ((base-lo (numeric-type-low base-type)) @@ -1645,7 +1645,7 @@ ((unsigned-byte 32) (constant-arg (unsigned-byte 32))) (unsigned-byte 32)) "recode as leas, shifts and adds" - (let ((y (continuation-value y))) + (let ((y (lvar-value y))) (cond ((= y (ash 1 (integer-length y))) ;; there's a generic transform for y = 2^k