RTL slot allocator uses more precise, correct liveness information
authorAndy Wingo <wingo@pobox.com>
Mon, 21 Oct 2013 13:45:19 +0000 (15:45 +0200)
committerAndy Wingo <wingo@pobox.com>
Mon, 21 Oct 2013 13:45:19 +0000 (15:45 +0200)
commite636f424b97e8574e0db304f64a1541dd626b3a5
tree571bd10ca4d13ce6c4aeee83ed48da2ae72bb1ef
parentdb11440d380ffb579ff6a4b69acaf818855bd201
RTL slot allocator uses more precise, correct liveness information

* module/language/cps/dfg.scm (control-point?): New interface, replaces
  branch?.
  (dead-after-def?, dead-after-use?, dead-after-branch?): Remove these.
  The first one was fine; dead-after-use? was conservative but OK; but
  dead-after-branch? was totally bogus.  Instead we use precise liveness
  information in the allocator.

* module/language/cps/slot-allocation.scm ($allocation): Remove "def"
  and "dead" slots.  We'll communicate liveness information in some
  other way to the compiler.
  (allocate-slots): Rework to use precise liveness information.
module/language/cps/dfg.scm
module/language/cps/slot-allocation.scm