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
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
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
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
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
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
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
__
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
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
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
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
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
* 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
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
__
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
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
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
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
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
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
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
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
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 .
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
__
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-
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
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:
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
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
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
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
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),
---
| 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
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
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
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
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
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
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
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
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
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
___
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
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
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
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
),
- 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
&
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
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-
49 matches
Mail list logo