let excessPrecision = dopt Opt_ExcessPrecision dflags
+ let cc_opt | optLevel dflags >= 2 = "-O2"
+ | otherwise = "-O"
+
-- Decide next phase
let mangle = dopt Opt_DoAsmMangling dflags
++ (if hcc
then more_hcc_opts
else [])
- ++ [ verb, "-S", "-Wimplicit", "-O" ]
+ ++ [ verb, "-S", "-Wimplicit", cc_opt ]
++ [ "-D__GLASGOW_HASKELL__="++cProjectVersionInt ]
++ cc_opts
++ split_opt