1. 09 Jul, 2012 2 commits
    • Simon Marlow's avatar
      Don't re-allocate %esi on x86. · 10575479
      Simon Marlow authored
      Recent changes have freed up %esi for general use on x86 when it is
      not being used for R1.  However, x86 has a non-uniform register
      architecture where there is no 8-bit equivalent of %esi.  The register
      allocators aren't sophisticated enough to cope with this, so we have
      to back off and treat %esi as non-allocatable for now.  (of course,
      LLVM doesn't suffer from this problem)
      One workaround would be to change the calling convention to use %rbx
      for R1, however we can't change the calling convention now without
      patching LLVM too.
    • Erik de Castro Lopo's avatar
  2. 06 Jul, 2012 7 commits
  3. 05 Jul, 2012 4 commits
  4. 04 Jul, 2012 3 commits
    • Simon Marlow's avatar
      Fix merge-related problems · 3f0afaba
      Simon Marlow authored
    • Simon Marlow's avatar
      Merge remote-tracking branch 'origin/master' into newcg · 99fd2469
      Simon Marlow authored
      * origin/master: (756 commits)
        don't crash if argv[0] == NULL (#7037)
        -package P was loading all versions of P in GHCi (#7030)
        Add a Note, copying text from #2437
        improve the --help docs a bit (#7008)
        Copy Data.HashTable's hashString into our Util module
        Build fix
        Build fixes
        Parse error: suggest brackets and indentation.
        Don't build the ghc DLL on Windows; works around trac #5987
        On Windows, detect if DLLs have too many symbols; trac #5987
        Add some more Integer rules; fixes #6111
        Fix PA dfun construction with silent superclass args
        Add silent superclass parameters to the vectoriser
        Add silent superclass parameters (again)
        Mention Generic1 in the user's guide
        Make the GHC API a little more powerful.
        tweak llvm version warning message
        New version of the patch for #5461.
        Fix Word64ToInteger conversion rule.
        Implemented feature request on reconfigurable pretty-printing in GHCi (#5461)
    • phercek's avatar
      prefer later defined commands (fixes #3858) · ad16de23
      phercek authored
  5. 03 Jul, 2012 3 commits
  6. 02 Jul, 2012 4 commits
  7. 30 Jun, 2012 1 commit
  8. 29 Jun, 2012 6 commits
  9. 27 Jun, 2012 5 commits
    • Ian Lynagh's avatar
    • Ian Lynagh's avatar
      Add some more Integer rules; fixes #6111 · c7a8941b
      Ian Lynagh authored
    • chak@cse.unsw.edu.au.'s avatar
    • chak@cse.unsw.edu.au.'s avatar
    • Simon Peyton Jones's avatar
      Add silent superclass parameters (again) · aa1e0976
      Simon Peyton Jones authored
      Silent superclass parameters solve the problem that
      the superclasses of a dicionary construction can easily
      turn out to be (wrongly) bottom.  The problem and solution
      are described in
         Note [Silent superclass arguments] in TcInstDcls
      I first implemented this fix (with Dimitrios) in Dec 2010, but removed
      it again in Jun 2011 becuase we thought it wasn't necessary any
      more. (The reason we thought it wasn't necessary is that we'd stopped
      generating derived superclass constraints for *wanteds*.  But we were
      wrong; that didn't solve the superclass-loop problem.)
      So we have to re-implement it.  It's not hard.  Main features:
        * The IdDetails for a DFunId says how many silent arguments it has
        * A DFunUnfolding describes which dictionary args are
          just parameters (DFunLamArg) and which are a function to apply
          to the parameters (DFunPolyArg).  This adds the DFunArg type
          to CoreSyn
        * Consequential changes to IfaceSyn.  (Binary hi file format changes
        * TcInstDcls changes to generate the right dfuns
        * CoreSubst.exprIsConApp_maybe handles the new DFunUnfolding
      The thing taht is *not* done yet is to alter the vectoriser to
      pass the relevant extra argument when building a PA dictionary.
  10. 26 Jun, 2012 2 commits
  11. 25 Jun, 2012 3 commits