1. 06 May, 2004 5 commits
  2. 05 May, 2004 9 commits
  3. 04 May, 2004 1 commit
  4. 30 Apr, 2004 2 commits
  5. 27 Apr, 2004 1 commit
    • simonpj's avatar
      [project @ 2004-04-27 12:47:13 by simonpj] · 74e0bdb6
      simonpj authored
      ----------------------------------------
           1. Make primOpIsCheap do something sensible
           2. Make the state hack work better
           ----------------------------------------
      
      1.  In March 2001, we changed primOpIsCheap to
      	primOpIsCheap op = False
      thereby making *no* primops seem cheap.  But this killed eta
      expansion on case (x ==# y) of True -> \s -> ...
      which is bad.  In particular a loop like
        doLoop n = loop 0
          where
            loop i | i == n    = return ()
                   | otherwise = bar i >> loop (i+1)
      allocated a closure every time round because it didn't eta expand.
      
      The problem that made us set primOpIsCheap to False was
      		let x = a +# b *# c in x +# x
      where we don't want to inline x. But primopIsCheap doesn't control
      that (it's exprIsDupable that does) so the problem doesn't occur
      even if primOpIsCheap sometimes says 'True'.  I think that perhaps
      something changed since March 2001.
      
      
      2.  Consider this
      	case x of
      	  True  -> \(s:RealWorld) -> e
      	  False -> foo
      where foo has arity 1.  If we are using the "state hack" we want to
      eta expand here.  This commit fixes arityType in the Var case (for foo)
      to take account of foo's type.
      
      Also add -fno-state-hack to the static flags, to allow the state hack to
      be switched off.
      74e0bdb6
  6. 26 Apr, 2004 1 commit
  7. 21 Apr, 2004 6 commits
    • simonpj's avatar
      [project @ 2004-04-21 12:45:54 by simonpj] · 711ede5f
      simonpj authored
      Do a much better job of slurping RULES.  
      
      Now that stuff is slurped in lazily, as the simplifier pokes on it,
      we may not get the rules as early as we might wish.  In the current
      HEAD, no new rules are slurped in after the beginning of SimplCore,
      and that means we permanently miss many rules.
      
      This commit arranges that every time round the simplifier loop we
      slurp in any new rules, and put them into the in-scope set, where the
      simplifier can find them.
      
      It's still possible that a rule might be slurped in a little later than
      in earlier versions of GHC, leading to more simplifier iterations,
      but let's see if that turns out to be a problem in practice.
      711ede5f
    • simonpj's avatar
      [project @ 2004-04-21 12:45:05 by simonpj] · 272163f0
      simonpj authored
      Import wibbles
      272163f0
    • simonpj's avatar
      [project @ 2004-04-21 12:38:20 by simonpj] · 2c27ee79
      simonpj authored
      In Template Haskell suppport
      	dyn "M.x"
      to mean "look up the qualified name M.x in the environment", which is
      what you'd expect.  George Russel wanted this.
      2c27ee79
    • simonpj's avatar
      [project @ 2004-04-21 12:36:51 by simonpj] · 7032166d
      simonpj authored
      Elaborate IfaceSyn.HsWorker to give the full IfaceExtName of the worker,
      rather than just the internal OccName.  Very occasionally, the worker for
      a function in module A turns out to be (by simplification) a function
      defined in module B.  So we must remember the module. This shows up in
      package ObjectIO,
      	Graphics.UI.ObjectIO.OS.Window.osValidateWindowRect
      which has a worker
      	Graphics.UI.ObjectIO.OS.WindowCCall_12.$wwinValidateRect
      
      *** Unfortunately this changes the binary format of hi files slightly, so
      *** you'll have to recompile all your libraries from scratch.
      7032166d
    • simonpj's avatar
      [project @ 2004-04-21 12:36:24 by simonpj] · e791a226
      simonpj authored
      Comments only
      e791a226
    • simonpj's avatar
      [project @ 2004-04-21 08:43:43 by simonpj] · fccc859d
      simonpj authored
      Fix the OSTYPE test for Cygwin, and comment
      fccc859d
  8. 18 Apr, 2004 5 commits
  9. 16 Apr, 2004 1 commit
    • igloo's avatar
      [project @ 2004-04-16 02:02:44 by igloo] · 490fd965
      igloo authored
      Change the mangler to allow a tab before .section on sparc. Fixes a
      problem which shows up as symbols not being made global so not being
      defined when compiling with gcc >= 3.something.
      490fd965
  10. 13 Apr, 2004 2 commits
  11. 12 Apr, 2004 2 commits
  12. 07 Apr, 2004 1 commit
    • panne's avatar
      [project @ 2004-04-07 12:17:09 by panne] · 444a39a6
      panne authored
      A complete rewrite of ar-related tests:
      * Modularized the tests
      * Fixed (i.e. introduced :-) caching
      * Made the test for support of "-input" more robust
      444a39a6
  13. 06 Apr, 2004 4 commits