ghc.git
6 years agoLast bug fixes and flag additions. supercompiler
Max Bolingbroke [Thu, 6 Dec 2012 16:31:49 +0000 (16:31 +0000)] 
Last bug fixes and flag additions.

6 years agoAllow MSG to generalise occurrence info
Max Bolingbroke [Fri, 16 Nov 2012 14:11:36 +0000 (14:11 +0000)] 
Allow MSG to generalise occurrence info

6 years agoEnsure wrappers are SUPERINLINABLE
Max Bolingbroke [Fri, 16 Nov 2012 14:11:22 +0000 (14:11 +0000)] 
Ensure wrappers are SUPERINLINABLE

6 years agoMake the speculation flag work properly
Max Bolingbroke [Fri, 16 Nov 2012 14:10:56 +0000 (14:10 +0000)] 
Make the speculation flag work properly

6 years agoSmall tweaks including turning on positive info by default
Max Bolingbroke [Thu, 15 Nov 2012 11:12:40 +0000 (11:12 +0000)] 
Small tweaks including turning on positive info by default

6 years agoTrace upon rollback
Max Bolingbroke [Wed, 14 Nov 2012 15:14:59 +0000 (15:14 +0000)] 
Trace upon rollback

6 years agoCorrect top-level renaming in MSG to prevent <<loop>>
Max Bolingbroke [Wed, 14 Nov 2012 15:14:50 +0000 (15:14 +0000)] 
Correct top-level renaming in MSG to prevent <<loop>>

6 years agoComment only
Max Bolingbroke [Thu, 1 Nov 2012 17:35:14 +0000 (17:35 +0000)] 
Comment only

6 years agoComplete Deeds threading in Split2
Max Bolingbroke [Thu, 1 Nov 2012 17:22:34 +0000 (17:22 +0000)] 
Complete Deeds threading in Split2

6 years agoCheckpoint deeds in splitter
Max Bolingbroke [Wed, 31 Oct 2012 11:25:36 +0000 (11:25 +0000)] 
Checkpoint deeds in splitter

6 years agoFix a small but critcal error in MSG
Max Bolingbroke [Wed, 31 Oct 2012 11:24:48 +0000 (11:24 +0000)] 
Fix a small but critcal error in MSG

6 years agoComments only
Max Bolingbroke [Wed, 24 Oct 2012 17:44:57 +0000 (18:44 +0100)] 
Comments only

6 years agoFix critical bug in msg where we weren't sucking enough
Max Bolingbroke [Wed, 24 Oct 2012 17:44:28 +0000 (18:44 +0100)] 
Fix critical bug in msg where we weren't sucking enough

6 years agoMark module SUPERINLINABLE by default (otherwise SC is almost an identity transformation)
Max Bolingbroke [Wed, 24 Oct 2012 17:43:36 +0000 (18:43 +0100)] 
Mark module SUPERINLINABLE by default (otherwise SC is almost an identity transformation)

6 years agoWeaken the bugcheck for typegen tieback memo
Max Bolingbroke [Tue, 23 Oct 2012 17:00:46 +0000 (18:00 +0100)] 
Weaken the bugcheck for typegen tieback memo

6 years agoFix mkSymCo so it actually creates a symmetric coercion
Max Bolingbroke [Tue, 23 Oct 2012 16:59:58 +0000 (17:59 +0100)] 
Fix mkSymCo so it actually creates a symmetric coercion

6 years agoFix problems with preinit eta expansion: no gc-destroyed free vars, no dead var occs
Max Bolingbroke [Tue, 23 Oct 2012 16:59:27 +0000 (17:59 +0100)] 
Fix problems with preinit eta expansion: no gc-destroyed free vars, no dead var occs

6 years agoFix newtype unfoldings (coercion direction) and prevent data unfoldings with strange...
Max Bolingbroke [Tue, 23 Oct 2012 16:56:26 +0000 (17:56 +0100)] 
Fix newtype unfoldings (coercion direction) and prevent data unfoldings with strange tyvar kinds

6 years agoFix bug in cheap node shortcutting that was pessimising the splitter
Max Bolingbroke [Fri, 19 Oct 2012 15:24:40 +0000 (16:24 +0100)] 
Fix bug in cheap node shortcutting that was pessimising the splitter

6 years agoDon't float out of binders that may be marked SUPERINLINABLE when converting from...
Max Bolingbroke [Fri, 19 Oct 2012 15:24:12 +0000 (16:24 +0100)] 
Don't float out of binders that may be marked SUPERINLINABLE when converting from GHC core to preserve lexical structure

6 years agoNo sc' tracing
Max Bolingbroke [Fri, 19 Oct 2012 15:23:48 +0000 (16:23 +0100)] 
No sc' tracing

6 years agoSlight improvement to power of reduce termination test by using gc, more debug output
Max Bolingbroke [Fri, 19 Oct 2012 15:23:21 +0000 (16:23 +0100)] 
Slight improvement to power of reduce termination test by using gc, more debug output

6 years agoShow those binders which are SUPERINLINABLE
Max Bolingbroke [Fri, 19 Oct 2012 15:23:01 +0000 (16:23 +0100)] 
Show those binders which are SUPERINLINABLE

6 years agoLexical marking of SUPERINLINABLEs in current module as well as imported modules
Max Bolingbroke [Fri, 19 Oct 2012 15:22:43 +0000 (16:22 +0100)] 
Lexical marking of SUPERINLINABLEs in current module as well as imported modules

6 years agoMade pairT lazier
Max Bolingbroke [Fri, 19 Oct 2012 11:48:48 +0000 (12:48 +0100)] 
Made pairT lazier

6 years agoFix critical bug where FVs of generalised stack tails would not be sucked
Max Bolingbroke [Fri, 19 Oct 2012 11:23:41 +0000 (12:23 +0100)] 
Fix critical bug where FVs of generalised stack tails would not be sucked

6 years agoDo memocache preinit even when using let-bindings
Max Bolingbroke [Fri, 19 Oct 2012 11:05:29 +0000 (12:05 +0100)] 
Do memocache preinit even when using let-bindings

6 years agoDon't pull on prepareTerm result unless needed
Max Bolingbroke [Fri, 19 Oct 2012 09:45:35 +0000 (10:45 +0100)] 
Don't pull on prepareTerm result unless needed

6 years agoDisable instance matching by default
Max Bolingbroke [Fri, 19 Oct 2012 09:44:25 +0000 (10:44 +0100)] 
Disable instance matching by default

6 years agoHorrible patches to make memocache preinit work
Max Bolingbroke [Thu, 18 Oct 2012 19:59:09 +0000 (20:59 +0100)] 
Horrible patches to make memocache preinit work

6 years agoIdempotent speculator
Max Bolingbroke [Thu, 18 Oct 2012 19:58:57 +0000 (20:58 +0100)] 
Idempotent speculator

6 years agoFIx stupid bug with summary given to GHC heuristics
Max Bolingbroke [Thu, 18 Oct 2012 19:58:23 +0000 (20:58 +0100)] 
FIx stupid bug with summary given to GHC heuristics

6 years agoCheckpoint possible new speculator implementation that goes to some trouble to be...
Max Bolingbroke [Tue, 9 Oct 2012 17:39:14 +0000 (18:39 +0100)] 
Checkpoint possible new speculator implementation that goes to some trouble to be idempotent

6 years agoAdd comments only
Max Bolingbroke [Fri, 5 Oct 2012 11:00:48 +0000 (12:00 +0100)] 
Add comments only

6 years agoCheckpoint speculator work
Max Bolingbroke [Fri, 5 Oct 2012 07:53:13 +0000 (08:53 +0100)] 
Checkpoint speculator work

6 years agoFix MSG not preserving global-idness
Max Bolingbroke [Thu, 4 Oct 2012 15:30:16 +0000 (16:30 +0100)] 
Fix MSG not preserving global-idness

6 years agoRemove some tabs the commit hook is complaining about
Max Bolingbroke [Thu, 4 Oct 2012 14:08:44 +0000 (15:08 +0100)] 
Remove some tabs the commit hook is complaining about

6 years agoI don't know why I started tying back to dumped promises, but it's a bad idea
Max Bolingbroke [Thu, 4 Oct 2012 14:04:11 +0000 (15:04 +0100)] 
I don't know why I started tying back to dumped promises, but it's a bad idea

6 years agoSC rollback doesn't have to fail, and improve split/generalise decision upon rollback
Max Bolingbroke [Thu, 4 Oct 2012 13:59:44 +0000 (14:59 +0100)] 
SC rollback doesn't have to fail, and improve split/generalise decision upon rollback

6 years agoRevert state in MSG if binderisation fails
Max Bolingbroke [Thu, 4 Oct 2012 13:58:53 +0000 (14:58 +0100)] 
Revert state in MSG if binderisation fails

6 years agoRewrite speculate to be more logical and simpler.. hopefully it doesn't go exponential
Max Bolingbroke [Mon, 1 Oct 2012 15:00:28 +0000 (16:00 +0100)] 
Rewrite speculate to be more logical and simpler.. hopefully it doesn't go exponential

6 years agoSome comments + changes in how often we instance-match
Max Bolingbroke [Thu, 27 Sep 2012 14:19:49 +0000 (15:19 +0100)] 
Some comments + changes in how often we instance-match

6 years agoTweak debug output
Max Bolingbroke [Wed, 26 Sep 2012 19:06:08 +0000 (20:06 +0100)] 
Tweak debug output

6 years agoEager value splitting in the new splitter for compatability with thesis (don't think...
Max Bolingbroke [Wed, 26 Sep 2012 19:03:31 +0000 (20:03 +0100)] 
Eager value splitting in the new splitter for compatability with thesis (don't think it's actually necessary for correctness though)

6 years agoFix stupid typo in MSG that was causing even stupider tiebacks
Max Bolingbroke [Wed, 26 Sep 2012 19:02:45 +0000 (20:02 +0100)] 
Fix stupid typo in MSG that was causing even stupider tiebacks

6 years agoFix some potential loops in supercompilation, make matching succeed more often
Max Bolingbroke [Wed, 26 Sep 2012 17:02:35 +0000 (18:02 +0100)] 
Fix some potential loops in supercompilation, make matching succeed more often

6 years agoRemove small redundancy
Max Bolingbroke [Mon, 17 Sep 2012 22:10:05 +0000 (23:10 +0100)] 
Remove small redundancy

6 years agoCarefully document loopiness in MSG and fix all examples of overeagerness
Max Bolingbroke [Mon, 17 Sep 2012 21:55:14 +0000 (22:55 +0100)] 
Carefully document loopiness in MSG and fix all examples of overeagerness

6 years agoEnsure we make progress in the evaluator for UPDATE2 rule
Max Bolingbroke [Mon, 17 Sep 2012 20:30:23 +0000 (21:30 +0100)] 
Ensure we make progress in the evaluator for UPDATE2 rule

6 years agoUpdate supercompiler based on latest thinking about correctness (i.e. disable reduce...
Max Bolingbroke [Thu, 13 Sep 2012 19:52:33 +0000 (20:52 +0100)] 
Update supercompiler based on latest thinking about correctness (i.e. disable reduce-before-match, skip irred states in memo)

6 years agoComplete MSG examples
Max Bolingbroke [Mon, 20 Aug 2012 15:29:12 +0000 (16:29 +0100)] 
Complete MSG examples

6 years agoHack in some examples, not quite working
Max Bolingbroke [Fri, 17 Aug 2012 08:04:00 +0000 (09:04 +0100)] 
Hack in some examples, not quite working

6 years agoTidy up MSG and make specGenVars non-strict in the knot tied variable
Max Bolingbroke [Fri, 17 Aug 2012 00:40:45 +0000 (01:40 +0100)] 
Tidy up MSG and make specGenVars non-strict in the knot tied variable

6 years agoComments only
Max Bolingbroke [Fri, 17 Aug 2012 00:29:14 +0000 (01:29 +0100)] 
Comments only

6 years agoA version of MSG where stack initialization takes place in a seperate monad for clean...
Max Bolingbroke [Fri, 17 Aug 2012 00:24:09 +0000 (01:24 +0100)] 
A version of MSG where stack initialization takes place in a seperate monad for cleanliness

6 years agoFirst version of MSG rethink that type checks. Removed term gen capabalities while...
Max Bolingbroke [Thu, 16 Aug 2012 23:37:40 +0000 (00:37 +0100)] 
First version of MSG rethink that type checks. Removed term gen capabalities while I was at it.

6 years agoA version of the deterministic MSGer that might be correct
Max Bolingbroke [Tue, 14 Aug 2012 09:17:49 +0000 (10:17 +0100)] 
A version of the deterministic MSGer that might be correct

6 years agoCheckpoint some MSG work
Max Bolingbroke [Mon, 13 Aug 2012 20:06:17 +0000 (21:06 +0100)] 
Checkpoint some MSG work

6 years agoDue to evaluator change we can remove some ugliness from split cheap heap construction
Max Bolingbroke [Mon, 13 Aug 2012 17:09:50 +0000 (18:09 +0100)] 
Due to evaluator change we can remove some ugliness from split cheap heap construction

6 years agoTotally redo evaluation, including the abstract syntax of Answers (no more casts...
Max Bolingbroke [Mon, 13 Aug 2012 17:06:15 +0000 (18:06 +0100)] 
Totally redo evaluation, including the abstract syntax of Answers (no more casts please). Much cleaner

6 years agoExperimental rewrite of the MSG (currently loops)
Max Bolingbroke [Mon, 13 Aug 2012 10:19:23 +0000 (11:19 +0100)] 
Experimental rewrite of the MSG (currently loops)

6 years agoCheckpoint MSG bullshit, REMOVE trace in sc
Max Bolingbroke [Sat, 11 Aug 2012 08:24:17 +0000 (09:24 +0100)] 
Checkpoint MSG bullshit, REMOVE trace in sc

6 years agoSmall simplification to solving loop predecessors map
Max Bolingbroke [Mon, 23 Jul 2012 12:56:25 +0000 (13:56 +0100)] 
Small simplification to solving loop predecessors map

7 years agoFiddle with memo_how check fruitlessly
Max Bolingbroke [Tue, 17 Jul 2012 15:50:21 +0000 (16:50 +0100)] 
Fiddle with memo_how check fruitlessly

7 years agoSmall style fixes etc to the evaluator
Max Bolingbroke [Tue, 17 Jul 2012 15:49:29 +0000 (16:49 +0100)] 
Small style fixes etc to the evaluator

7 years agoRemove unreachable nodes in splitter before deciding marking to get better results
Max Bolingbroke [Tue, 17 Jul 2012 15:48:50 +0000 (16:48 +0100)] 
Remove unreachable nodes in splitter before deciding marking to get better results

7 years agoCorrectly update type of a Case when pushing frames inside it
Max Bolingbroke [Tue, 17 Jul 2012 14:03:16 +0000 (15:03 +0100)] 
Correctly update type of a Case when pushing frames inside it

7 years agoTreat letbounds and lambdabounds as cheap, for gods sake
Max Bolingbroke [Tue, 17 Jul 2012 14:02:48 +0000 (15:02 +0100)] 
Treat letbounds and lambdabounds as cheap, for gods sake

7 years agoInclude the init_xes when deciding which extra bindings need to be resid
Max Bolingbroke [Tue, 17 Jul 2012 14:02:03 +0000 (15:02 +0100)] 
Include the init_xes when deciding which extra bindings need to be resid

7 years agoFix small bugs in renaming terms output from the supercompiler
Max Bolingbroke [Tue, 17 Jul 2012 14:01:36 +0000 (15:01 +0100)] 
Fix small bugs in renaming terms output from the supercompiler

7 years agoCheck for triviality in renaming before returning a type generalisation
Max Bolingbroke [Tue, 17 Jul 2012 13:58:18 +0000 (14:58 +0100)] 
Check for triviality in renaming before returning a type generalisation

7 years agoCheck deadness after InScopeSet substitution in CoreLint in case OccInfo only updated...
Max Bolingbroke [Mon, 16 Jul 2012 19:34:59 +0000 (20:34 +0100)] 
Check deadness after InScopeSet substitution in CoreLint in case OccInfo only updated at binders

7 years agoSmall fixes to Split2
Max Bolingbroke [Fri, 13 Jul 2012 13:37:19 +0000 (14:37 +0100)] 
Small fixes to Split2

7 years agoVarious misc fixes to new splitter so it produces reasonable looking output without...
Max Bolingbroke [Fri, 13 Jul 2012 11:50:15 +0000 (12:50 +0100)] 
Various misc fixes to new splitter so it produces reasonable looking output without error

7 years agoUse new design for splitter, only used in Process3 for now
Max Bolingbroke [Thu, 12 Jul 2012 22:20:33 +0000 (23:20 +0100)] 
Use new design for splitter, only used in Process3 for now

7 years agoMake core data types a bit more general
Max Bolingbroke [Thu, 12 Jul 2012 22:19:04 +0000 (23:19 +0100)] 
Make core data types a bit more general

7 years agoSmall comments and code movements
Max Bolingbroke [Thu, 12 Jul 2012 22:18:25 +0000 (23:18 +0100)] 
Small comments and code movements

7 years agoFix eager value splitting with an updated value in focus
Max Bolingbroke [Thu, 5 Jul 2012 15:42:45 +0000 (16:42 +0100)] 
Fix eager value splitting with an updated value in focus

7 years agoDo the uniqAway in MSG all at once to avoid shadowing bugs
Max Bolingbroke [Thu, 5 Jul 2012 15:41:43 +0000 (16:41 +0100)] 
Do the uniqAway in MSG all at once to avoid shadowing bugs

7 years agoRemove unused import in SimplCore
Max Bolingbroke [Thu, 5 Jul 2012 15:40:32 +0000 (16:40 +0100)] 
Remove unused import in SimplCore

7 years agoBasic implementation of RightGivesTypeGen to stop panics
Max Bolingbroke [Wed, 4 Jul 2012 17:15:54 +0000 (18:15 +0100)] 
Basic implementation of RightGivesTypeGen to stop panics

7 years agoRestrict stack pruning to preserve effectivness of NOINLINE and friends
Max Bolingbroke [Wed, 4 Jul 2012 17:15:32 +0000 (18:15 +0100)] 
Restrict stack pruning to preserve effectivness of NOINLINE and friends

7 years agoComment only
Max Bolingbroke [Wed, 4 Jul 2012 17:15:13 +0000 (18:15 +0100)] 
Comment only

7 years agoInstantiating with a stack frame *is* real instantiation
Max Bolingbroke [Wed, 4 Jul 2012 17:15:02 +0000 (18:15 +0100)] 
Instantiating with a stack frame *is* real instantiation

7 years agoMove the notion of shortability to the IdInfo module for reuse in the supercompiler
Max Bolingbroke [Wed, 4 Jul 2012 17:14:26 +0000 (18:14 +0100)] 
Move the notion of shortability to the IdInfo module for reuse in the supercompiler

7 years agoAdd a FIXME
Max Bolingbroke [Wed, 4 Jul 2012 15:36:33 +0000 (16:36 +0100)] 
Add a FIXME

7 years agoFix some FV issues so that map-map actually doesn't loop
Max Bolingbroke [Wed, 4 Jul 2012 15:35:22 +0000 (16:35 +0100)] 
Fix some FV issues so that map-map actually doesn't loop

7 years agoFix some bugs in new evaluator
Max Bolingbroke [Tue, 3 Jul 2012 17:13:48 +0000 (18:13 +0100)] 
Fix some bugs in new evaluator

7 years agoFirst compiling version of the changes to eliminate Indirect
Max Bolingbroke [Tue, 3 Jul 2012 13:54:49 +0000 (14:54 +0100)] 
First compiling version of the changes to eliminate Indirect

7 years agoComment only, before eliminating Indirect
Max Bolingbroke [Mon, 2 Jul 2012 13:31:43 +0000 (14:31 +0100)] 
Comment only, before eliminating Indirect

7 years agoStart to try to make type generalisation work. SC will currently crash a lot because...
Max Bolingbroke [Fri, 25 May 2012 09:33:52 +0000 (10:33 +0100)] 
Start to try to make type generalisation work. SC will currently crash a lot because I'm working out the termination issues

7 years agoAlways allow type/coercion instantiation in MSG as experiment
Max Bolingbroke [Fri, 25 May 2012 09:32:57 +0000 (10:32 +0100)] 
Always allow type/coercion instantiation in MSG as experiment

7 years agoSome horrible-looking changes to select most-specific instance (preferring exact...
Max Bolingbroke [Thu, 17 May 2012 22:50:59 +0000 (23:50 +0100)] 
Some horrible-looking changes to select most-specific instance (preferring exact matches) and remember non-exact matches in the memo table

7 years agoRethink how generalisation is written so we can rollback when MSGing
Max Bolingbroke [Wed, 16 May 2012 15:14:29 +0000 (16:14 +0100)] 
Rethink how generalisation is written so we can rollback when MSGing

7 years agoFix horrendous bug with new insertVarRenaming
Max Bolingbroke [Fri, 11 May 2012 08:35:40 +0000 (09:35 +0100)] 
Fix horrendous bug with new insertVarRenaming

7 years agoOnly zap IdInfo for *Id*s
Max Bolingbroke [Fri, 11 May 2012 08:30:03 +0000 (09:30 +0100)] 
Only zap IdInfo for *Id*s

7 years agoSupport for LitTy in Match/MSG
Max Bolingbroke [Fri, 11 May 2012 07:39:52 +0000 (08:39 +0100)] 
Support for LitTy in Match/MSG

7 years agoUse new insertVarRenaming when constructing renaming in MSG
Max Bolingbroke [Fri, 11 May 2012 07:39:34 +0000 (08:39 +0100)] 
Use new insertVarRenaming when constructing renaming in MSG

7 years agoSave some code in MSG by failing lookup of any lambdaBound
Max Bolingbroke [Thu, 10 May 2012 09:23:11 +0000 (10:23 +0100)] 
Save some code in MSG by failing lookup of any lambdaBound

7 years agoWhitespace only
Max Bolingbroke [Thu, 10 May 2012 09:22:11 +0000 (10:22 +0100)] 
Whitespace only