| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Remove CPP from cmm/CmmParse.y | Ian Lynagh | 2012-08-28 | 1 | -6/+8 |
| | | |||||
| * | Whitespace only in cmm/CmmParse.y | Ian Lynagh | 2012-08-28 | 1 | -541/+541 |
| | | |||||
| * | Avoid the quadratic append trap in flattenCmmAGraph | Simon Marlow | 2012-08-21 | 1 | -48/+59 |
| | | | | | Fixes a perf problem in perf/compiler/T783 | ||||
| * | Only run the second round of control-flow optimisations when -O is on | Simon Marlow | 2012-08-09 | 1 | -2/+11 |
| | | |||||
| * | a couple of small optimisations | Simon Marlow | 2012-08-09 | 1 | -7/+6 |
| | | |||||
| * | maybeInvertComparison: remove floating-point comparisons | Simon Marlow | 2012-08-07 | 1 | -6/+0 |
| | | | | | See comments. | ||||
| * | Eliminate "r = r" in mkAssign | Simon Marlow | 2012-08-07 | 1 | -0/+1 |
| | | |||||
| * | Node calling convs should use R1 even if it isn't a register | Simon Marlow | 2012-08-07 | 1 | -28/+20 |
| | | |||||
| * | Add missing cases in hand-coded instance Eq GlobalReg | Simon Marlow | 2012-08-07 | 1 | -0/+2 |
| | | | | | aargh. | ||||
| * | Make lint check for undefined variables in Cmm | Simon Marlow | 2012-08-07 | 1 | -1/+5 |
| | | |||||
| * | small cleanup | Simon Marlow | 2012-08-07 | 1 | -5/+2 |
| | | |||||
| * | Define callerSaves for all platforms | Ian Lynagh | 2012-08-07 | 4 | -45/+54 |
| | | | | | | | | | This means that we now generate the same code whatever platform we are on, which should help avoid changes on one platform breaking the build on another. It's also another step towards full cross-compilation. | ||||
| * | Add "Unregisterised" as a field in the settings file | Ian Lynagh | 2012-08-07 | 3 | -71/+90 |
| | | | | | | | To explicitly choose whether you want an unregisterised build you now need to use the "--enable-unregisterised"/"--disable-unregisterised" configure flags. | ||||
| * | Make tablesNextToCode "dynamic" | Ian Lynagh | 2012-08-06 | 4 | -24/+22 |
| | | | | | | This is a bit odd by itself, but it's a stepping stone on the way to putting "target unregisterised" into the settings file. | ||||
| * | fix warning | Simon Marlow | 2012-08-06 | 1 | -2/+2 |
| | | |||||
| * | comment | Simon Marlow | 2012-08-06 | 1 | -0/+5 |
| | | |||||
| * | MO_F_Mul and MO_F_Add are commutative | Simon Marlow | 2012-08-06 | 1 | -0/+2 |
| | | |||||
| * | Fix two bugs in the sinker. | Simon Marlow | 2012-08-06 | 1 | -11/+69 |
| | | | | | | The new code generator now apparently generates a working stage2 compiler. | ||||
| * | Continue by jumping to the top-of-stack after a safe foreign call | Simon Marlow | 2012-08-06 | 1 | -5/+7 |
| | | |||||
| * | Foreign calls may clobber caller-saves registers | Simon Marlow | 2012-08-06 | 2 | -12/+49 |
| | | | | | See Note [foreign calls clobber GlobalRegs] | ||||
| * | finish a comment | Simon Marlow | 2012-08-06 | 1 | -2/+3 |
| | | |||||
| * | comments and refactoring | Simon Marlow | 2012-08-02 | 1 | -31/+50 |
| | | |||||
| * | fix a bug in the inliner | Simon Marlow | 2012-08-02 | 1 | -9/+13 |
| | | |||||
| * | Eliminate "r = r" assignments. | Simon Marlow | 2012-08-02 | 1 | -0/+5 |
| | | | | | | Previously these were caught by removeDeadAssignments, but we aren't doing that now. | ||||
| * | No need to do removeDeadAssignments, just do cmmLiveness instead | Simon Marlow | 2012-08-02 | 1 | -1/+7 |
| | | |||||
| * | Improve accuracy of memory conflict tracking | Simon Marlow | 2012-08-02 | 1 | -49/+83 |
| | | | | | | | We now track stack regions, so that we can float a stack load past a stack store if they don't conflict. Also, we now use the CmmType to more accurately identify heap addresses. | ||||
| * | Inline into the last node | Simon Marlow | 2012-08-02 | 1 | -60/+132 |
| | | | | | Also lots of refactoring and tidyup | ||||
| * | Code reformatting | Simon Marlow | 2012-08-02 | 1 | -28/+33 |
| | | |||||
| * | add a sinking pass before stack layout (currently disabled) | Simon Marlow | 2012-08-02 | 1 | -1/+8 |
| | | |||||
| * | Don't shortcut call-returns when not splitting proc points | Simon Marlow | 2012-08-02 | 2 | -12/+51 |
| | | | | | See Note [shortcut call returns] | ||||
| * | Explicitly share some return continuations | Simon Marlow | 2012-08-02 | 2 | -7/+28 |
| | | | | | | | | Instead of relying on common-block-elimination to share return continuations in the common case (case-alternative heap checks) we do it explicitly. This isn't hard to do, is more robust, and saves some compilation time. Full commentary in Note [sharing continuations]. | ||||
| * | fix haddock parse error | Simon Marlow | 2012-07-30 | 1 | -1/+1 |
| | | |||||
| * | fix warnings | Simon Marlow | 2012-07-30 | 3 | -2/+3 |
| | | |||||
| * | bug fix for control-flow optimisation | Simon Marlow | 2012-07-30 | 1 | -1/+6 |
| | | |||||
| * | bug fixes for the sinker | Simon Marlow | 2012-07-30 | 1 | -37/+76 |
| | | |||||
| * | no need to removeUnreachableBlocks | Simon Marlow | 2012-07-30 | 1 | -2/+2 |
| | | | | | We do this in lots of other places (blockConcat, CmmLayoutStack, etc.) | ||||
| * | optimise away some unnecessary stack checks | Simon Marlow | 2012-07-30 | 1 | -1/+19 |
| | | |||||
| * | New codegen: do not split proc-points when using the NCG | Simon Marlow | 2012-07-30 | 14 | -154/+261 |
| | | | | | | | | | | Proc-point splitting is only required by backends that do not support having proc-points within a code block (that is, everything except the native backend, i.e. LLVM and C). Not doing proc-point splitting saves some compilation time, and might produce slightly better code in some cases. | ||||
| * | Merge sinking and inlining to get better results. | Simon Marlow | 2012-07-30 | 1 | -79/+69 |
| | | |||||
| * | Fixes for the stack layout algorithm to handle join points | Simon Marlow | 2012-07-30 | 1 | -38/+51 |
| | | |||||
| * | Make -fscc-profiling a dynamic flag | Ian Lynagh | 2012-07-24 | 5 | -87/+103 |
| | | | | | All the flags that 'ways' imply are now dynamic | ||||
| * | Fix whitespace only in cmm/SMRep.lhs | Ian Lynagh | 2012-07-24 | 1 | -43/+36 |
| | | |||||
| * | GHC 7.4 is now required for building HEAD | Ian Lynagh | 2012-07-20 | 10 | -43/+0 |
| | | |||||
| * | Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghc | Ian Lynagh | 2012-07-19 | 5 | -225/+420 |
| |\ | |||||
| | * | fix warnings | Simon Marlow | 2012-07-17 | 1 | -1/+2 |
| | | | |||||
| | * | Refactor and simplify the SRT handling | Simon Marlow | 2012-07-17 | 2 | -134/+96 |
| | | | |||||
| | * | tidy up pretty-printing of CmmCall | Simon Marlow | 2012-07-17 | 1 | -4/+9 |
| | | | |||||
| | * | Move sinking into a separate module, and add a simple inlining pass | Simon Marlow | 2012-07-17 | 3 | -87/+277 |
| | | | |||||
| | * | Add a comment about how SRTs work | Simon Marlow | 2012-07-17 | 1 | -0/+38 |
| | | | |||||
| | * | no need to export cafTransfers | Simon Marlow | 2012-07-17 | 1 | -2/+1 |
| | | | |||||
