Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | fix warning | Simon Marlow | 2009-07-28 | 1 | -1/+0 | |
| | ||||||
* | Remove old 'foreign import dotnet' code | Simon Marlow | 2009-07-27 | 3 | -7/+0 | |
| | | | | It still lives in darcs, if anyone wants to revive it sometime. | |||||
* | Remove GHC's haskell98 dependency | Ian Lynagh | 2009-07-24 | 5 | -5/+5 | |
| | ||||||
* | Remove unused imports | Ian Lynagh | 2009-07-07 | 13 | -15/+0 | |
| | ||||||
* | Trim unused imports detected by new unused-import code | simonpj@microsoft.com | 2009-07-06 | 1 | -1/+0 | |
| | ||||||
* | Support for -fwarn-unused-do-bind and -fwarn-wrong-do-bind, as per #3263 | Max Bolingbroke | 2009-07-01 | 8 | -16/+19 | |
| | ||||||
* | Add missing StgPrimCallOp case to isSimpleOp | Ian Lynagh | 2009-06-11 | 1 | -0/+1 | |
| | ||||||
* | Add PrimCall to the STG layer and update Core -> STG translation | Duncan Coutts | 2009-06-09 | 3 | -2/+19 | |
| | | | | | | | | | | It adds a third case to StgOp which already hold StgPrimOp and StgFCallOp. The code generation for the new StgPrimCallOp case is almost exactly the same as for out-of-line primops. They now share the tailCallPrim function. In the Core -> STG translation we map foreign calls using the "prim" calling convention to the StgPrimCallOp case. This is because in Core we represent prim calls using the ForeignCall stuff. At the STG level however the prim calls are really much more like primops than foreign calls. | |||||
* | Fix #3132: a case of bogus code generation | Simon Marlow | 2009-06-18 | 1 | -2/+28 | |
| | ||||||
* | Remove old GUM/GranSim code | Simon Marlow | 2009-06-02 | 1 | -5/+1 | |
| | ||||||
* | Make some showSDoc's use OneLineMode rather than PageMode | Ian Lynagh | 2009-03-31 | 1 | -2/+2 | |
| | ||||||
* | Debugging by Sesame Street: | dias@eecs.tufts.edu | 2009-04-03 | 1 | -1/+1 | |
| | | | | | | | | | | | | | | | | One of these things is not like the others: stdPattern :: [LRep] -> Maybe StgHalfWord stdPattern reps = case reps of [] -> Just ARG_NONE -- just void args, probably [N] -> Just ARG_N [P] -> Just ARG_N [F] -> Just ARG_F [D] -> Just ARG_D [L] -> Just ARG_L Today's debugging session was brought to you by the letter P. | |||||
* | Better handling of node parameter in calling conventions | dias@eecs.tufts.edu | 2009-03-25 | 1 | -3/+7 | |
| | | | | | | - Previously, the node was taken as a parameter, then ignored, for static closures. Goofy. Now, the vestigial node parameters are gone. | |||||
* | When calling gc, avoid saving node in static closures | dias@eecs.tufts.edu | 2009-03-23 | 2 | -4/+5 | |
| | ||||||
* | Code simplifications due to call/return separation; some improvements to how ↵ | dias@eecs.tufts.edu | 2009-03-23 | 2 | -22/+22 | |
| | | | | node argument is managed | |||||
* | Calls with and without passing node arguments more clearly separated | dias@eecs.tufts.edu | 2009-03-23 | 3 | -6/+6 | |
| | ||||||
* | Another small step: call and return conventions specified separately when ↵ | dias@eecs.tufts.edu | 2009-03-23 | 5 | -13/+14 | |
| | | | | making calls | |||||
* | Small step toward call-conv improvement: separate out calls and returns | dias@eecs.tufts.edu | 2009-03-23 | 5 | -6/+6 | |
| | ||||||
* | Removed a trace | dias@eecs.tufts.edu | 2009-03-18 | 1 | -1/+1 | |
| | ||||||
* | Calling convention bug and cleanup | dias@eecs.tufts.edu | 2009-03-17 | 4 | -5/+3 | |
| | | | | | - yet another wrong calling convention; this one was a special case for returning one value. | |||||
* | Inconsistent type and arguments in safe foreign calls... | dias@eecs.tufts.edu | 2009-03-16 | 1 | -15/+15 | |
| | | | | | - The function argument was stripped from the argument list but not from the type. Now they're both stripped. | |||||
* | Fixes to "Retract Hp *before* checking for HpLim==0" | Simon Marlow | 2009-03-18 | 1 | -2/+7 | |
| | ||||||
* | FIX biographical profiling (#3039, probably #2297) | Simon Marlow | 2009-03-17 | 3 | -4/+21 | |
| | | | | | | | | | Since we introduced pointer tagging, we no longer always enter a closure to evaluate it. However, the biographical profiler relies on closures being entered in order to mark them as "used", so we were getting spurious amounts of data attributed to VOID. It turns out there are various places that need to be fixed, and I think at least one of them was also wrong before pointer tagging (CgCon.cgReturnDataCon). | |||||
* | A few bug fixes; some improvements spurred by paper writing | dias@eecs.harvard.edu | 2009-03-03 | 6 | -35/+47 | |
| | | | | | | | | | | | | Among others: - Fixed Stg->C-- translation of let-no-escapes -- it's important to use the right continuation... - Fixed infinite recursion in X86 backend (shortcutJump mishandled infinite loops) - Fixed yet another wrong calling convention -- primops take args only in vanilla regs, but they may return results on the stack! - Removed StackInfo from LGraph and Block -- now in LastCall and CmmZ - Updated avail-variable and liveness code | |||||
* | Fix the build on amd64/Linux | Ian Lynagh | 2009-02-06 | 3 | -2/+2 | |
| | ||||||
* | When generating C, don't pretend functions are data | Ian Lynagh | 2009-02-06 | 6 | -6/+10 | |
| | | | | | | | | | | | | | | | We used to generated things like: extern StgWordArray (newCAF) __attribute__((aligned (8))); ((void (*)(void *))(W_)&newCAF)((void *)R1.w); (which is to say, pretend that newCAF is some data, then cast it to a function and call it). This goes wrong on at least IA64, where: A function pointer on the ia64 does not point to the first byte of code. Intsead, it points to a structure that describes the function. The first quadword in the structure is the address of the first byte of code so we end up dereferencing function pointers one time too many, and segfaulting. | |||||
* | Remove a redundant import | Ian Lynagh | 2009-01-14 | 1 | -1/+0 | |
| | ||||||
* | Make the ASSERT more informative | simonpj@microsoft.com | 2009-01-13 | 1 | -1/+1 | |
| | ||||||
* | Fix warnings in StgCmmForeign | Ian Lynagh | 2008-12-29 | 1 | -10/+11 | |
| | ||||||
* | Fix warnings in CgCallConv | Ian Lynagh | 2008-12-29 | 1 | -10/+11 | |
| | ||||||
* | Fix warnings in SMRep | Ian Lynagh | 2008-12-29 | 1 | -17/+15 | |
| | ||||||
* | Fix warnings in ClosureInfo | Ian Lynagh | 2008-12-29 | 1 | -34/+43 | |
| | ||||||
* | Fix warnings in CgTicky | Ian Lynagh | 2008-12-29 | 1 | -15/+18 | |
| | ||||||
* | Fix warnings in CgCon | Ian Lynagh | 2008-12-29 | 1 | -11/+4 | |
| | ||||||
* | Use DynFlags to work out if we are doing ticky ticky profiling | Ian Lynagh | 2008-12-18 | 8 | -44/+55 | |
| | | | | We used to use StaticFlags | |||||
* | Fix warnings in CgExpr | Ian Lynagh | 2008-12-17 | 1 | -16/+24 | |
| | ||||||
* | Fix warnings in CgBindery | Ian Lynagh | 2008-12-17 | 1 | -13/+28 | |
| | ||||||
* | Fix warnings in CgStackery | Ian Lynagh | 2008-12-17 | 1 | -9/+1 | |
| | ||||||
* | Fix warnings in CgCase | Ian Lynagh | 2008-12-17 | 1 | -24/+24 | |
| | ||||||
* | Remove some dead code from CgCase | Ian Lynagh | 2008-12-17 | 1 | -1/+0 | |
| | ||||||
* | Fix warnings in StgCmmProf | Ian Lynagh | 2008-12-17 | 1 | -13/+21 | |
| | ||||||
* | Fix warnings in CgProf | Ian Lynagh | 2008-12-17 | 1 | -15/+21 | |
| | ||||||
* | Fix warnings in CgInfoTbls | Ian Lynagh | 2008-12-17 | 1 | -13/+3 | |
| | ||||||
* | Remove dead function srtLabelAndLength from CgInfoTbls | Ian Lynagh | 2008-12-17 | 1 | -12/+0 | |
| | ||||||
* | Fix warnings in CgHeapery | Ian Lynagh | 2008-12-17 | 1 | -11/+7 | |
| | ||||||
* | Fix warnings in CgTailCall | Ian Lynagh | 2008-12-17 | 1 | -13/+7 | |
| | ||||||
* | Remove a little dead code from CgTailCall | Ian Lynagh | 2008-12-17 | 1 | -1/+0 | |
| | ||||||
* | Fix warnings in CodeGen | Ian Lynagh | 2008-12-17 | 1 | -11/+2 | |
| | ||||||
* | Fix warnings in StgCmmTicky | Ian Lynagh | 2008-12-17 | 1 | -11/+20 | |
| | ||||||
* | Remove dead code from CgUtils | Ian Lynagh | 2008-12-17 | 1 | -1/+0 | |
| |