X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fir1util.lisp;h=6641386ef35fb72cd367e6402dfb0cbaeed223b1;hb=a8ec0d53c1fe3fe898518d183b5a1bf19a61f0c6;hp=f27b60d37ae9164be4b89dd55c42b3c8a7373aa4;hpb=8e73cf67d15bf0aeed37ac38d309aa9048b29573;p=sbcl.git diff --git a/src/compiler/ir1util.lisp b/src/compiler/ir1util.lisp index f27b60d..6641386 100644 --- a/src/compiler/ir1util.lisp +++ b/src/compiler/ir1util.lisp @@ -429,7 +429,7 @@ (lvar-dynamic-extent it))) (defun flushable-combination-p (call) - (declare (combination call)) + (declare (type combination call)) (let ((kind (combination-kind call)) (info (combination-fun-info call))) (when (and (eq kind :known) (fun-info-p info)) @@ -2190,8 +2190,11 @@ is :ANY, the function name is not checked." (not (null (member (leaf-source-name leaf) names :test #'equal)))))))) +;;; Return true if LVAR's only use is a call to one of the named functions +;;; (or any function if none are specified) with the specified number of +;;; of arguments (or any number if number is not specified) (defun lvar-matches (lvar &key fun-names arg-count) - (let ((use (lvar-use lvar))) + (let ((use (lvar-uses lvar))) (and (combination-p use) (or (not fun-names) (multiple-value-bind (name ok)