optimizer, spec-constr changes 7.2.2 -> 7.4

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
Report Content as Inappropriate

optimizer, spec-constr changes 7.2.2 -> 7.4

Christian Höner zu Siederdissen-2

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

Glasgow-haskell-users mailing list
[hidden email]

attachment0 (205 bytes) Download Attachment