]> git.eshelyaron.com Git - emacs.git/commitdiff
repropagate after call-optim
authorAndrea Corallo <akrl@sdf.org>
Sun, 22 Sep 2019 15:11:53 +0000 (17:11 +0200)
committerAndrea Corallo <akrl@sdf.org>
Wed, 1 Jan 2020 10:37:52 +0000 (11:37 +0100)
lisp/emacs-lisp/comp.el

index b66bccede54149e0548e28f1ff1874c4fd0c4ef7..c3ec012c4a14b18ff803751f6f60218cc5ca3b23 100644 (file)
@@ -57,6 +57,7 @@
                         comp-ssa
                         comp-propagate
                         comp-call-optim
+                        comp-propagate
                         comp-final)
   "Passes to be executed in order.")
 
@@ -1278,10 +1279,10 @@ This can run just once."
   (pcase insn
     (`(set ,lval ,rval)
      (pcase rval
-       (`(call ,f . ,_)
+       (`(,(or 'call 'direct-call) ,f . ,_)
         (setf (comp-mvar-type lval)
               (cdr (assq f comp-known-ret-types))))
-       (`(callref ,f . ,args)
+       (`(,(or 'callref 'direct-callref) ,f . ,args)
         (cl-loop for v in args
                  do (setf (comp-mvar-ref v) t))
         (setf (comp-mvar-type lval)