
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? spec-constr-count / threshold, simplifier phases, simpl-tick-factor, no-liberate-case I have tried... Thanks, Christian PS: This is a ask-first-try-to-find-a-simple-example-later mail ;-) [1] http://hackage.haskell.org/trac/ghc/ticket/5539