patch applied (ghc): Following Simon M's "take newCAF() out from sm_mutex" patch

2010-01-05 Thread John Dias
Tue Jan 5 13:15:43 PST 2010 d...@cs.tufts.edu * Following Simon M's "take newCAF() out from sm_mutex" patch Ignore-this: 9a94ac919479160167724f717813532c M ./compiler/codeGen/StgCmmBind.hs -1 +4 View patch online: http://darcs.haskell.org/ghc/_darcs/patches/20100105211543-a3835-a70b2714

patch applied (ghc): Copying Simon M's fix for 650 to the new codegen

2009-12-22 Thread John Dias
Tue Dec 22 14:20:17 PST 2009 d...@cs.tufts.edu * Copying Simon M's fix for 650 to the new codegen Ignore-this: 4bd46e6ef23debc39c7c10aea3dfdf5c M ./compiler/codeGen/StgCmmPrim.hs -2 +15 View patch online: http://darcs.haskell.org/ghc/_darcs/patches/2009122017-a3835-3ab0f9be05e1f8f8b5

patch applied (ghc): Better error checking and code cleanup

2009-12-22 Thread John Dias
Tue Dec 22 14:19:46 PST 2009 d...@cs.tufts.edu * Better error checking and code cleanup Ignore-this: 16e89f4115cb392ebbb0899c081157ed M ./compiler/codeGen/StgCmmExpr.hs -6 +5 View patch online: http://darcs.haskell.org/ghc/_darcs/patches/2009121946-a3835-dad48f46fc1e34eb0df311c9cc222

patch applied (ghc): unused named variables

2009-12-18 Thread John Dias
Fri Dec 18 11:54:30 PST 2009 d...@cs.tufts.edu * unused named variables Ignore-this: c2d56a21a039bb73023c54883a8c1fa3 M ./compiler/codeGen/StgCmmExpr.hs -2 +2 View patch online: http://darcs.haskell.org/ghc/_darcs/patches/20091218195430-a3835-5bc554cd4133d75a443839b04ebf019af5a1d60d.gz

patch applied (ghc): missed a case in a previous fix

2009-12-18 Thread John Dias
Thu Dec 17 13:04:43 PST 2009 d...@cs.tufts.edu * missed a case in a previous fix Ignore-this: ff40b8516a3de3fc36a55534620e4f50 Here's the obscure problem: -- However, we also want to allow an assignment to be generated -- in the case when the types are compatible, because this allows

patch applied (ghc): Loop problems in native back ends, update to T3286 fix

2009-11-11 Thread John Dias
Thu Nov 5 07:15:32 PST 2009 d...@cs.tufts.edu * Loop problems in native back ends, update to T3286 fix Ignore-this: a4ebb8962d63656601045435b6ab6038 The native back ends had difficulties with loops; in particular the code for branch-chain elimination could run in infinite loops or drop

patch applied (ghc): Morguing dead code

2009-11-11 Thread John Dias
Fri Sep 18 12:29:32 PDT 2009 d...@cs.tufts.edu * Morguing dead code Ignore-this: 661e8423d4ffbf2befa8fe32be281dda M ./compiler/cmm/CmmCallConv.hs -85 +8 View patch online: http://darcs.haskell.org/ghc/_darcs/patches/20090918192932-a3835-638e9087df01630b2305dbeb097c4f810d23190f.gz __

patch applied (ghc): More sensible use of -fnew-codegen and less debugging output

2009-11-11 Thread John Dias
Fri Sep 18 12:16:26 PDT 2009 d...@cs.tufts.edu * More sensible use of -fnew-codegen and less debugging output Ignore-this: 9804daca9eb21668dc0217a6aadece6e M ./compiler/cmm/CmmBuildInfoTables.hs -3 +6 M ./compiler/cmm/CmmCPSZ.hs -13 +10 M ./compiler/cmm/CmmSpillReload.hs -1 +1

patch applied (ghc): Minor refactoring and formatting

2009-11-11 Thread John Dias
Fri Sep 18 12:14:17 PDT 2009 d...@cs.tufts.edu * Minor refactoring and formatting Ignore-this: 8ab597089c496248cff3db7867ff7525 Wrote a generic function to extend dataflow results for safe foreign calls. Should be able to throw it away when we change the representation of safe foreign cal

patch applied (ghc): Keep Touch'd variables live through the back end

2009-11-11 Thread John Dias
Fri Sep 18 12:07:53 PDT 2009 d...@cs.tufts.edu * Keep Touch'd variables live through the back end Ignore-this: 2abe470d7c80b38441e1c25b3d081c6f When we used derived pointers into the middle of an object, we need to keep the pointer to the start of the object live. We use a "fat machine i

patch applied (ghc): Fixed calling convention for unboxed tuples

2009-11-11 Thread John Dias
Fri Sep 18 11:34:15 PDT 2009 d...@cs.tufts.edu * Fixed calling convention for unboxed tuples Ignore-this: 773d04134e0c05b1c7b26e100ca566a3 Apparently, the arguments should be sorted by pointerhood. While we're at it, I rewrote the code that assigns registers and stack space to function c

patch applied (ghc): Fix for T3286 in new codegen (related to T3132); plus formatting

2009-11-11 Thread John Dias
Fri Sep 18 11:31:22 PDT 2009 d...@cs.tufts.edu * Fix for T3286 in new codegen (related to T3132); plus formatting Ignore-this: c23b1aed37be610552a7dba6d32cd923 If the scrutinee is bottom, the generated Cmm code could have a type error when the case arm expected an unboxed floating-point

Re: patch applied (ghc): Better handling of node parameter in calling conventions

2009-04-27 Thread John Dias
* Better handling of node parameter in calling conventions - Previously, the node was taken as a parameter, then ignored, for static closures. Goofy. Now, the vestigial node parameters are gone. I presume for a top-level function you still reserve R1, even though nothing is passed

patch applied (ghc): eliminate warnings

2009-04-03 Thread John Dias
Fri Apr 3 13:34:29 PDT 2009 d...@eecs.tufts.edu * eliminate warnings M ./compiler/cmm/CmmCallConv.hs -1 +1 M ./compiler/cmm/MkZipCfgCmm.hs -1 View patch online: http://darcs.haskell.org/ghc/_darcs/patches/20090403203429-38771-bdc2537e3c047e5d18f3476178c8e6662efd6a2f.gz __

patch applied (ghc): Debugging by Sesame Street:

2009-04-03 Thread John Dias
Fri Apr 3 13:15:04 PDT 2009 d...@eecs.tufts.edu * Debugging by Sesame Street: 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

patch applied (ghc): Buggy optimizations caused function-call return to share the function's entry point

2009-04-03 Thread John Dias
Tue Mar 31 07:46:39 PDT 2009 d...@eecs.tufts.edu * Buggy optimizations caused function-call return to share the function's entry point - Block concat and branch-chain elimination were allowing a function call to return to the caller's entry point. But that doesn't leave anywhere for t

patch applied (ghc): Better handling of node parameter in calling conventions

2009-04-03 Thread John Dias
Wed Mar 25 09:38:15 PDT 2009 d...@eecs.tufts.edu * Better handling of node parameter in calling conventions - Previously, the node was taken as a parameter, then ignored, for static closures. Goofy. Now, the vestigial node parameters are gone. M ./compiler/cmm/CmmCallConv.hs -4

patch applied (ghc): When calling gc, avoid saving node in static closures

2009-04-03 Thread John Dias
Mon Mar 23 13:47:44 PDT 2009 d...@eecs.tufts.edu * When calling gc, avoid saving node in static closures M ./compiler/codeGen/StgCmmBind.hs -2 +2 M ./compiler/codeGen/StgCmmHeap.hs -2 +3 View patch online: http://darcs.haskell.org/ghc/_darcs/patches/20090323204744-38771-38d26a8cee53039

patch applied (ghc): Code simplifications due to call/return separation; some improvements to how node argument is managed

2009-04-03 Thread John Dias
Mon Mar 23 13:11:40 PDT 2009 d...@eecs.tufts.edu * Code simplifications due to call/return separation; some improvements to how node argument is managed M ./compiler/cmm/CmmCallConv.hs -34 +2 M ./compiler/cmm/CmmProcPointZ.hs -3 +2 M ./compiler/cmm/MkZipCfgCmm.hs -9 +9 M ./comp

patch applied (ghc): Code simplification due to separate call/return conventions

2009-04-03 Thread John Dias
Mon Mar 23 11:22:14 PDT 2009 d...@eecs.tufts.edu * Code simplification due to separate call/return conventions M ./compiler/cmm/CmmCallConv.hs -18 +30 M ./compiler/cmm/MkZipCfgCmm.hs -6 +5 M ./compiler/cmm/ZipCfgCmmRep.hs -6 +6 View patch online: http://darcs.haskell.org/ghc/_darcs

patch applied (ghc): Calls with and without passing node arguments more clearly separated

2009-04-03 Thread John Dias
Mon Mar 23 10:47:00 PDT 2009 d...@eecs.tufts.edu * Calls with and without passing node arguments more clearly separated M ./compiler/cmm/CmmCallConv.hs -2 +13 M ./compiler/cmm/CmmCvt.hs -2 +2 M ./compiler/cmm/MkZipCfgCmm.hs -3 +3 M ./compiler/cmm/ZipCfgCmmRep.hs -9 +12 M ./c

patch applied (ghc): Another small step: call and return conventions specified separately when making calls

2009-04-03 Thread John Dias
Mon Mar 23 10:28:37 PDT 2009 d...@eecs.tufts.edu * Another small step: call and return conventions specified separately when making calls M ./compiler/cmm/CmmCallConv.hs -2 +1 M ./compiler/cmm/CmmCvt.hs -1 +1 M ./compiler/cmm/MkZipCfgCmm.hs -6 +7 M ./compiler/cmm/ZipCfgCmmRep.h

patch applied (ghc): Small step toward call-conv improvement: separate out calls and returns

2009-04-03 Thread John Dias
Mon Mar 23 10:07:06 PDT 2009 d...@eecs.tufts.edu * Small step toward call-conv improvement: separate out calls and returns M ./compiler/cmm/CmmCallConv.hs -6 +8 M ./compiler/cmm/CmmCvt.hs -2 +2 M ./compiler/cmm/MkZipCfgCmm.hs -5 +5 M ./compiler/cmm/ZipCfgCmmRep.hs -8 +14 M .

patch applied (ghc): Comment explaining use of seq in DFMonad

2009-03-18 Thread John Dias
Wed Mar 18 14:01:38 PDT 2009 d...@eecs.tufts.edu * Comment explaining use of seq in DFMonad M ./compiler/cmm/DFMonad.hs +4 View patch online: http://darcs.haskell.org/ghc/_darcs/patches/20090318210138-38771-35a80b839dfef2a3746042470a4419f934ede312.gz __

patch applied (ghc): Removed a trace

2009-03-18 Thread John Dias
Wed Mar 18 08:13:43 PDT 2009 d...@eecs.tufts.edu * Removed a trace M ./compiler/codeGen/CgTailCall.lhs -1 +1 View patch online: http://darcs.haskell.org/ghc/_darcs/patches/20090318151343-38771-2cc7192838605e5e2cce59368fa67f10bd861e11.gz ___ Cvs-

patch applied (ghc): Calling convention bug and cleanup

2009-03-18 Thread John Dias
Tue Mar 17 13:42:38 PDT 2009 d...@eecs.tufts.edu * Calling convention bug and cleanup - yet another wrong calling convention; this one was a special case for returning one value. M ./compiler/cmm/CmmCallConv.hs -37 +56 M ./compiler/cmm/MkZipCfgCmm.hs +2 M ./compiler/codeGen/C

patch applied (ghc): Inconsistent type and arguments in safe foreign calls...

2009-03-18 Thread John Dias
Mon Mar 16 14:46:54 PDT 2009 d...@eecs.tufts.edu * Inconsistent type and arguments in safe foreign calls... - The function argument was stripped from the argument list but not from the type. Now they're both stripped. M ./compiler/codeGen/StgCmmForeign.hs -15 +15 View patch online:

patch applied (ghc): stack overflows and out of memory's

2009-03-18 Thread John Dias
Mon Mar 16 14:35:06 PDT 2009 d...@eecs.tufts.edu * stack overflows and out of memory's 1. Stack overflow fixed by making dataflow monad strict in the state. 2. Out of memory fixed by "forgetting" lastoutfacts in the dataflow monad where we should. We were creating an unnecessarily long

patch applied (ghc): A few bug fixes; some improvements spurred by paper writing

2009-03-03 Thread John Dias
Tue Mar 3 07:02:28 PST 2009 d...@eecs.harvard.edu * A few bug fixes; some improvements spurred by paper writing 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 misha

patch applied (ghc): drop some debugging traces and use only one flag for new codegen

2008-11-26 Thread John Dias
Wed Nov 26 10:08:08 PST 2008 [EMAIL PROTECTED] * drop some debugging traces and use only one flag for new codegen M ./compiler/cmm/CmmCPSZ.hs -2 +2 M ./compiler/codeGen/CgCallConv.hs -1 +1 M ./compiler/codeGen/StgCmmBind.hs -5 +3 M ./compiler/codeGen/StgCmmClosure.hs -4 +3 M

patch applied (ghc): one more missing patch from new codegen path

2008-11-26 Thread John Dias
Wed Nov 26 08:57:42 PST 2008 [EMAIL PROTECTED] * one more missing patch from new codegen path M ./compiler/cmm/CmmExpr.hs +2 M ./compiler/codeGen/StgCmmBind.hs -1 +1 View patch online: http://darcs.haskell.org/ghc/_darcs/patches/20081126165742-feb93-c49e3f2fbe2b0082547bfdd5979b788cbe09

RE: new codegen patches

2008-11-26 Thread John Dias
How's your defence preparation going? The defense is finished and went well. I expect to wrap up my revisions next week. What's the flag to switch on the new path? For reasons that are no long obvious to me, there used to be two flags, but after I submit my next patch (after validating),

RE: new codegen patches

2008-11-26 Thread John Dias
--- | From: Simon Marlow [mailto:[EMAIL PROTECTED] On Behalf Of Simon Marlow | Sent: 26 November 2008 09:24 | To: Simon Peyton-Jones | Cc: John Dias; cvs-ghc@haskell.org | Subject: Re: new codegen patches | | Simon Peyton-Jones wrote: | > Oops. where is mkSECAFBlackHoleInfoTableLabel' defin

new codegen patches

2008-11-25 Thread John Dias
As you may have noticed, I have finally pushed a large number of patches for the new code generator. The new codegen is still off by default, so for the most part, this patch should not have any effect on compiled programs. I validated the patches, but please let me know if there are any proble

patch applied (ghc): Removed warnings, made Haddock happy, added examples in documentation

2008-11-25 Thread John Dias
Fri Oct 17 10:07:07 PDT 2008 [EMAIL PROTECTED] * Removed warnings, made Haddock happy, added examples in documentation The interesting examples talk about our story with heap checks in case alternatives and our story with the case scrutinee as a Boolean. M ./compiler/cmm/CmmBuildInfoTab

patch applied (ghc): Fixed linear regalloc bug, dropped some tracing code

2008-11-25 Thread John Dias
Thu Oct 16 03:42:18 PDT 2008 [EMAIL PROTECTED] * Fixed linear regalloc bug, dropped some tracing code o The linear-scan register allocator sometimes allocated a block before allocating one of its predecessors, which could lead to inconsistent allocations. Now, we allocate a block only

patch applied (ghc): Keep update frames live even in functions that never return

2008-11-25 Thread John Dias
Tue Oct 14 09:54:37 PDT 2008 [EMAIL PROTECTED] * Keep update frames live even in functions that never return An unusual case, but without it: (a) we had an assertion failure (b) we can overwrite the caller's infotable, which might cause the garbage collector to collect live data. B

patch applied (ghc): Removed space and time inefficiency in procpoint splitting

2008-11-25 Thread John Dias
Tue Oct 14 09:03:54 PDT 2008 [EMAIL PROTECTED] * Removed space and time inefficiency in procpoint splitting I was adding extra jumps to every procpoint, even when the split-off graph referred to only some of the procpoints. No effect on correctness, but a big effect on space/time efficienc

patch applied (ghc): Clarify the SRT building process

2008-11-25 Thread John Dias
Tue Oct 14 07:02:02 PDT 2008 [EMAIL PROTECTED] * Clarify the SRT building process Before: building a closure that would build an SRT given the top-level SRT. It was somewhat difficult to understand the control flow, and it may have had held onto some data structures long after they should

patch applied (ghc): Don't adjust hp up when the case scrutinee won't allocate

2008-11-25 Thread John Dias
Tue Oct 14 04:26:18 PDT 2008 [EMAIL PROTECTED] * Don't adjust hp up when the case scrutinee won't allocate If the case scrutinee can't allocate, we don't need to do a heap check in the case alternatives. (A previous patch got that right.) In that case, we had better not adjust the heap

patch applied (ghc): Floating infotables were reversed in C back end

2008-11-25 Thread John Dias
Mon Oct 13 08:27:18 PDT 2008 [EMAIL PROTECTED] * Floating infotables were reversed in C back end M ./compiler/cmm/CmmBuildInfoTables.hs -2 +3 M ./compiler/cmm/PprC.hs -2 +3 View patch online: http://darcs.haskell.org/ghc/_darcs/patches/20081013152718-feb93-18ee6e8f04e392d364cf17a7c773f

patch applied (ghc): forgot a few files

2008-11-25 Thread John Dias
Mon Oct 13 06:42:51 PDT 2008 [EMAIL PROTECTED] * forgot a few files A ./compiler/cmm/CmmBuildInfoTables.hs A ./compiler/cmm/CmmStackLayout.hs View patch online: http://darcs.haskell.org/ghc/_darcs/patches/20081013134251-feb93-1da8aaa87f63607d0c9c41b1d3d80de420e11acb.gz ___

patch applied (ghc): Big collection of patches for the new codegen branch.

2008-11-25 Thread John Dias
Mon Oct 13 06:25:56 PDT 2008 [EMAIL PROTECTED] * Big collection of patches for the new codegen branch. o Fixed bug that emitted the copy-in code for closure entry in the wrong place -- at the initialization of the closure. o Refactored some of the closure entry code. o Added code to ch

patch applied (ghc): Merging in the new codegen branch

2008-11-25 Thread John Dias
Thu Aug 14 05:40:27 PDT 2008 [EMAIL PROTECTED] * Merging in the new codegen branch This merge does not turn on the new codegen (which only compiles a select few programs at this point), but it does introduce some changes to the old code generator. The high bits: 1. The Rep Swamp pat

RE: Codegen changes

2008-10-21 Thread John Dias
Just ran validate. Is the following a currently acceptable result, or do I have something to fix over here before I push? OVERALL SUMMARY for test run started at Tue Oct 21 08:01:49 EDT 2008 2232 total tests, which gave rise to 8384 test cases, of which 0 caused framework failures

patch applied (ghc): add assertion to check that UniqFM is only passed "positive" uniques

2008-09-05 Thread John Dias
Thu Sep 4 06:51:55 PDT 2008 [EMAIL PROTECTED] * add assertion to check that UniqFM is only passed "positive" uniques The insertion code in UniqFM fails if a unique key produces a negative FastInt. I've added an assertion to check that each insertion uses a positive Unique. Where do t

RE: HEADS UP: big codegen patch

2008-08-18 Thread John Dias
), - turning GHC into a cross compiler, and - experimenting with some changes to the calling conventions. (Not necessarily in that order.) Cheers, John > -Original Message- > From: Don Stewart [mailto:[EMAIL PROTECTED] > Sent: Friday, August 15, 2008 7:24 PM > To: John Dias &

HEADS UP: big codegen patch

2008-08-15 Thread John Dias
Before merging a large batch of codegen changes, I wanted to make it available for testing. These patches do not turn on the new code generator (still a buggy work in progress), but there were some representation changes that affected the old code generator, as well as native-code generators on

RE: head validate fails, or am I doing something wrong?

2008-06-02 Thread John Dias
t; From: Simon Peyton-Jones > Sent: 02 June 2008 08:17 > To: Isaac Dupree; BuildBot Collator > Cc: John Dias > Subject: RE: head validate fails, or am I doing something wrong? > > Yes, John Dias will be in today and will fix this. > > Simon > > | -Original Message-