1. 31 Jul, 2008 1 commit
  2. 20 Jul, 2008 1 commit
  3. 29 May, 2008 2 commits
    • dias@eecs.harvard.edu's avatar
      Replacing copyins and copyouts with data-movement instructions · 0d80489c
      dias@eecs.harvard.edu authored
      o Moved BlockId stuff to a new file to avoid module recursion
      o Defined stack areas for parameter-passing locations and spill slots
      o Part way through replacing copy in and copy out nodes
        - added movement instructions for stack pointer
        - added movement instructions for call and return parameters
          (but not with the proper calling conventions)
      o Inserting spills and reloads for proc points is now procpoint-aware
        (it was relying on the presence of a CopyIn node as a proxy for
         procpoint knowledge)
      o Changed ZipDataflow to expect AGraphs (instead of being polymorphic in
         the type of graph)
      0d80489c
    • dias@eecs.harvard.edu's avatar
      Cmm back end upgrades · 25628e27
      dias@eecs.harvard.edu authored
      Several changes in this patch, partially bug fixes, partially new code:
      o bug fixes in ZipDataflow
         - added some checks to verify that facts converge
         - removed some erroneous checks of convergence on entry nodes
         - added some missing applications of transfer functions
      o changed dataflow clients to use ZipDataflow, making ZipDataflow0 obsolete
      o eliminated DFA monad (no need for separate analysis and rewriting monads with ZipDataflow)
      o started stack layout changes
         - no longer generating CopyIn and CopyOut nodes (not yet fully expunged though)
         - still not using proper calling conventions
      o simple new optimizations:
         - common block elimination
            -- have not yet tried to move the Adams opt out of CmmProcPointZ
         - block concatenation
      o piped optimization fuel up to the HscEnv
         - can be limited by a command-line flag
         - not tested, and probably not yet properly used by clients
      o added unique supply to FuelMonad, also lifted unique supply to DFMonad
      25628e27
  4. 03 May, 2008 1 commit
  5. 29 Mar, 2008 1 commit
  6. 26 Dec, 2007 2 commits
    • Isaac Dupree's avatar
      move and generalize another instance (#1405) · 5a7a3110
      Isaac Dupree authored
      was instance Outputable CmmGraph
      type CmmGraph = LGraph Middle Last
      now instance (ctx) => Outputable (LGraph m l),
      in module with LGraph where it belongs
      This also let us reduce the context of DebugNodes to Haskell98,
      leaving that class's only extension being multi-parameter.
      (also Outputable (LGraph M Last) with M = ExtendWithSpills Middle
      was another redundant instance that was then removed)
      5a7a3110
    • Isaac Dupree's avatar
      move and generalize an instance (#1405) · c886dd30
      Isaac Dupree authored
      UserOfLocalRegs (ZLast Last) isn't Haskell98, but it was just as
      good an instance to be UserOfLocalRegs a => UserOfLocalRegs (ZLast a)
      c886dd30
  7. 21 Sep, 2007 1 commit
    • nr@eecs.harvard.edu's avatar
      massive convulsion in ZipDataflow · fee569a6
      nr@eecs.harvard.edu authored
      After my talk, I got the idea of 'shallow rewriting' for the
      dataflow framework.  Here it is implemented, along with
      some related ideas late making Graph and not LGraph primary.
      
      The only bad thing is that the whole bit is stitched together
      out of ill-fitting pieces, kind of like Frankenstein's monster.
      A new ZipDataflow will rise out of the ashes.
      fee569a6
  8. 19 Sep, 2007 1 commit
    • simonpj@microsoft.com's avatar
      Small changes to mk-ing flow graphs · c92fecad
      simonpj@microsoft.com authored
      - ZipCfg: add mkBlockId :: Unique -> BlockId
      - MkZipCfg: change sequence --> catAGrpahs
      - MkZipCfgCmm: add mkCmmIfThen
      
      Not fully validated, but I don't think anything will break
      
      c92fecad
  9. 15 Sep, 2007 8 commits
  10. 14 Sep, 2007 2 commits
  11. 13 Sep, 2007 2 commits
  12. 12 Sep, 2007 1 commit
  13. 11 Sep, 2007 3 commits
  14. 07 Sep, 2007 1 commit