| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Remove OldCmm, convert backends to consume new Cmm | Simon Marlow | 2012-11-12 | 59 | -1483/+678 |
| | | | | | | | | | | | | | | | | | | | This removes the OldCmm data type and the CmmCvt pass that converts new Cmm to OldCmm. The backends (NCGs, LLVM and C) have all been converted to consume new Cmm. The main difference between the two data types is that conditional branches in new Cmm have both true/false successors, whereas in OldCmm the false case was a fallthrough. To generate slightly better code we occasionally need to invert a conditional to ensure that the branch-not-taken becomes a fallthrough; this was previously done in CmmCvt, and it is now done in CmmContFlowOpt. We could go further and use the Hoopl Block representation for native code, which would mean that we could use Hoopl's postorderDfs and analyses for native code, but for now I've left it as is, using the old ListGraph representation for native code. | ||||
| * | Merge branch 'master' of ssh://darcs.haskell.org/srv/darcs/ghc | Iavor S. Diatchki | 2012-11-10 | 130 | -2278/+3133 |
| |\ | |||||
| | * | add note about compilation safety to safe haskell docs | David Terei | 2012-11-09 | 1 | -0/+52 |
| | | | |||||
| | * | Give an error if we can't find a suitable value for PRIdPTR | Ian Lynagh | 2012-11-08 | 1 | -1/+3 |
| | | | |||||
| | * | define own version of PRIdPTR on platform where its not available | Karel Gardas | 2012-11-08 | 1 | -0/+10 |
| | | | | | | | | | | | | | Note that PRIdPTR is considered as linux-ism so it's not available on platforms like Solaris, although some other free Unix(-like) OSes apparently supports it too. | ||||
| | * | Give dynamic libraries, as well as programs, RPATHs | Ian Lynagh | 2012-11-08 | 3 | -15/+26 |
| | | | | | | | | | Based on a patch from markwright in #3072. | ||||
| | * | Add a comment about why we use nextWrapperNum rather than a unique | Ian Lynagh | 2012-11-08 | 1 | -1/+13 |
| | | | |||||
| | * | Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghc | Ian Lynagh | 2012-11-08 | 15 | -105/+155 |
| | |\ | |||||
| | | * | fix typo, courtesy of Jon Cave, thanks! | Gabor Greif | 2012-11-08 | 1 | -1/+1 |
| | | | | |||||
| | | * | another typo | Gabor Greif | 2012-11-07 | 1 | -1/+1 |
| | | | | |||||
| | | * | typos | Gabor Greif | 2012-11-07 | 2 | -2/+2 |
| | | | | |||||
| | | * | Merge branch 'master' of http://darcs.haskell.org/ghc | Simon Peyton Jones | 2012-11-06 | 45 | -1580/+1603 |
| | | |\ | |||||
| | | | * | loadThreadState should set HpAlloc=0 | Simon Marlow | 2012-11-05 | 1 | -1/+7 |
| | | | | | |||||
| | | | * | small optimisation: inline stmNewTVar() | Simon Marlow | 2012-11-05 | 4 | -25/+12 |
| | | | | | |||||
| | | | * | fix 'return' in cmm code when tablesNextToCode==False | Simon Marlow | 2012-11-05 | 2 | -7/+7 |
| | | | | | |||||
| | | | * | Save R1/R2/.. across foreign calls | Simon Marlow | 2012-11-05 | 1 | -6/+15 |
| | | | | | |||||
| | | | * | typo | Gabor Greif | 2012-11-05 | 1 | -1/+1 |
| | | | | | |||||
| | | * | | Refine the "kick-out" predicate for CTyVarEq | Simon Peyton Jones | 2012-11-06 | 1 | -28/+39 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Consider Work item: k ~ * Inert item: (a::k) ~ Int Then we must kick out the inert item! We weren't doing that, something I discovered when fixing Trac #7384. Discussed with Dimitrios, and we wrote a long comment Note [Delicate equality kick-out] to explain. | ||||
| | | * | | Make rewriteCtFlavor lazy in the coercion for Derived evidence | Simon Peyton Jones | 2012-11-06 | 1 | -29/+37 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I think I accidentally introduced this bug a month ago when refactoring. It's a bit non-obvious, but since Derived constraints have no evidence, we mustn't be strict in it. Now there's a big comment to prevent this bug happening again. This fixes Trac #7384. | ||||
| | | * | | Fix the instantiation of data constructors in the GHCi debugger | Simon Peyton Jones | 2012-11-06 | 1 | -5/+34 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This bug caused Trac #7386, because in the (rather tricky) "type inference" (aka run time type reconstruction) done by the GHCi debugger, we were failing to instantiate a data type family correctly. When that code was written we didn't *have* data families. I wrote Note [Constructor arg types] to explain the new scheme. | ||||
| | | * | | Comments only | Simon Peyton Jones | 2012-11-06 | 1 | -1/+1 |
| | | | | | |||||
| | * | | | Remove getModuleDs; we now just use getModule | Ian Lynagh | 2012-11-06 | 7 | -12/+12 |
| | | |/ | |/| | |||||
| | * | | Avoid putting uniqs in specconstr rules; part of #4012 | Ian Lynagh | 2012-11-02 | 1 | -3/+7 |
| | | | | | | | | | | | | | | | | There's no need to have the uniq in the rule, but its presence can cause spurious ABI changes. | ||||
| | * | | Whitespace only in basicTypes/Id.lhs | Ian Lynagh | 2012-11-02 | 1 | -167/+160 |
| | | | | |||||
| | * | | Whitespace only in specialise/SpecConstr.lhs | Ian Lynagh | 2012-11-02 | 1 | -591/+584 |
| | | | | |||||
| | * | | Remove an -fno-cse flag | Ian Lynagh | 2012-11-02 | 1 | -3/+0 |
| | | | | | | | | | | | | | There are no longer any GLOBAL_VARs in main/DriverMkDepend.hs. | ||||
| | * | | Change how dependency generation works; fixes #7381 | Ian Lynagh | 2012-11-02 | 4 | -29/+31 |
| | | | | | | | | | | | | | | | | | | | We now do the initial dependency generation for the vanilla way regardless of what way flags and hisuf/osuf flags are given. This makes it easier to generate the right dependency info in the end. | ||||
| | * | | Remove unused function fmapM_maybe | Ian Lynagh | 2012-11-02 | 1 | -9/+0 |
| | | | | |||||
| | * | | Refactoring: Make a HasModule class for getModule | Ian Lynagh | 2012-11-02 | 13 | -21/+41 |
| | | | | |||||
| | * | | Whitespace only in typecheck/TcRnTypes.lhs | Ian Lynagh | 2012-11-02 | 1 | -388/+381 |
| | | | | |||||
| | * | | Don't use a unique in the stable name of a foreign export | Ian Lynagh | 2012-11-02 | 2 | -16/+28 |
| | | | | | | | | | | | | | | | | | | | These names end up in the ABI, and hence part of the ABI hash. We don't want uniques in them so that we don't get spurious ABI hash changes. | ||||
| | * | | Whitespace only in basicTypes/Name.lhs | Ian Lynagh | 2012-11-02 | 1 | -136/+129 |
| | | | | |||||
| | * | | Don't put uniqs in ghc wrapper function names; part of #4012 | Ian Lynagh | 2012-11-02 | 2 | -8/+23 |
| | | | | | | | | | | | | | | | | | | | The wrapper functions can end up in interface files, and thus are part of the ABI hash. But uniqs easily change for no good reason when recompiling, which can lead to an ABI hash needlessly changing. | ||||
| | * | | Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghc | Ian Lynagh | 2012-11-01 | 12 | -23/+50 |
| | |\ \ | |||||
| | | * | | Fix bug in stg_enter_checkbh | Simon Marlow | 2012-11-01 | 1 | -1/+5 |
| | | | | | | | | | | | | | | | | | | | | | This was causing crashes in stm050(ghci), throwto001(ghci), and possibly more. | ||||
| | | * | | The shape of StgTVar should not depend on THREADED_RTS | Simon Marlow | 2012-11-01 | 1 | -2/+0 |
| | | | | | | | | | | | | | | | | | | | | | By shear luck I think this didn't lead to any actual runtime crashes, but it did cause some problems for debugging. | ||||
| | | * | | Add -fghci-hist-size=N to set the number of previous steps stored by :trace | Simon Marlow | 2012-11-01 | 4 | -10/+25 |
| | | | | | |||||
| | | * | | Turn on -O2 for the RTS by default | Simon Marlow | 2012-11-01 | 1 | -3/+5 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Optimisation now makes a difference when compiling .cmm code, because it enables the optimisation passes in CmmPipeline. Recently validate has not been optimising the .cmm code because it uses SRC_HC_OPTS=-O0, which explains why I couldn't reproduce #7366 in validate (the bug miscompiled rts/PrimOps.cmm). | ||||
| | | * | | turn off cmm optimisation for the debug way | Simon Marlow | 2012-11-01 | 1 | -1/+1 |
| | | | | | |||||
| | | * | | Fix bug in stg_ctoi_R1n (could cause GHCi crashes) | Simon Marlow | 2012-11-01 | 1 | -1/+1 |
| | | | | | |||||
| | | * | | A couple of W_s should be P_s (not an actual bug, I think) | Simon Marlow | 2012-11-01 | 1 | -2/+2 |
| | | | | | |||||
| | | * | | Don't clearNurseries() in parallel with -debug | Simon Marlow | 2012-11-01 | 2 | -3/+11 |
| | | |/ | | | | | | | | | | It makes sanity-checking fail. | ||||
| | * | | Fix popcnt calls | Ian Lynagh | 2012-11-01 | 1 | -10/+5 |
| | | | | | | | | | | | | | | | | We don't want to narrow the argument size before making the foreign call: Word8 still gets passed as a Word-sized argument | ||||
| | * | | Whitespace only in codeGen/StgCmmPrim.hs | Ian Lynagh | 2012-11-01 | 1 | -90/+83 |
| | | | | |||||
| | * | | Fix typos | Ian Lynagh | 2012-11-01 | 3 | -4/+4 |
| | | | | |||||
| | * | | Whitespace only in nativeGen/NCGMonad.hs | Ian Lynagh | 2012-11-01 | 1 | -71/+64 |
| | |/ | |||||
| | * | Add notes about type-family overlap in GHCi (see Trac #7102) | Simon Peyton Jones | 2012-10-31 | 2 | -1/+6 |
| | | | |||||
| | * | Merge branch 'master' of darcs.haskell.org:/home/darcs/ghc | Simon Peyton Jones | 2012-10-31 | 3 | -12/+13 |
| | |\ | |||||
| | | * | Fix C macro bug that was causing some stack checks to erroneously succeed | Simon Marlow | 2012-10-31 | 1 | -8/+8 |
| | | | | |||||
| | | * | Retainer prof: immutable arrays are not retainers, and fix the docs | Simon Marlow | 2012-10-31 | 2 | -4/+5 |
| | | | | |||||
