1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-07-05 17:20:18 +02:00
Commit graph

56 commits

Author SHA1 Message Date
Andy Wingo
4305b39336 Beginning of u64 phi unboxing
* module/language/cps/specialize-numbers.scm
  (compute-specializable-u64-vars): New stub.
* module/language/cps/specialize-numbers.scm
  (compute-specializable-phis): Rename from
  compute-specializable-f64-phis, and return an intmap instead of an
  intset.  The values distinguish f64 from u64 vars.
* module/language/cps/specialize-numbers.scm (apply-specialization):
  Start of u64 phi unboxing.
* module/language/cps/specialize-numbers.scm (specialize-phis):
  (specialize-numbers): Adapt.
2015-12-01 11:30:55 +01:00
Andy Wingo
163fcf5adb Specialize u64 comparisons
* module/language/cps/specialize-numbers.scm
  (specialize-u64-comparison): New function.
* module/language/cps/specialize-numbers.scm (specialize-operations):
  Rename from specialize-f64-operations, as it will specialize both
  kinds.  Add a case to specialize u64 comparisons.
* module/language/cps/specialize-numbers.scm (specialize-numbers): Adapt
  to specialize-operations name change.
2015-12-01 11:30:55 +01:00
Andy Wingo
7dc3e4ba23 Remove debug printout in specialize-numbers
* module/language/cps/specialize-numbers.scm (apply-f64-specialization):
  Remove printout.  I didn't see any when compiling Guile, which means
  that probably this optimization doesn't hit for any code in Guile
  itself, sadly :P
2015-11-11 10:21:43 +01:00
Andy Wingo
80f2726310 Better f64 unboxing for loop vars that might flow to $ktail
* module/language/cps/specialize-numbers.scm (compute-specializable-f64-vars):
  Tweak to allow f64 values to flow directly to return sites.
2015-11-11 10:21:43 +01:00
Andy Wingo
5b9835e1f8 The compiler can unbox float64 loop variables
* module/language/cps/specialize-numbers.scm: Specialize phi variables
  as well.
2015-11-11 10:21:43 +01:00
Andy Wingo
12e9e2148e Add new pass to specialize "add" into "fadd" where possible
* module/language/cps/specialize-numbers.scm: New pass, to turn "add"
  into "fadd", and similarly for sub, mul, and div.

* module/language/cps/optimize.scm:
* module/Makefile.am:
* bootstrap/Makefile.am: Wire up the new pass.
2015-11-11 10:21:43 +01:00