1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-05 19:50:23 +02:00
guile/module/language/tree-il
Andy Wingo d184d09346 Fix order-of-side-effects bug in (eq? x y z) expansion
* module/language/tree-il/primitives.scm (bind-lexicals): New helper.
(expand-eq, expand-chained-comparisons): Ensure all arguments are
eagerly evaluated.  Previously an intermediate #f result would shortcut
the evaluation.
* test-suite/tests/compiler.test ("size effects in multi-arg eq / <"):
Add test.
2022-12-01 12:56:51 +01:00
..
analyze.scm psyntax: Pass source vectors to tree-il constructors. 2022-02-07 12:23:35 +01:00
compile-bytecode.scm Baseline compiler no longer crashes on (not (list 1 2)). 2022-10-01 16:00:05 +02:00
compile-cps.scm Add new pass to optimize away return value count checks 2021-11-15 15:32:54 +01:00
cps-primitives.scm CPS compiler reduces eq? on constant to eq-constant? 2020-08-03 22:19:18 +02:00
debug.scm Add "mod" field to tree-il toplevel ref, set, define 2019-08-18 22:27:12 +02:00
effects.scm Fix tree-il effects analysis for prompts 2021-05-01 22:16:20 +02:00
eta-expand.scm Add eta-expansion pass after peval 2020-01-15 16:11:15 +01:00
fix-letrec.scm Optimize letrec* binding order in fix-letrec 2021-04-21 22:41:12 +02:00
inlinable-exports.scm Fix reproducibility for inlinable-exports 2022-02-01 14:50:44 +01:00
letrectify.scm Letrectify links module defs with uses 2021-05-11 21:39:07 +02:00
optimize.scm Implement cross-module inlining 2021-05-11 21:39:07 +02:00
peval.scm peval cross-module-inlining gracefully handles missing interface 2022-01-17 21:25:08 +01:00
primitives.scm Fix order-of-side-effects bug in (eq? x y z) expansion 2022-12-01 12:56:51 +01:00
resolve-free-vars.scm -Oresolve-free-vars pass gracefully handles failed autoloads. 2022-01-11 21:32:40 +01:00
spec.scm Change -O1 compiler to use baseline and also resolve primitives 2020-06-01 21:15:39 +02:00