logo       

Re: [GHC] #609: Useful optimisation for set-cost-centre: msg#00104

lang.haskell.glasgow.bugs

Subject: Re: [GHC] #609: Useful optimisation for set-cost-centre

#609: Useful optimisation for set-cost-centre
-------------------------------+--------------------------------------------
Reporter: simonpj | Owner:
Type: task | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: None
Severity: normal | Resolution: None
Keywords: | Os: Unknown
Difficulty: Moderate (1 day) | Architecture: Unknown
-------------------------------+--------------------------------------------
Changes (by simonmar):

* architecture: => Unknown
* difficulty: => Moderate (1 day)
* os: => Unknown

Old description:

> {{{
> If you compile, for example, drvrun014 with -prof -auto-all, you'll see
> stuff like
>
> (scc "c" (dataToTag#)) y
>
> This generates bad code, because we end up eta-expaning dataToTag, which
> allocates an extra function closure.
>
> We think that in general
>
> (scc "c" e) y = scc "c" (e y)
>
> to within a small constant factor. So maybe the simplifier, or CorePrep,
> or both, should do this transformation.
> }}}

New description:

{{{
If you compile, for example, drvrun014 with -prof -auto-all, you'll see
stuff like

(scc "c" (dataToTag#)) y

This generates bad code, because we end up eta-expaning dataToTag, which
allocates an extra function closure.

We think that in general

(scc "c" e) y = scc "c" (e y)

to within a small constant factor. So maybe the simplifier, or CorePrep,
or both, should do this transformation.
}}}

--
Ticket URL: <http://cvs.haskell.org/trac/ghc/ticket/609>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler_______________________________________________
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@xxxxxxxxxxx
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise