From: Andrea Corallo Date: Sun, 22 Sep 2019 15:11:53 +0000 (+0200) Subject: repropagate after call-optim X-Git-Tag: emacs-28.0.90~2727^2~1125 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=86a22004c9bdd1e93aac773cfda1932061f3b724;p=emacs.git repropagate after call-optim --- diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el index b66bccede54..c3ec012c4a1 100644 --- a/lisp/emacs-lisp/comp.el +++ b/lisp/emacs-lisp/comp.el @@ -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)