RE: Hoopl question

2015-05-05 Thread Simon Peyton Jones
Also Ning Wang and Andreas Voellmy have taken over maintainership of Hoopl, so they would be good people to talk to. Simon From: ghc-devs [mailto:ghc-devs-boun...@haskell.org] On Behalf Of Michal Terepeta Sent: 02 May 2015 14:21 To: ghc-devs@haskell.org Subject: Hoopl question Hi, I've just

Re: Hoopl question

2015-05-05 Thread Jan Stolarek
@haskell.org Subject: Hoopl question Hi, I've just read through the Hoopl paper and then noticed https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/HooplPerformance which is really interesting. But it seems that there were no updates to the page in like 3 years, yet the new codegen

RE: Hoopl question

2015-05-05 Thread Simon Peyton Jones
Wang | Subject: Re: Hoopl question | | Also Ning Wang and Andreas Voellmy have taken over maintainership of | Hoopl | Sadly, this is not what Hackage says. | | Janek | | , | so they would be good people to talk to. | | Simon | | From: ghc-devs [mailto:ghc-devs-boun

Re: Hoopl question

2015-05-03 Thread Michal Terepeta
On Sun, May 3, 2015 at 7:39 PM Jan Stolarek jan.stola...@p.lodz.pl wrote: Michał, one of my students is currently working on this: https://ghc.haskell.org/trac/ghc/wiki/Hoopl/Cleanup as his BSc thesis (see #8315). It might turn out that he will also have enough time to focus on

Re: Hoopl question

2015-05-03 Thread Jan Stolarek
Which reminds me about another question I had -- the main reason to have the specialized module in GHC (instead of relying on the Hoopl one) is performance, right? Yes. If you're interested you might look at ghc-devs archives from July and August 2013 - I was doing MSR internship at that

Re: Hoopl question

2015-05-03 Thread Jan Stolarek
Michał, one of my students is currently working on this: https://ghc.haskell.org/trac/ghc/wiki/Hoopl/Cleanup as his BSc thesis (see #8315). It might turn out that he will also have enough time to focus on performance issues in Hoopl but at this point it is hard to tell. Janek Dnia sobota, 2

Hoopl question

2015-05-02 Thread Michal Terepeta
Hi, I've just read through the Hoopl paper and then noticed https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/HooplPerformance which is really interesting. But it seems that there were no updates to the page in like 3 years, yet the new codegen seems to be using Hoopl... Does anyone know

Re: Yet Another Hoopl Question

2013-08-15 Thread Jan Stolarek
One possibility is to do this transformation once and for all, *before* the constant-prop pass, since it is not dependent on the facts generated by the pass. Yes, that was Geoffrey's suggestion as well. I'll do that once I fix some remaining issues in copy propagation. Janek

RE: Yet Another Hoopl Question

2013-08-14 Thread Simon Peyton-Jones
| So why are Hoopl's rewrite functions specialized to UniqSM monad? My | understanding so far was that this is precisely because we need access to Uniq | supply to generate new labels and registers during rewriting. I'm guessing that | nobody intended that these newly generated things will

Yet Another Hoopl Question

2013-08-13 Thread Jan Stolarek
I have yet another Hoopl question. One of my rewrites allocates a new unique local register and this register is later added as a fact. So I have Cmm code that looks like this: I32[(old + 4)] = complicated_expr which is rewritten to: newReg1 = complicated_expr I32[(old + 4)] = newReg1

Re: Yet Another Hoopl Question

2013-08-13 Thread Simon Marlow
On 13/08/13 13:03, Jan Stolarek wrote: I have yet another Hoopl question. One of my rewrites allocates a new unique local register and this register is later added as a fact. So I have Cmm code that looks like this: I32[(old + 4)] = complicated_expr which is rewritten to: newReg1

Re: Yet Another Hoopl Question

2013-08-13 Thread Edward Z. Yang
Forgive me for asking the classic question: What are you really trying to do? Edward Excerpts from Simon Marlow's message of Tue Aug 13 09:25:51 -0400 2013: On 13/08/13 13:03, Jan Stolarek wrote: I have yet another Hoopl question. One of my rewrites allocates a new unique local register

Re: Yet Another Hoopl Question

2013-08-13 Thread Jan Stolarek
The next question is well how do I do this then?. I'm not quite sure, maybe you need to use a deterministic name supply monad. So why are Hoopl's rewrite functions specialized to UniqSM monad? My understanding so far was that this is precisely because we need access to Uniq supply to