1. 20 Jun, 2007 2 commits
    • simonpj@microsoft.com's avatar
      Fix egregious sharing bug in LiberateCase · da5b25fe
      simonpj@microsoft.com authored
      Andy Gill writes: consider the following code
      
             f = g (case v of
                      V a b -> a : t f)
      
      where g is expensive. Liberate case will turn this into
      
             f = g (case v of
                     V a b -> a : t (letrec f = g (case v of
                                                   V a b -> a : f t)
                                      in f)
                   )
      Yikes! We evaluate g twice. This leads to a O(2^n) explosion
      if g calls back to the same code recursively.
      
      This may be the same as Trac #1366.  
      
      da5b25fe
    • andy@galois.com's avatar
      Turning off case liberation when using the hpc option, for now · d363c1fc
      andy@galois.com authored
      Consider the following code
      
           f = g (case v of
                    V a b -> a : t f)
      
      where g is expensive. Liberate case will turn this into
      
           f = g (case v of
                   V a b -> a : t (letrec f = g (case v of
                                                 V a b -> a : f t)
                                    in f)
                 )
      
      Yikes! We evaluate g twice. This leads to a O(2^n) explosion
      if g calls back to the same code recursively.
      
      This happen sometimes in HPC, because every tick is a liberate-able case,
      but is a general problem to case liberation (I think). 
      d363c1fc
  2. 19 Jun, 2007 8 commits
  3. 18 Jun, 2007 2 commits
  4. 17 Jun, 2007 1 commit
  5. 13 Jun, 2007 1 commit
  6. 17 Jun, 2007 1 commit
  7. 16 Jun, 2007 1 commit
  8. 15 Jun, 2007 2 commits
  9. 14 Jun, 2007 1 commit
  10. 13 Jun, 2007 7 commits
  11. 12 Jun, 2007 1 commit
    • Ian Lynagh's avatar
      Tweak banner printing · cedd4187
      Ian Lynagh authored
      * -{short,long}-ghci-banner are now dynamic options, so you can put
        ":set -short-ghci-banner" in .ghci
      * The -v2 banner information now always tells you what compiler booted GHC,
        and what stage the compiler is. Thus we no longer assume that stage > 1
        iff GHCI is defined.
      cedd4187
  12. 01 Jun, 2007 1 commit
  13. 09 Jun, 2007 4 commits
  14. 05 Jun, 2007 1 commit
  15. 04 Jun, 2007 2 commits
  16. 02 Jun, 2007 5 commits