X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Frepresent.lisp;h=7c24005bbc0fa39d2d595b04ea60b6d2c1bd9978;hb=aa7b669779e8e88349938ca962229f31ead08af2;hp=c4b92cced3cf8c96739489576ee1a9cf8a778d08;hpb=d0376c0b2e38ff518c85d50a5befd3a13e14d3e1;p=sbcl.git diff --git a/src/compiler/represent.lisp b/src/compiler/represent.lisp index c4b92cc..7c24005 100644 --- a/src/compiler/represent.lisp +++ b/src/compiler/represent.lisp @@ -414,15 +414,10 @@ (operand-restriction-ok (first (template-result-types info)) (if write-p op-ptype other-ptype) - :t-ok nil) - ;; KLUDGE: Move VOPs with constant SCs can't use - ;; load-time-value TNs. FIXME: if the VOPs were more - ;; clever they could -- this is the release bandaid. - (or (not (eq 'constant (sc-name op-sc))) - (tn-leaf op-tn))) + :t-ok nil)) (return info)))))) -;;; Emit a coercion VOP for OP BEFORE the specifed VOP or die trying. +;;; Emit a coercion VOP for OP BEFORE the specified VOP or die trying. ;;; SCS is the operand's LOAD-SCS vector, which we use to determine ;;; what SCs the VOP will accept. We pick any acceptable coerce VOP, ;;; since it practice it seems uninteresting to have more than one