1. 04 Jan, 2008 1 commit
  2. 06 Jan, 2008 2 commits
  3. 04 Jan, 2008 3 commits
  4. 26 Dec, 2007 3 commits
  5. 04 Jan, 2008 4 commits
  6. 03 Jan, 2008 5 commits
  7. 02 Jan, 2008 3 commits
  8. 20 Dec, 2007 1 commit
    • Simon Marlow's avatar
      Add dead code elimination in cmmMiniInline · ae72991e
      Simon Marlow authored
      cmmMiniInline counts the uses of local variables, so it can easily
      eliminate assigments to unused locals.  This almost never gets
      triggered, as we don't generate any dead assignments, but it will be
      needed by a forthcoming cleanup in CgUtils.emitSwitch.
  9. 02 Jan, 2008 1 commit
  10. 01 Jan, 2008 3 commits
  11. 30 Dec, 2007 1 commit
  12. 29 Dec, 2007 1 commit
  13. 28 Dec, 2007 2 commits
  14. 27 Dec, 2007 1 commit
  15. 26 Dec, 2007 1 commit
  16. 27 Dec, 2007 1 commit
    • Clemens Fruhwirth's avatar
      API changes for cabal-HEAD · 1286d3e9
      Clemens Fruhwirth authored
      Rename interfacedir to haddockdir
      Change empty(Copy|Register)Flags to default(Copy|Register)Flags
      Wrap content of RegisterFlags with toFlag (the Flag type is actually just Maybe)
  17. 25 Dec, 2007 1 commit
    • chevalier@alum.wellesley.edu's avatar
      Extend API for compiling to and from Core · 98c68a1c
      chevalier@alum.wellesley.edu authored
      Added API support for compiling Haskell to simplified Core, and for
      compiling Core to machine code. The latter, especially, should be
      considered experimental and has only been given cursory testing. Also
      fixed warnings in DriverPipeline. Merry Christmas.
  18. 24 Dec, 2007 1 commit
  19. 21 Dec, 2007 2 commits
    • simonpj@microsoft.com's avatar
      Improve handling of newtypes (fixes Trac 1495) · 219f900f
      simonpj@microsoft.com authored
      In a few places we want to "look through" newtypes to get to the
      representation type.  But we need to be careful that  we don't fall 
      into an ininite loop with e.g.
      	newtype T = MkT T
      The old mechansim for doing this was to have a field nt_rep, inside 
      a newtype TyCon, that gave the "ultimate representation" of the type.
      But that failed for Trac 1495, which looked like this:
         newtype Fix a = Fix (a (Fix a))
         data I a = I a
      Then, expanding the type (Fix I) went on for ever.
      The right thing to do seems to be to check for loops when epxanding
      the *type*, rather than in the *tycon*.  This patch does that, 
      	- Removes nt_rep from TyCon
      	- Make Type.repType check for loops
      See Note [Expanding newtypes] in Type.lhs.
      At the same time I also fixed a bug for Roman, where newtypes were not
      being expanded properly in FamInstEnv.topNormaliseType.  This function
      and Type.repType share a common structure.
      	Ian, see if this merges easily to the branch
      	If not, I don't think it's essential to fix 6.8
    • simonpj@microsoft.com's avatar
      Fix Trac #1981: seq on a type-family-typed expression · f645bca8
      simonpj@microsoft.com authored
      We were crashing when we saw
      	case x of DEFAULT -> rhs
      where x had a type-family type.  This patch fixes it.
      MERGE to the 6.8 branch.
  20. 20 Dec, 2007 3 commits
    • simonpj@microsoft.com's avatar
      Comment only · e4828ab9
      simonpj@microsoft.com authored
    • simonpj@microsoft.com's avatar
      Fix nasty recompilation bug in MkIface.computeChangedOccs · c4ea1371
      simonpj@microsoft.com authored
      	MERGE to 6.8 branch
      In computeChangedOccs we look up the old version of a Name.
      But a WiredIn Name doesn't have an old version, because WiredIn things
      don't appear in interface files at all.
      Result: ghc-6.9: panic! (the 'impossible' happened)
        (GHC version 6.9 for x86_64-unknown-linux):
      	lookupVers1 base:GHC.Prim chr#{v}
      This fixes the problem.  The patch should merge easily onto the branch.
    • simonpj@microsoft.com's avatar
      Fix Trac #1988; keep the ru_fn field of a RULE up to date · ca919ae0
      simonpj@microsoft.com authored
      The ru_fn field was wrong when we moved RULES from one Id to another.
      The fix is simple enough.
      However, looking at this makes me realise that the worker/wrapper stuff
      for recursive newtypes isn't very clever: we generate demand info but
      then don't properly exploit it.  
      This patch fixes the crash though.