
duncan.coutts:
On Thu, 2008-05-15 at 23:00 +0400, Bulat Ziganshin wrote:
Hello Don,
Thursday, May 15, 2008, 10:47:20 PM, you wrote:
I discovered something today I didn't know. gcc -O2 can optimise out the computed jumps GHC produces in tight loops.
seems that decision to use native backend in ghc -O2 was too early?
Though note that the native backend never introduced the computed jump.
I think it's clear that -fvia-C -O should imply -optc-O2 if it does not already. gcc -O0 is for painfully obvious C translation into assembler, -O is for quick optimisations. gcc -O2 is the "standard" optimisation level used for building packages for most distros.
Another idea: should -fstrictness be on by default? I run into too many users writing little tail recursive Int loops, and not using optimisations, with the impression that compiling, e.g. ghc A.hs should just work. -- Don