mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-07-10 11:20:28 +02:00
* module/language/cps/cse.scm (compute-equivalent-subexpressions): When CSE sees a definition like `(cons a b)', it will also record an "auxiliary definition" for `(car x)', where x is the variable defined by the cons, whereby calling `(car x)' can reduce to `a' if there is no intervening effect that clobbers the definitions. However, when the successor of the cons is a control-flow join, then any variables defined there have multiple definitions. It's incorrect to add the aux definition in that case. * test-suite/tests/compiler.test ("cse auxiliary definitions"): New test. |
||
---|---|---|
.. | ||
brainfuck | ||
bytecode | ||
cps | ||
ecmascript | ||
elisp | ||
scheme | ||
tree-il | ||
value | ||
bytecode.scm | ||
cps.scm | ||
tree-il.scm |