summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/avl-tree.el
diff options
context:
space:
mode:
authorMattias EngdegÄrd <mattiase@acm.org>2022-08-12 20:12:25 +0200
committerMattias EngdegÄrd <mattiase@acm.org>2022-08-16 20:44:50 +0200
commite618b6faee5b81d17501fdb2e6b121062f95c021 (patch)
tree7b9c47a1a008da199e7e361287ecbb021c8c32d8 /lisp/emacs-lisp/avl-tree.el
parent869db699ee276349b5de17b54daa4e75433075b9 (diff)
downloademacs-e618b6faee5b81d17501fdb2e6b121062f95c021.tar.gz
emacs-e618b6faee5b81d17501fdb2e6b121062f95c021.tar.bz2
emacs-e618b6faee5b81d17501fdb2e6b121062f95c021.zip
Improved `if` and `while` optimisation
Recognise some more special cases: (if X nil t) -> (not X) (if X t) -> (not (not X)) (if X t nil) -> (not (not X)) (if VAR VAR X...) -> (or VAR (progn X...)) * lisp/emacs-lisp/byte-opt.el (byte-opt-negate): New. (byte-optimize-if): Add transformations above and refactor. (byte-optimize-while): Better static nil-detection.
Diffstat (limited to 'lisp/emacs-lisp/avl-tree.el')
0 files changed, 0 insertions, 0 deletions