(ldb (byte width 0) constant-value))))
(unless (= constant-value new-value)
(change-ref-leaf node (make-constant new-value))
- (setf (lvar-%derived-type (node-lvar node)) (make-values-type :required (list (ctype-of new-value))))
+ (let ((lvar (node-lvar node)))
+ (setf (lvar-%derived-type lvar)
+ (and (lvar-has-single-use-p lvar)
+ (make-values-type :required (list (ctype-of new-value))))))
(setf (block-reoptimize (node-block node)) t)
(reoptimize-component (node-component node) :maybe)
(return-from cut-node t))))