X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcompiler%2Fir2opt.lisp;h=8fef8ec4e1b18362c7cc8afef13147a424cd43ae;hb=19319c931fc1636835dbef71808cc10e252bcf45;hp=8705c4a49b098ec1772eafd8cfec9691e3c93928;hpb=092fae0666f1472c919b8ecf1a011d3869c0c6a5;p=sbcl.git diff --git a/src/compiler/ir2opt.lisp b/src/compiler/ir2opt.lisp index 8705c4a..8fef8ec 100644 --- a/src/compiler/ir2opt.lisp +++ b/src/compiler/ir2opt.lisp @@ -128,13 +128,11 @@ (delete-vop vop) (flet ((load-and-coerce (dst src) (when (and dst (neq dst src)) - (let ((end (ir2-block-last-vop 2block)) - (move (template-or-lose 'move))) - (multiple-value-bind (first last) - (emit-vop node 2block move - (reference-tn src nil) - (reference-tn dst t)) - (insert-vop-sequence first last 2block end)))))) + (emit-and-insert-vop node 2block + (template-or-lose 'move) + (reference-tn src nil) + (reference-tn dst t) + (ir2-block-last-vop 2block))))) (load-and-coerce arg-if value-if) (load-and-coerce arg-else value-else)) (emit-template node 2block (template-or-lose cmove-vop)