[commit: ghc] supercompiler: Put positive information propagation under Staticflags control and turn it off (235e966)

Max Bolingbroke <[email protected]>
Newsgroups gmane.comp.lang.haskell.cvs.ghc
Message-ID <[email protected]>
Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : supercompiler

http://hackage.haskell.org/trac/ghc/changeset/235e966e3b55f5869271eabbf9a59ae2866a1270

>---------------------------------------------------------------

commit 235e966e3b55f5869271eabbf9a59ae2866a1270
Author: Max Bolingbroke <[email protected]>
Date:   Wed Jan 18 17:07:40 2012 +0000

    Put positive information propagation under Staticflags control and turn it off

>---------------------------------------------------------------

 compiler/supercompile/Supercompile/Drive/Split.hs |    3 ++-
 compiler/supercompile/Supercompile/StaticFlags.hs |    8 ++++++--
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/compiler/supercompile/Supercompile/Drive/Split.hs b/compiler/supercompile/Supercompile/Drive/Split.hs
index aa1c213..8963c04 100644
--- a/compiler/supercompile/Supercompile/Drive/Split.hs
+++ b/compiler/supercompile/Supercompile/Drive/Split.hs
@@ -1103,7 +1103,8 @@ splitStackFrame ctxt_ids ids kf scruts bracketed_hole
             -- ===>
             --  case x of C -> let unk = C; z = C in ...
             alt_in_es = alt_rns `zip` alt_es
-            alt_hs = zipWith3Equal "alt_hs" (\alt_rn alt_con alt_bvs -> M.fromList (do Just scrut_v <- [altConToValue (idType x') (alt_rn, alt_con)]
+            alt_hs = zipWith3Equal "alt_hs" (\alt_rn alt_con alt_bvs -> M.fromList (do guard pOSITIVE_INFORMATION
+                                                                                       Just scrut_v <- [altConToValue (idType x') (alt_rn, alt_con)]
                                                                                        let in_scrut_e@(_, scrut_e) = renamedTerm (fmap Value scrut_v)
                                                                                        scrut <- scruts'
                                                                                        return (scrut, HB (howToBindCheap scrut_e) (Right in_scrut_e)))
diff --git a/compiler/supercompile/Supercompile/StaticFlags.hs b/compiler/supercompile/Supercompile/StaticFlags.hs
index 28b15e8..5d7dbb9 100644
--- a/compiler/supercompile/Supercompile/StaticFlags.hs
+++ b/compiler/supercompile/Supercompile/StaticFlags.hs
@@ -39,8 +39,12 @@ bOUND_STEPS = "--bound-steps" `elem` aRGS
 
 -- For debugging very long-running supercompilation
 dEPTH_LIIMT :: Maybe Int
---dEPTH_LIIMT = Nothing
-dEPTH_LIIMT = Just 10
+dEPTH_LIIMT = Nothing
+--dEPTH_LIIMT = Just 10
+
+pOSITIVE_INFORMATION :: Bool
+pOSITIVE_INFORMATION = False
+--pOSITIVE_INFORMATION = True
 
 data DeedsPolicy = FCFS | Proportional
                  deriving (Read)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.