projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
1.0.41.35: ppc: Implement compare-and-swap-vops.
[sbcl.git]
/
src
/
compiler
/
ir1util.lisp
diff --git
a/src/compiler/ir1util.lisp
b/src/compiler/ir1util.lisp
index
f27b60d
..
6641386
100644
(file)
--- a/
src/compiler/ir1util.lisp
+++ b/
src/compiler/ir1util.lisp
@@
-429,7
+429,7
@@
(lvar-dynamic-extent it)))
(defun flushable-combination-p (call)
(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))
(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))))))))
(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)
(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)
(and (combination-p use)
(or (not fun-names)
(multiple-value-bind (name ok)