1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-18 10:10:23 +02:00

Lower logtest branches to instead be 'zero? logand'

* module/language/cps/compile-bytecode.scm (compile-function): Rename
  the binary* helper back to binary, update uses, and remove logtest
  branch as we no longer put logtest in test context.
* module/language/cps/primitives.scm (*comparisons*): Remove logtest.
* module/language/cps/type-fold.scm: Remove logtest folder.
  (logbit?): Fold to logand.
* module/language/cps/types.scm (logtest): Update to be a type inferrer
  and not a predicate inferrer.
* module/language/tree-il/peval.scm (peval): Transform logtest and
  logbit? to (zero? (logand _ _)).
This commit is contained in:
Andy Wingo 2017-10-30 10:14:48 +01:00
parent d1c69b5c95
commit 0d42f5467f
5 changed files with 48 additions and 64 deletions

View file

@ -143,9 +143,6 @@ before it is lowered to CPS?"
f64-<
f64-<=
;; FIXME: Expand these.
logtest
;; FIXME: Remove these.
>
>=