|
[Sbcl-commits] CVS: sbcl/src/compiler constraint.lisp,1.23,1.24 ir1util.lisp,1.103,1.104
From: Alexey Dejneka <adejneka@us...> - 2005-02-23 08:31
|
Update of /cvsroot/sbcl/sbcl/src/compiler
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12053/src/compiler
Modified Files:
constraint.lisp ir1util.lisp
Log Message:
0.8.19.38:
* Fix MISC.535: CONSTANT-LVAR-P looks through CASTs.
* Workaround lack of recursion recognition in XC for
PRINCIPAL-LVAR-USE.
Index: constraint.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/compiler/constraint.lisp,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -d -r1.23 -r1.24
--- constraint.lisp 30 Oct 2004 18:29:50 -0000 1.23
+++ constraint.lisp 23 Feb 2005 08:31:19 -0000 1.24
@@ -193,7 +193,7 @@
((constant-lvar-p arg2)
(add-complement-constraints if 'eql var1
(ref-leaf
- (lvar-uses arg2))
+ (principal-lvar-use arg2))
nil)))))
((< >)
(let* ((arg1 (first args))
Index: ir1util.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/compiler/ir1util.lisp,v
retrieving revision 1.103
retrieving revision 1.104
diff -u -d -r1.103 -r1.104
--- ir1util.lisp 12 Jan 2005 17:57:15 -0000 1.103
+++ ir1util.lisp 23 Feb 2005 08:31:20 -0000 1.104
@@ -63,10 +63,13 @@
(list uses))))
(defun principal-lvar-use (lvar)
- (let ((use (lvar-uses lvar)))
- (if (cast-p use)
- (principal-lvar-use (cast-value use))
- use)))
+ (labels ((plu (lvar)
+ (declare (type lvar lvar))
+ (let ((use (lvar-uses lvar)))
+ (if (cast-p use)
+ (plu (cast-value use))
+ use))))
+ (plu lvar)))
;;; Update lvar use information so that NODE is no longer a use of its
;;; LVAR.
|
| Thread | Author | Date |
|---|---|---|
| [Sbcl-commits] CVS: sbcl/src/compiler constraint.lisp,1.23,1.24 ir1util.lisp,1.103,1.104 | Alexey Dejneka <adejneka@us...> |