1. 28 May, 2009 17 commits
  2. 27 May, 2009 1 commit
  3. 26 May, 2009 1 commit
  4. 19 May, 2009 2 commits
  5. 18 May, 2009 1 commit
    • Ben.Lippmeier@anu.edu.au's avatar
      Split Reg into vreg/hreg and add register pairs · f9288086
      Ben.Lippmeier@anu.edu.au authored
       * The old Reg type is now split into VirtualReg and RealReg.
       * For the graph coloring allocator, the type of the register graph
         is now (Graph VirtualReg RegClass RealReg), which shows that it colors
         in nodes representing virtual regs with colors representing real regs.
         (as was intended)  
       * RealReg contains two contructors, RealRegSingle and RealRegPair,
         where RealRegPair is used to represent a SPARC double reg 
         constructed from two single precision FP regs. 
       * On SPARC we can now allocate double regs into an arbitrary register
         pair, instead of reserving some reg ranges to only hold float/double values. 
      f9288086
  6. 21 Apr, 2009 1 commit
  7. 27 May, 2009 5 commits
    • simonpj@microsoft.com's avatar
      Fix Trac #3221: renamer warnings for deriving clauses · 685f6314
      simonpj@microsoft.com authored
      This patch arranges to gather the variables used by 'deriving' clauses,
      so that unused bindings are correctly reported.
      685f6314
    • simonpj@microsoft.com's avatar
      Template Haskell: allow type splices · 389cca21
      simonpj@microsoft.com authored
      At last!  Trac #1476 and #3177
      
      This patch extends Template Haskell by allowing splices in
      types.  For example
      
        f :: Int -> $(burble 3)
      
      A type splice should work anywhere a type is expected.  This feature
      has been long requested, and quite a while ago I'd re-engineered the
      type checker to make it easier, but had never got around to finishing
      the job.  With luck, this does it.
      
      There's a ToDo in the HsSpliceTy case of RnTypes.rnHsType, where I
      am not dealing properly with the used variables; but that's awaiting
      the refactoring of the way we report unused names.
      
      
      389cca21
    • simonpj@microsoft.com's avatar
      Template Haskell: improve lifting for strings · 97a8fe87
      simonpj@microsoft.com authored
      When you have a (\s::String -> ....[| s |]....), the string 
      's' is lifted.  We used to get a chain of single-character 
      Cons nodes, correct but lots and lots of code.  
      
      This patch arranges to optimise that to a string literal. It does
      so in two places:
        a) In TcExpr, if we know that s::String, we generate liftString directly
        b) In DsMeta, if we find a list of character literals, we convert to
           a string.  This catches a few cases that (a) does not
      
      There an accompanying  patch in the template-haskell package, 
      adding Language.Haskell.TH.Syntax.liftString
      
      
      97a8fe87
    • simonpj@microsoft.com's avatar
    • simonpj@microsoft.com's avatar
      Comments about wiredInIds · e598b8f9
      simonpj@microsoft.com authored
      e598b8f9
  8. 26 May, 2009 4 commits
  9. 25 May, 2009 1 commit
  10. 24 May, 2009 6 commits
  11. 23 May, 2009 1 commit