mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-04 11:00:45 -08:00
* Improve propagate pass
As function folding can generate 'setimm' insns handle them in the `comp-propagate-insn'. * lisp/emacs-lisp/comp.el (comp-propagate-insn): Handle 'setimm' insn.
This commit is contained in:
parent
a58fef9f63
commit
47a6fbd382
1 changed files with 4 additions and 0 deletions
|
|
@ -1926,6 +1926,10 @@ Here goes everything that can be done not iteratively (read once).
|
|||
(comp-function-call-maybe-remove insn f args)))
|
||||
(_
|
||||
(comp-mvar-propagate lval rval))))
|
||||
(`(setimm ,lval ,v)
|
||||
(setf (comp-mvar-const-vld lval) t
|
||||
(comp-mvar-constant lval) v
|
||||
(comp-mvar-type lval) (comp-strict-type-of v)))
|
||||
(`(phi ,lval . ,rest)
|
||||
;; Forward const prop here.
|
||||
(when-let* ((vld (cl-every #'comp-mvar-const-vld rest))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue