optimizer, spec-constr changes 7.2.2 -> 7.4

Christian Höner zu Siederdissen choener at tbi.univie.ac.at
Tue May 1 00:11:07 CEST 2012


I am currently trying to get my ADPfusion library to optimize code using
ghc-head (same thing described below happens with 7.4.1).

Using ghc-7.2.2, both test programs (Nussinov78 and RNAFold) optimize
well, the performance is close to C and ghc-core shows good code. This
is mostly to say that optimization using ghc-7.2.2 is not an accident
but works reliably.

Unfortunately, with ghc-head it seems that constructor specialization
does not happen. I see a lot of "case x of, Left -> ..., Right -> ..."
and "case x of, Yield -> ..." which leads to really bad (slow) code.

As there are some discussions going on regarding the optimizer not
optimizing (like the ticks exhausted [1] one), are there other changes
in the optimizer that could affect it?

spec-constr-count / threshold, simplifier phases, simpl-tick-factor,
no-liberate-case I have tried...


PS: This is a ask-first-try-to-find-a-simple-example-later mail ;-)

[1] http://hackage.haskell.org/trac/ghc/ticket/5539
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://www.haskell.org/pipermail/glasgow-haskell-users/attachments/20120501/26fff6ba/attachment.pgp>

More information about the Glasgow-haskell-users mailing list