diff options
| author | Mattias EngdegÄrd | 2023-02-12 12:33:27 +0100 |
|---|---|---|
| committer | Mattias EngdegÄrd | 2023-02-13 16:57:49 +0100 |
| commit | 8aef401b4f66a64ddfa9390590fb2cae1f96d522 (patch) | |
| tree | fb54bed75d8cb6f6149e256350689ce94f06c8da /java | |
| parent | a3edacd3f547195740304139cb68aaa94d7b18ee (diff) | |
| download | emacs-8aef401b4f66a64ddfa9390590fb2cae1f96d522.tar.gz 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 'java')
0 files changed, 0 insertions, 0 deletions