optimizer, spec-constr changes 7.2.2 -> 7.4

optimizer, spec-constr changes 7.2.2 -> 7.4

Hi,

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?