summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/generate-lisp-file.el
diff options
context:
space:
mode:
authorMattias EngdegÄrd <mattiase@acm.org>2023-02-12 12:33:27 +0100
committerMattias EngdegÄrd <mattiase@acm.org>2023-02-13 16:57:49 +0100
commit8aef401b4f66a64ddfa9390590fb2cae1f96d522 (patch)
treefb54bed75d8cb6f6149e256350689ce94f06c8da /lisp/emacs-lisp/generate-lisp-file.el
parenta3edacd3f547195740304139cb68aaa94d7b18ee (diff)
downloademacs-8aef401b4f66a64ddfa9390590fb2cae1f96d522.tar.gz
emacs-8aef401b4f66a64ddfa9390590fb2cae1f96d522.tar.bz2
emacs-8aef401b4f66a64ddfa9390590fb2cae1f96d522.zip
LAP optimiser: more stack reduction hoisting
Hoisting stack reduction ops allows them to coalesce and/or cancel out pushing ops, and for useful operations to sink and combine, such as not + goto-if-[not-]nil. * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): Add the rule UNARY discardN-preserve-tos --> discardN-preserve-tos UNARY where UNARY pops and pushes one value. Generalise the rule const discardN-preserve-tos --> discardN const to any 0-ary op, not just const: varref, point, etc.
Diffstat (limited to 'lisp/emacs-lisp/generate-lisp-file.el')
0 files changed, 0 insertions, 0 deletions