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  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 ;-)