[commit: ghc] newcg: fixes to the mini-inliner (fixes stage2 crashes) (9a32e71)
johan.tibell at gmail.com
Tue Mar 6 17:02:28 CET 2012
On Tue, Mar 6, 2012 at 7:23 AM, Simon Marlow <marlowsd at gmail.com> wrote:
> However it's possible that we'll replace the mini-inliner entirely. It
> has always been a bit of a hack, and the new code generator is quite
> effective at exposing its shortcomings. Edward's CmmRewriteAssignments
> pass was supposed to be the glorious replacement, but it is too inefficient
> to use (I have it turned off on the newcg branch right now).
There's a bunch of loop unrolling that depends on us being able to inline
constants, so it'd be nice if we had some forward propagation in place
before we switch to the new GC. In particular, it'd be nice if we have
enough performance headroom to add the passes we need to the new CG without
large slowdowns in compilation speed.
Aside: isn't the whole point of Hoopl that you're supposed to be able all
these separate passes and have them run efficiently? If we can only use a
few passes due to the overheads, what does Hoopl buy us?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Cvs-ghc