0.8.15.14:
authorAlexey Dejneka <adejneka@comail.ru>
Wed, 13 Oct 2004 18:05:36 +0000 (18:05 +0000)
committerAlexey Dejneka <adejneka@comail.ru>
Wed, 13 Oct 2004 18:05:36 +0000 (18:05 +0000)
        * Fix bug MISC.427: rebuild DFO before loop analysis.

src/compiler/main.lisp
tests/compiler.pure.lisp
version.lisp-expr

index 0951cc8..9a86abe 100644 (file)
 
     (ir1-phases component)
 
-    (when *loop-analyze* 
+    (when *loop-analyze*
+      (dfo-as-needed component)
       (find-dominators component)
       (loop-analyze component))
 
index d3c6731..cd528ed 100644 (file)
   (compile nil '(lambda (s x)
                  (pprint-logical-block (s x :suffix ">")
                    (print x s)))))
+
+;;; MISC.427: loop analysis requires complete DFO structure
+(assert (eql 17 (funcall
+  (compile
+   nil
+   '(lambda (a)
+     (declare (notinline list reduce logior))
+     (declare (optimize (safety 2) (compilation-speed 1)
+               (speed 3) (space 2) (debug 2)))
+     (logior
+      (let* ((v5 (reduce #'+ (list 0 a))))
+        (declare (dynamic-extent v5))
+        v5))))
+    17)))
index 3f4b407..648cade 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.8.15.13"
+"0.8.15.14"