RE: Hoopl vs LLVM?

2012-12-14 Thread Simon Peyton-Jones
[mailto:carter.schonw...@gmail.com] Sent: 11 December 2012 21:23 To: Simon Peyton-Jones Cc: Johan Tibell; Greg Fitzgerald; cvs-ghc@haskell.org; GHC Users Mailing List Subject: Re: Hoopl vs LLVM? Cool info! Would love to see that report if you can dig it up :) -Carter On Tue, Dec 11, 2012 at 2:16 PM, Simon

RE: Hoopl vs LLVM?

2012-12-13 Thread Simon Peyton-Jones
| > My question was more: why do we CPS transform? I guess it's because we | > manage our own stack? | | Right. In fact, LLVM does its own CPS transform (but doesn't call it | that) when the code contains non-tail function calls. We give LLVM code | with tail-calls only. | | The choice about wh

Re: Hoopl vs LLVM?

2012-12-13 Thread Simon Marlow
On 12/12/12 17:37, Johan Tibell wrote: On Wed, Dec 12, 2012 at 4:35 AM, Simon Marlow wrote: On 11/12/12 21:33, Johan Tibell wrote: I'd definitely be interesting in understanding why as it, like you say, makes it harder for LLVM to understand what our code does and optimize it well. The exam

Re: Hoopl vs LLVM?

2012-12-13 Thread Simon Marlow
On 12/12/12 17:06, Greg Fitzgerald wrote: On Wed, Dec 12, 2012 at 4:35 AM, Simon Marlow mailto:marlo...@gmail.com>> wrote: Now, all that LLVM knows is that z was read from Sp[8], it has no more information about its value. Are you saying Hoopl can deduce the original form from t

Re: Hoopl vs LLVM?

2012-12-12 Thread Johan Tibell
On Wed, Dec 12, 2012 at 4:35 AM, Simon Marlow wrote: > On 11/12/12 21:33, Johan Tibell wrote: >> I'd definitely be interesting in understanding why as it, like you >> say, makes it harder for LLVM to understand what our code does and >> optimize it well. > > > The example that Simon gave is a good

Re: Hoopl vs LLVM?

2012-12-12 Thread Michal Terepeta
On 12.12 09:06, Greg Fitzgerald wrote: > On Wed, Dec 12, 2012 at 4:35 AM, Simon Marlow wrote: > > > Now, all that LLVM knows is that z was read from Sp[8], it has no more > > information about its value. > > > Are you saying Hoopl can deduce the original form from

Re: Hoopl vs LLVM?

2012-12-12 Thread Simon Marlow
lustration: f() { x = blah z = blah2 p,q = g(x) res = z + p - q return res } In this function, for example, a Hoopl pass would be able to derive something about the value of z from its assignment (blah2), an

Re: Hoopl vs LLVM?

2012-12-11 Thread Johan Tibell
On Tue, Dec 11, 2012 at 11:16 AM, Simon Peyton-Jones wrote: > Notice that the stack is now *explicit* rather than implicit, and LLVM has no > hope of moving the assignment to z past the call to g (which is trivial in > the original). I can explain WHY we do this (there is stuff on the wiki) but

Re: Hoopl vs LLVM?

2012-12-11 Thread Carter Schonwald
Cool info! Would love to see that report if you can dig it up :) -Carter On Tue, Dec 11, 2012 at 2:16 PM, Simon Peyton-Jones wrote: > | In my opinion we should only implement optimizations in Hoopl that > | LLVM cannot do due to lack high-level information that we might have > | g

RE: Hoopl vs LLVM?

2012-12-11 Thread Simon Peyton-Jones
| In my opinion we should only implement optimizations in Hoopl that | LLVM cannot do due to lack high-level information that we might have | gotten rid of before we reach the LLVM code generator*. I don't think Indeed. And I think there is probably quite a lot that is in reach for C--,

[commit: ghc] master: Remove some old temporary warning suppression for hoopl warnings (fecb6af)

2012-07-25 Thread Ian Lynagh
agh Date: Tue Jul 24 21:05:12 2012 +0100 Remove some old temporary warning suppression for hoopl warnings >--- mk/validate-settings.mk |9 - 1 files changed, 0 insertions(+), 9 deletions(-) diff --git a/mk/va

[commit: ghc] newcg: Remove "fuel", adapt to Hoopl changes, fix warnings (bfbdbcb)

2012-07-05 Thread Simon Marlow
low Date: Thu Jul 5 13:23:21 2012 +0100 Remove "fuel", adapt to Hoopl changes, fix warnings compiler/cmm/BlockId.hs |2 +- compiler/cmm/Cmm.hs |8 +- compiler/cmm/CmmBuildInfoTables.hs| 11 +- compiler/cmm/CmmCallConv.hs |

New patches in /srv/darcs/git-mirrors/hoopl

2012-05-10 Thread Ian Lynagh
New patches in /srv/darcs/git-mirrors/hoopl commit 1ef68d6f2a8a7e89a5ed4cc78e3fefc89dc8ccab Author: Norman Ramsey Date: Wed May 9 16:03:11 2012 -0400 instructinos for developers commit a520508d8a02c80e0633aab0739a80301d486eef Author: Norman Ramsey Date: Wed May 9 15:58:28 2012 -0400

New patches in /srv/darcs/git-mirrors/hoopl

2012-04-22 Thread Ian Lynagh
New patches in /srv/darcs/git-mirrors/hoopl commit e578e938e1ff8dd1233bcf89a7c6e62ed4d892ac Author: Norman Ramsey Date: Sat Apr 21 12:52:13 2012 -0400 update version number and remove Stability: field from cabal file commit 76c3f2566d53124772a5bb54db360a1db08d7e5d Author: Norman Ramsey

New patches in /srv/darcs/git-mirrors/hoopl

2012-03-21 Thread Ian Lynagh
New patches in /srv/darcs/git-mirrors/hoopl commit ab1439dc866c5b9ca29b8f8209850cef4568082c Author: Norman Ramsey Date: Tue Mar 20 18:42:43 2012 -0400 patch from Paolo Capriotti, ignore some GHC build files (I've changed the .gitignore to operate just in the root dire

RE: [commit: hoopl] simonmar-hoopl-opt: Remove layers of newtype in Unique and Label (3056dec)

2012-03-19 Thread Simon Peyton-Jones
age Simon | -Original Message- | From: cvs-ghc-boun...@haskell.org [mailto:cvs-ghc-boun...@haskell.org] On | Behalf Of Ian Lynagh | Sent: 17 March 2012 15:56 | To: Simon Marlow | Cc: cvs-ghc@haskell.org | Subject: Re: [commit: hoopl] simonmar-hoopl-opt: Remove layers of newtype in | Unique

Re: [commit: hoopl] simonmar-hoopl-opt: Remove layers of newtype in Unique and Label (3056dec)

2012-03-17 Thread Ian Lynagh
On Thu, Mar 15, 2012 at 06:18:39AM -0700, Simon Marlow wrote: > > Remove layers of newtype in Unique and Label > > Improves performance due to eliminating some unnecessary maps in > e.g. mapToList, setToList. This was quite a significant effect in > GHC. It seems a pity we h

Re: Hoopl

2011-08-25 Thread Ian Lynagh
On Mon, Aug 22, 2011 at 07:53:23AM +, Simon Peyton-Jones wrote: > > It's not clear that we need a darcs mirror for Hoopl any more. Shall we > simply nuke it? > > Ian, just to check, you aren't using anything Darcs-ish for Hoopl, are you? > http://hacka

New patches in /srv/darcs/git-mirrors/hoopl

2011-08-22 Thread Ian Lynagh
New patches in /srv/darcs/git-mirrors/hoopl commit b98db91cd0c53ddb2c275c04823f9c379774104b Author: Simon Peyton Jones Date: Mon Aug 22 08:47:05 2011 +0100 Add a kind annotation on Graph' data Graph' block (n :: * -> * -> *) e x where GNil :: Gr

Hoopl

2011-08-22 Thread Simon Peyton-Jones
Norman (and Ian) I have just pushed a 1-line change to the master hoopl repo linux.cs.tufts.edu:/r/c--/papers/dfopt. But I got the error message below. I have no idea what it is saying, but I suspect the problem is somewhere in the script that pushes the changes to the (now defunct) darcs

New patches in /srv/darcs/git-mirrors/hoopl

2011-08-19 Thread Ian Lynagh
New patches in /srv/darcs/git-mirrors/hoopl commit 6ffca823d05780f8b1c0de598da814bf248d1c06 Author: David Terei Date: Tue Aug 16 15:27:04 2011 -0700 Fix safe haskell issue with ghc 7.2.1 We can't rely on the containers package using Safe Haskell yet, so must have XUt

New patches in /srv/darcs/git-mirrors/hoopl

2011-08-18 Thread Ian Lynagh
New patches in /srv/darcs/git-mirrors/hoopl commit 6ffca823d05780f8b1c0de598da814bf248d1c06 Author: David Terei Date: Tue Aug 16 15:27:04 2011 -0700 Fix safe haskell issue with ghc 7.2.1 We can't rely on the containers package using Safe Haskell yet, so must have XUt

New patches in /srv/darcs/git-mirrors/hoopl

2011-08-17 Thread Ian Lynagh
New patches in /srv/darcs/git-mirrors/hoopl commit 6ffca823d05780f8b1c0de598da814bf248d1c06 Author: David Terei Date: Tue Aug 16 15:27:04 2011 -0700 Fix safe haskell issue with ghc 7.2.1 We can't rely on the containers package using Safe Haskell yet, so must have XUt

Re: Hoopl commits

2011-08-17 Thread David Terei
l.org/trac/ghc/wiki/Repositories to > specify this URL for pushing, and git://code.eecs.tufts.edu/hoopl/hoopl.git > for pulling. If you want something different, do edit the wiki to say what > you want > > | Attached is a patch for Hoopl for it to use Safe Haskell. Would be great

RE: Hoopl commits

2011-08-17 Thread Simon Peyton-Jones
| > | This URL should set you right: | > | | > |linux.cs.tufts.edu:/r/c--/papers/dfopt.git | > | > You are sure? That is, "dfopt.git"? OK I have updated http://hackage.haskell.org/trac/ghc/wiki/Repositories to specify this URL for pushing, and git://code.eecs.

New patches in /srv/darcs/git-mirrors/hoopl

2011-07-27 Thread Ian Lynagh
New patches in /srv/darcs/git-mirrors/hoopl commit cf8723c8e7d83a12d6f95abffd58ccb78aa0e0cb Author: Norman Ramsey Date: Fri Jul 22 15:20:55 2011 -0400 added and exported liftFuel method of FuelMonadT method runWithFuel remains hidden and should stay hidden thanks Justin

New patches in /srv/darcs/git-mirrors/hoopl

2011-07-26 Thread Ian Lynagh
New patches in /srv/darcs/git-mirrors/hoopl commit cf8723c8e7d83a12d6f95abffd58ccb78aa0e0cb Author: Norman Ramsey Date: Fri Jul 22 15:20:55 2011 -0400 added and exported liftFuel method of FuelMonadT method runWithFuel remains hidden and should stay hidden thanks Justin

New patches in /srv/darcs/git-mirrors/hoopl

2011-07-25 Thread Ian Lynagh
New patches in /srv/darcs/git-mirrors/hoopl commit cf8723c8e7d83a12d6f95abffd58ccb78aa0e0cb Author: Norman Ramsey Date: Fri Jul 22 15:20:55 2011 -0400 added and exported liftFuel method of FuelMonadT method runWithFuel remains hidden and should stay hidden thanks Justin

New patches in /srv/darcs/git-mirrors/hoopl

2011-07-24 Thread Ian Lynagh
New patches in /srv/darcs/git-mirrors/hoopl commit cf8723c8e7d83a12d6f95abffd58ccb78aa0e0cb Author: Norman Ramsey Date: Fri Jul 22 15:20:55 2011 -0400 added and exported liftFuel method of FuelMonadT method runWithFuel remains hidden and should stay hidden thanks Justin

New patches in /srv/darcs/git-mirrors/hoopl

2011-07-23 Thread Ian Lynagh
New patches in /srv/darcs/git-mirrors/hoopl commit cf8723c8e7d83a12d6f95abffd58ccb78aa0e0cb Author: Norman Ramsey Date: Fri Jul 22 15:20:55 2011 -0400 added and exported liftFuel method of FuelMonadT method runWithFuel remains hidden and should stay hidden thanks Justin

New patches in /srv/darcs/git-mirrors/hoopl

2011-07-19 Thread Ian Lynagh
New patches in /srv/darcs/git-mirrors/hoopl commit e2a7d30117f865d933a9d1b71a2a8516e32e Merge: 6a3637d... 0febb7f... Author: Norman Ramsey Date: Mon Jul 18 14:33:39 2011 -0400 Merge branch 'master' of linux.cs.tufts.edu:/r/c--/papers/dfopt the 'validate&

[commit: testsuite] master: Another variant of hashStr, this one caught a Hoopl bug. (e9b95e9)

2011-06-28 Thread Edward Z. Yang
d Z. Yang Date: Tue Jun 28 08:20:50 2011 -0400 Another variant of hashStr, this one caught a Hoopl bug. Signed-off-by: Edward Z. Yang >--- tests/ghc-regress/codeGen/should_compile/all.T |1 + .../cgrun

Re: Tracking binary size changes of Hoopl

2011-04-08 Thread Edward Z. Yang
from Edward Z. Yang's message of Thu Apr 07 11:37:05 -0400 2011: > I've been working on new optimization passes for Hoopl to get > the code back to the quality of the old code generator. > With the new optimization pass, the binaries in the test suite > are, on average,

Re: Tracking binary size changes of Hoopl

2011-04-08 Thread Simon Marlow
On 07/04/2011 16:37, Edward Z. Yang wrote: I've been working on new optimization passes for Hoopl to get the code back to the quality of the old code generator. With the new optimization pass, the binaries in the test suite are, on average, 7% larger than the old code generator. Here ar

Tracking binary size changes of Hoopl

2011-04-07 Thread Edward Z. Yang
I've been working on new optimization passes for Hoopl to get the code back to the quality of the old code generator. With the new optimization pass, the binaries in the test suite are, on average, 7% larger than the old code generator. Here are the worst offenders, with T3294 clocking in w

[PATCH] Replace late reloads Hoopl pass with generalized late assignment pass.

2011-04-06 Thread Edward Z. Yang
se of the register. Here, the register is +-- assigned multiple times, so it won't actually get inlined... + +type AssignmentMap = UniqFM (LocalReg, WithTop CmmExpr) + +-- ToDo: Move this into somewhere more general (UniqFM? That will +-- introduce a Hoopl dependency on that file.) +j

Hoopl profiling

2011-03-15 Thread Edward Z. Yang
I've started looking at profiling Hoopl (I figure we should speed it up before we start adding lots of optimization passes). I was wondering if there was any useful current state here. Some initial profiling of concurrent/prog001 indicates the following (indented sections are shared betwee

[commit: ghc] master: only the GHC repo is in git for now; add hoopl (71d6a2d)

2011-02-04 Thread Simon Marlow
low Date: Thu Feb 3 20:57:05 2011 + only the GHC repo is in git for now; add hoopl packages.git | 81 + 1 files changed, 41 insertions(+), 40 deletions(-) Diff suppressed because of size. To see it, use: git s

Re: Problem with hoopl x86_64 linux ghc 7.1

2011-02-03 Thread Vivian McPhail
hc-boun...@haskell.org [mailto:cvs-ghc-boun...@haskell.org] >> *On Behalf Of *Alexander McPhail >> *Sent:* 01 February 2011 09:10 >> *To:* cvs-ghc@haskell.org >> *Subject:* Problem with hoopl x86_64 linux ghc 7.1 >> >> >> >> ghc-7.1.20110131 >> lin

patch applied (ghc): only the GHC repo is in git for now; add hoopl

2011-02-03 Thread Simon Marlow
Thu Feb 3 12:57:05 PST 2011 Simon Marlow * only the GHC repo is in git for now; add hoopl M ./packages.git -40 +41 View patch online: http://darcs.haskell.org/cgi-bin/darcsweb.cgi?r=ghc;a=darcs_commitdiff;h=20110203205705-12142-b53c042ceca76f461c4ec302416cdf9bdb051b27.gz

Fwd: Problem with hoopl x86_64 linux ghc 7.1

2011-02-01 Thread Vivian McPhail
-- Forwarded message -- From: Vivian McPhail Date: 2 February 2011 00:43 Subject: Re: Problem with hoopl x86_64 linux ghc 7.1 To: Simon Peyton-Jones On 2 February 2011 00:37, Simon Peyton-Jones wrote: > What version of ghc is in /home/ghc/bin/ghc? > > > $ ghc -

RE: Problem with hoopl x86_64 linux ghc 7.1

2011-02-01 Thread Simon Peyton-Jones
-boun...@haskell.org] On Behalf Of Alexander McPhail Sent: 01 February 2011 09:10 To: cvs-ghc@haskell.org Subject: Problem with hoopl x86_64 linux ghc 7.1 ghc-7.1.20110131 linux x86_64 $ make dist-clean && perl boot && ./configure && make -j6 [..] "/home/ghc/bin/ghc

Problem with hoopl x86_64 linux ghc 7.1

2011-02-01 Thread Alexander McPhail
irectory-1.1.0.0 -package filepath-1.2.0.0 -package hoopl-3.8.6.1 -package hpc-0.5.0.6 -package old-time-1.0.0.6 -package process-1.0.1.4 -package unix-2.4.1.0 -Wall -fno-warn-name-shadowing -fno-warn-orphans -XHaskell98 -XCPP -XMagicHash -XUnboxedTuples -XPatternGuards -XForeignFunctionInterface -XEmp

Re: darcs patch: make warnings in some Hoopl modules non-... (and 1 more)

2011-01-14 Thread Edward Z. Yang
This patch also needs a unyet-committed patch to Hoopl to fix some warnings, or it will break the validate script (it builds fine normally). Excerpts from Edward Z. Yang's message of Fri Jan 14 11:52:43 -0500 2011: > 2 patches for repository http://darcs.haskell.org/ghc: > > Thu S

RE: darcs patch: Make Hoopl work with MonoLocalBinds.

2010-12-10 Thread Simon Peyton-Jones
darcs thing? Simon | -Original Message- | From: Edward Z. Yang [mailto:ezy...@mit.edu] | Sent: 09 December 2010 16:13 | To: n...@cs.tufts.edu; d...@cs.tufts.edu; Simon Peyton-Jones | Subject: darcs patch: Make Hoopl work with MonoLocalBinds. | | 1 patch for repository http://darcs.haskell.org