Picon
Picon

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?

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
_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users <at> haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Gmane