]> git.eshelyaron.com Git - emacs.git/commit
Optimise prog1 better
authorMattias Engdegård <mattiase@acm.org>
Thu, 29 Jul 2021 08:07:26 +0000 (10:07 +0200)
committerMattias Engdegård <mattiase@acm.org>
Fri, 30 Jul 2021 07:54:29 +0000 (09:54 +0200)
commitdc9e2a1749c892cdf52a01414bee97e9a2245ca5
treea9b13c9ca71f5b5d5f10891e2bd17cdd589cddb0
parent9a6333811441a32e49bfd33c14f77680402cd639
Optimise prog1 better

Rewrite (prog1 CONST FORMS...) => (progn FORMS... CONST)
where CONST is a compile-time constant, because putting the value last
allows the lapcode peephole pass to do important improvements like
branch elimination.  Also use progn instead of prog1 for `ignore`.

* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
New `prog1` and `ignore` transforms.
lisp/emacs-lisp/byte-opt.el