diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el index 2966ed255ac..f3b6b8fd606 100644 --- a/lisp/emacs-lisp/comp.el +++ b/lisp/emacs-lisp/comp.el @@ -2481,8 +2481,9 @@ comp--ssa-rename-insn (setf (comp-vec-aref frame slot-n) mvar (cadr insn) mvar)))) (pcase insn - (`(setimm ,(pred targetp) ,_imm) - (new-lvalue)) + (`(setimm ,lval ,_imm) + (when (targetp lval) + (new-lvalue))) (`(,(pred comp--assign-op-p) ,(pred targetp) . ,_) (let ((mvar (comp-vec-aref frame slot-n))) (setf (cddr insn) (cl-nsubst-if mvar #'targetp (cddr insn))))