1. 03 Mar, 2009 1 commit
    • dias@eecs.harvard.edu's avatar
      A few bug fixes; some improvements spurred by paper writing · 31a9d048
      dias@eecs.harvard.edu authored
      Among others:
      - Fixed Stg->C-- translation of let-no-escapes -- it's important to use the
        right continuation...
      - Fixed infinite recursion in X86 backend (shortcutJump mishandled infinite loops)
      - Fixed yet another wrong calling convention -- primops take args only in vanilla regs,
        but they may return results on the stack!
      - Removed StackInfo from LGraph and Block -- now in LastCall and CmmZ
      - Updated avail-variable and liveness code
      31a9d048
  2. 17 Oct, 2008 1 commit
  3. 16 Oct, 2008 1 commit
    • dias@eecs.harvard.edu's avatar
      Fixed linear regalloc bug, dropped some tracing code · c62b824e
      dias@eecs.harvard.edu authored
      o The linear-scan register allocator sometimes allocated a block
        before allocating one of its predecessors, which could lead
        to inconsistent allocations. Now, we allocate a block only
        if a predecessor has set the "incoming" assignments for the block
        (or if it's the procedure's entry block).
      o Also commented out some tracing code on the new codegen path.
      c62b824e
  4. 14 Oct, 2008 1 commit
    • dias@eecs.harvard.edu's avatar
      Clarify the SRT building process · e367ebeb
      dias@eecs.harvard.edu authored
      Before: building a closure that would build an SRT given the top-level
      SRT. It was somewhat difficult to understand the control flow, and it
      may have had held onto some data structures long after they should be dead.
      Now, I just bundle the info we need about CAFs along with the procedure
      and directly call a new top-level function to build the SRTs later.
      e367ebeb
  5. 13 Oct, 2008 2 commits