1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-14 15:40:19 +02:00

New optimization: demux-lambda

Can help reduce case-lambda* / lambda* at Tree-IL optimization-time.

* module/language/tree-il/demux-lambda.scm: New file.
* am/bootstrap.am (SOURCES): Add new file.
* module/language/tree-il/optimize.scm (make-optimizer):
* module/system/base/optimize.scm (available-optimizations): Enable
demux-lambda at level 2.
This commit is contained in:
Andy Wingo 2024-03-13 13:11:14 +01:00
parent e1690f3fd2
commit c758c99b5e
4 changed files with 131 additions and 3 deletions

View file

@ -1,6 +1,6 @@
;;; Optimization flags
;; Copyright (C) 2018, 2020-2022 Free Software Foundation, Inc.
;; Copyright (C) 2018,2020-2022,2024 Free Software Foundation, Inc.
;;;; This library is free software; you can redistribute it and/or
;;;; modify it under the terms of the GNU Lesser General Public
@ -32,6 +32,7 @@
(#:resolve-primitives? 1)
(#:expand-primitives? 1)
(#:letrectify? 2)
(#:demux-lambda? 2)
(#:seal-private-bindings? 3)
(#:partial-eval? 1)
(#:eta-expand? 2)