1. 19 Dec, 2012 2 commits
    • mad.one@gmail.com's avatar
      Rename all of the 'cmmz' flags and make them more consistent. · f6f881f0
      mad.one@gmail.com authored
      There's only a single compiler backend now, so the 'z' suffix means
      nothing. Also, the flags were confusingly named ('cmm-foo' vs
      'foo-cmm',) and counter-intuitively, '-ddump-cmm' did not do at all what
      you expected since the new backend went live.
      Basically, all of the -ddump-cmmz-* flags are now -ddump-cmm-*. Some were
      renamed to be more consistent.
      This doesn't update the manual; it already mentions '-ddump-cmm' and
      that flag implies all the others anyway, which is probably what you
      Signed-off-by: mad.one@gmail.com's avatarAustin Seipp <mad.one@gmail.com>
    • Simon Peyton Jones's avatar
      Wibbles to faa8ff40 (UNPACK pragmas) · b5853125
      Simon Peyton Jones authored
      Nothing big here, just tidying up deetails
  2. 14 Dec, 2012 2 commits
    • ian@well-typed.com's avatar
      Implement the slow mode of -dynamic-too · bcf7123a
      ian@well-typed.com authored
      I'm not sure if making an entirely new HscEnv is too large a hammer,
      but it works for now.
    • Simon Peyton Jones's avatar
      Major refactoring of the way that UNPACK pragmas are handled · faa8ff40
      Simon Peyton Jones authored
      The situation was pretty dire.  The way in which data constructors
      were handled, notably the mapping between their *source* argument types
      and their *representation* argument types (after seq'ing and unpacking)
      was scattered in three different places, and hard to keep in sync.
      Now it is all in one place:
       * The dcRep field of a DataCon gives its representation,
         specified by a DataConRep
       * As well as having the wrapper, the DataConRep has a "boxer"
         of type DataConBoxer (defined in MkId for loopy reasons).
         The boxer used at a pattern match to reconstruct the source-level
         arguments from the rep-level bindings in the pattern match.
       * The unboxing in the wrapper and the boxing in the boxer are dual,
         and are now constructed together, by MkId.mkDataConRep. This is
         the key function of this change.
       * All the computeBoxingStrategy code in TcTyClsDcls disappears.
      Much nicer.
      There is a little bit of refactoring left to do; the strange
      deepSplitProductType functions are now called only in WwLib, so
      I moved them there, and I think they could be tidied up further.
  3. 11 Dec, 2012 1 commit
  4. 08 Dec, 2012 3 commits
  5. 07 Dec, 2012 3 commits
  6. 05 Dec, 2012 2 commits
  7. 29 Nov, 2012 1 commit
  8. 12 Nov, 2012 1 commit
    • ian@well-typed.com's avatar
      Replace mkDerivedConstants.c with DeriveConstants.hs · f49271c0
      ian@well-typed.com authored
      DeriveConstants.hs works in a cross-compilation-friendly way. Rather
      than running a C program that prints out the constants, we just compile
      a C file which has the constants are encoded in symbol sizes. We then
      parse the output of 'nm' to find out what the constants are.
      Based on work by Gabor Greif <ggreif@gmail.com>.
  9. 02 Nov, 2012 1 commit
  10. 01 Nov, 2012 1 commit
  11. 30 Oct, 2012 1 commit
  12. 29 Oct, 2012 1 commit
  13. 26 Oct, 2012 1 commit
  14. 25 Oct, 2012 1 commit
  15. 23 Oct, 2012 1 commit
  16. 19 Oct, 2012 1 commit
  17. 18 Oct, 2012 1 commit
    • ian@well-typed.com's avatar
      Refactor the way dump flags are handled · d4a19643
      ian@well-typed.com authored
      We were being inconsistent about how we tested whether dump flags
      were enabled; in particular, sometimes we also checked the verbosity,
      and sometimes we didn't.
      This lead to oddities such as "ghc -v4" printing an "Asm code" section
      which didn't contain any code, and "-v4" enabled some parts of
      "-ddump-deriv" but not others.
      Now all the tests use dopt, which also takes the verbosity into account
      as appropriate.
  18. 17 Oct, 2012 1 commit
  19. 16 Oct, 2012 3 commits
  20. 15 Oct, 2012 2 commits
  21. 13 Oct, 2012 1 commit
  22. 09 Oct, 2012 5 commits
  23. 08 Oct, 2012 3 commits
  24. 03 Oct, 2012 1 commit