| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Partially fix #367 by adding HpLim checks to entry with -fno-omit-yields. | Edward Z. Yang | 2012-09-26 | 2 | -23/+38 |
| | | | | | | | | | | | | | | | | | | | | | | The current fix is relatively dumb as far as where to add HpLim checks: it will always perform a check unless we know that we're returning from a closure or we are doing a non let-no-escape case analysis. The performance impact on the nofib suite looks like this: Min +5.7% -0.0% -6.5% -6.4% -50.0% Max +6.3% +5.8% +5.0% +5.5% +0.8% Geometric Mean +6.2% +0.1% +0.5% +0.5% -0.8% Overall, the executable bloat is the biggest problem, so we keep the old omit-yields optimization on by default. Remember that if you need an interruptibility guarantee, you need to recompile all of your libraries with -fno-omit-yields. A better fix would involve only inserting the yields necessary to break loops; this is left as future work. Signed-off-by: Edward Z. Yang <ezyang@mit.edu> | ||||
| * | Remove some old-codegen cruft | Simon Marlow | 2012-09-25 | 2 | -238/+4 |
| | | |||||
| * | Misc tidyup | Simon Marlow | 2012-09-24 | 1 | -6/+1 |
| | | |||||
| * | non-tablesNextToCode fix for returns in the new codegen | Simon Marlow | 2012-09-20 | 1 | -1/+3 |
| | | |||||
| * | Change some "else return ()"s to use when/unless | Ian Lynagh | 2012-09-20 | 2 | -3/+3 |
| | | |||||
| * | Add the necessary REP_* constants to platformConstants | Ian Lynagh | 2012-09-19 | 4 | -19/+8 |
| | | |||||
| * | Remove redundant #includes | Ian Lynagh | 2012-09-19 | 2 | -4/+0 |
| | | |||||
| * | Add some LDV_* constants to platformConstants | Ian Lynagh | 2012-09-19 | 2 | -28/+8 |
| | | |||||
| * | Remove a little more CPP | Ian Lynagh | 2012-09-18 | 3 | -5/+5 |
| | | |||||
| * | Make StgWord a portable type too | Ian Lynagh | 2012-09-18 | 8 | -40/+38 |
| | | | | | | StgWord is a newtyped Word64, as it needed to be something that has a UArray instance. | ||||
| * | Make StgHalfWord a portable type | Ian Lynagh | 2012-09-18 | 6 | -56/+60 |
| | | | | | | It's now a newtyped Integer. Perhaps a newtyped Word32 would make more sense, though. | ||||
| * | Remove some CPP | Ian Lynagh | 2012-09-17 | 4 | -12/+15 |
| | | |||||
| * | Move tAG_BITS into platformConstants | Ian Lynagh | 2012-09-16 | 15 | -110/+116 |
| | | |||||
| * | Move more constants to platformConstants | Ian Lynagh | 2012-09-16 | 2 | -5/+5 |
| | | |||||
| * | Move wORD_SIZE into platformConstants | Ian Lynagh | 2012-09-16 | 20 | -171/+177 |
| | | |||||
| * | Move wORD_SIZE_IN_BITS to DynFlags | Ian Lynagh | 2012-09-14 | 2 | -4/+4 |
| | | | | | This frees wORD_SIZE up to be moved out of HaskellConstants | ||||
| * | Move some more constants into platformConstants | Ian Lynagh | 2012-09-14 | 2 | -2/+2 |
| | | |||||
| * | Move more constants to platformConstants | Ian Lynagh | 2012-09-14 | 3 | -14/+12 |
| | | |||||
| * | Move more constants into platformConstants | Ian Lynagh | 2012-09-14 | 3 | -35/+40 |
| | | |||||
| * | Move some more constants fo platformConstants | Ian Lynagh | 2012-09-14 | 4 | -17/+15 |
| | | |||||
| * | Start moving other constants from (Haskell)Constants to platformConstants | Ian Lynagh | 2012-09-14 | 2 | -5/+4 |
| | | |||||
| * | Use oFFSET_* from platformConstants rather than Constants | Ian Lynagh | 2012-09-13 | 12 | -119/+124 |
| | | |||||
| * | Use sIZEOF_* from platformConstants rather than Constants | Ian Lynagh | 2012-09-13 | 6 | -6/+6 |
| | | |||||
| * | Pass DynFlags down to wordWidth | Ian Lynagh | 2012-09-12 | 20 | -754/+779 |
| | | |||||
| * | Pass DynFlags down to gcWord | Ian Lynagh | 2012-09-12 | 7 | -12/+13 |
| | | |||||
| * | Pass DynFlags down to bWord | Ian Lynagh | 2012-09-12 | 30 | -939/+993 |
| | | | | | | | I've switched to passing DynFlags rather than Platform, as (a) it's simpler to not have to extract targetPlatform in so many places, and (b) it may be useful to have DynFlags around in future. | ||||
| * | Whitespace only in codeGen/CgProf.hs | Ian Lynagh | 2012-09-11 | 1 | -50/+43 |
| | | |||||
| * | Pass Platform down to halfWordMask | Ian Lynagh | 2012-09-10 | 2 | -4/+4 |
| | | |||||
| * | Pass Platform down to halfWordWidth | Ian Lynagh | 2012-09-10 | 4 | -36/+48 |
| | | | | | We don't actually use it yet | ||||
| * | A further fix for -split-objs with the new codegen | Simon Marlow | 2012-09-05 | 1 | -1/+4 |
| | | |||||
| * | Fix -split-objs with the new code generator | Simon Marlow | 2012-09-04 | 3 | -28/+6 |
| | | | | | | | We need to make the SRT label external and unique when splitting, because it is shared amongst all the functions in the module. Also some SRT-related cleanup. | ||||
| * | Narrow the args of the popCnt# primitives (new codegen) | Simon Marlow | 2012-09-04 | 1 | -5/+10 |
| | | | | | (this change was previously done in the old codegen only) | ||||
| * | Make -fhpc a dynamic flag | Ian Lynagh | 2012-09-03 | 2 | -9/+9 |
| | | |||||
| * | Remove doingTickyProfiling | Ian Lynagh | 2012-09-03 | 4 | -6/+6 |
| | | | | | It's now just 'dopt Opt_Ticky' | ||||
| * | Narrow the arg of popCnt# to the correct width | Simon Marlow | 2012-08-31 | 1 | -6/+15 |
| | | | | | | | | Fixes cgrun071 on recent Mac OS X versions. This is the right fix at least until we have proper types for Word8#, Word16# etc. | ||||
| * | Cleanup: add mkIntExpr and zeroExpr utils | Simon Marlow | 2012-08-31 | 12 | -54/+53 |
| | | |||||
| * | Fix fencepost and byte/word bugs in cloneArray/copyArray (#7185) | Simon Marlow | 2012-08-31 | 2 | -26/+43 |
| | | |||||
| * | Move more code into codeGen/CodeGen/Platform.hs | Ian Lynagh | 2012-08-28 | 8 | -15/+39 |
| | | | | | | | | | HaskellMachRegs.h is no longer included in anything under compiler/ Also, includes/CodeGen.Platform.hs now includes "stg/MachRegs.h" rather than <stg/MachRegs.h> which means that we always get the file from the tree, rather than from the bootstrapping compiler. | ||||
| * | Fix callerSaves, activeStgRegs, haveRegBase when unregisterised | Simon Marlow | 2012-08-28 | 1 | -0/+6 |
| | | |||||
| * | StgCmmUtils no longer needs to include HaskellMachRegs.h | Ian Lynagh | 2012-08-21 | 1 | -1/+0 |
| | | |||||
| * | Use haveRegBase in StgCmmUtils too | Ian Lynagh | 2012-08-21 | 1 | -13/+13 |
| | | |||||
| * | Whitespace only in StgCmmUtils | Ian Lynagh | 2012-08-21 | 1 | -200/+194 |
| | | |||||
| * | CgUtils no longer needs to #include HaskellMachRegs.h | Ian Lynagh | 2012-08-21 | 1 | -1/+0 |
| | | |||||
| * | Add haveRegBase to CodeGen.Platform | Ian Lynagh | 2012-08-21 | 2 | -16/+31 |
| | | |||||
| * | Move activeStgRegs into CodeGen.Platform | Ian Lynagh | 2012-08-21 | 11 | -118/+74 |
| | | |||||
| * | Fix the generation of CallerSaves; fixes #7163 | Ian Lynagh | 2012-08-21 | 11 | -53/+97 |
| | | | | | | | | | | Simon Marlow spotted that we were #include'ing MachRegs.h several times, but that doesn't work as (a) it uses ifdeffery to avoid being included multiple times, and (b) even if we work around that, then the #define's from previous inclusions are still defined when we #include it again. So we now put the platform code for each platform in a separate .hs file. | ||||
| * | remove tabs | Simon Marlow | 2012-08-21 | 1 | -93/+86 |
| | | |||||
| * | remove tabs | Simon Marlow | 2012-08-21 | 1 | -124/+117 |
| | | |||||
| * | remove tabs | Simon Marlow | 2012-08-21 | 1 | -52/+45 |
| | | |||||
| * | Remove uses of fixC from the codeGen, and make the FCode monad strict | Simon Marlow | 2012-08-09 | 6 | -204/+222 |
| | | |||||
