1. 09 Jul, 2012 4 commits
    • Simon Marlow's avatar
      Track liveness of GlobalRegs in the new code generator · c6a61235
      Simon Marlow authored
      This gives the register allocator access to R1.., F1.., D1.. etc. for
      the new code generator, and is a cheap way to eliminate all the extra
      "x = R1" assignments that we get from copyIn.
      c6a61235
    • batterseapower's avatar
      Don't look for objdump on OS X · c9cb46be
      batterseapower authored
      c9cb46be
    • 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.
      10575479
    • Erik de Castro Lopo's avatar
      810f0be6
  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
      3f0afaba
    • 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)
        ...
      
      Conflicts:
      	compiler/basicTypes/UniqSupply.lhs
      	compiler/cmm/CmmBuildInfoTables.hs
      	compiler/cmm/CmmLint.hs
      	compiler/cmm/CmmOpt.hs
      	compiler/cmm/CmmPipeline.hs
      	compiler/cmm/CmmStackLayout.hs
      	compiler/cmm/MkGraph.hs
      	compiler/cmm/OldPprCmm.hs
      	compiler/codeGen/CodeGen.lhs
      	compiler/codeGen/StgCmm.hs
      	compiler/codeGen/StgCmmBind.hs
      	compiler/codeGen/StgCmmLayout.hs
      	compiler/codeGen/StgCmmUtils.hs
      	compiler/main/CodeOutput.lhs
      	compiler/main/HscMain.hs
      	compiler/nativeGen/AsmCodeGen.lhs
      	compiler/simplStg/SimplStg.lhs
      99fd2469
    • phercek's avatar
      prefer later defined commands (fixes #3858) · ad16de23
      phercek authored
      ad16de23
  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
      30b5ba9b
    • Ian Lynagh's avatar
      Add some more Integer rules; fixes #6111 · c7a8941b
      Ian Lynagh authored
      c7a8941b
    • 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
          slightly.)
      
        * 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.
      aa1e0976
  10. 26 Jun, 2012 2 commits
  11. 25 Jun, 2012 1 commit