(defun bad-move-arg-error (val pass)
(declare (type tn val pass))
- (error "no :MOVE-ARGUMENT VOP defined to move ~S (SC ~S) to ~
+ (error "no :MOVE-ARG VOP defined to move ~S (SC ~S) to ~
~S (SC ~S)"
val (sc-name (tn-sc val))
pass (sc-name (tn-sc pass))))
(defun add-representation-costs (refs scs costs
ops-slot costs-slot more-costs-slot
write-p)
+ (declare (type function ops-slot costs-slot more-costs-slot))
(do ((ref refs (tn-ref-next ref)))
((null ref))
(flet ((add-costs (cost)
;;; If policy indicates, give an efficiency note for doing the
;;; coercion VOP, where OP is the operand we are coercing for and
;;; DEST-TN is the distinct destination in a move.
-(defun do-coerce-efficiency-note (vop op dest-tn)
+(defun maybe-emit-coerce-efficiency-note (vop op dest-tn)
(declare (type vop-info vop) (type tn-ref op) (type (or tn null) dest-tn))
(let* ((note (or (template-note vop) (template-name vop)))
(cost (template-cost vop))
(vop-args op-vop)
(vop-results op-vop)))
(error "couldn't find op? bug!")))))
- (compiler-note
+ (compiler-notify
"doing ~A (cost ~W)~:[~2*~; ~:[to~;from~] ~S~], for:~%~6T~
the ~:R ~:[result~;argument~] of ~A"
note cost name arg-p name
pos arg-p op-note)))
(t
- (compiler-note "doing ~A (cost ~W)~@[ from ~S~]~@[ to ~S~]"
- note cost (get-operand-name op-tn t)
- (get-operand-name dest-tn nil)))))
+ (compiler-notify "doing ~A (cost ~W)~@[ from ~S~]~@[ to ~S~]"
+ note cost (get-operand-name op-tn t)
+ (get-operand-name dest-tn nil)))))
(values))
;;; Find a move VOP to move from the operand OP-TN to some other
;;; representation corresponding to OTHER-SC and OTHER-PTYPE. SLOT is
-;;; the SC slot that we grab from (move or move-argument). WRITE-P
+;;; the SC slot that we grab from (move or move-arg). WRITE-P
;;; indicates that OP is a VOP result, so OP is the move result and
;;; other is the arg, otherwise OP is the arg and other is the result.
;;;
(when res
(when (>= (vop-info-cost res)
*efficiency-note-cost-threshold*)
- (do-coerce-efficiency-note res op dest-tn))
+ (maybe-emit-coerce-efficiency-note res op dest-tn))
(let ((temp (make-representation-tn ptype scn)))
(change-tn-ref-tn op temp)
(cond
(res
(when (>= (vop-info-cost res)
*efficiency-note-cost-threshold*)
- (do-coerce-efficiency-note res args y))
+ (maybe-emit-coerce-efficiency-note res args y))
(emit-move-template node block res x y vop)
(delete-vop vop))
(t