opt_MaxContextReductionDepth,
opt_IrrefutableTuples,
opt_Parallel,
- opt_SMP,
opt_RuntimeTypes,
opt_Flatten,
#include "HsVersions.h"
-import DriverPhases
import Util ( consIORef )
import CmdLineParser
import Config ( cProjectVersionInt, cProjectPatchLevel,
opt_IrrefutableTuples = lookUp FSLIT("-firrefutable-tuples")
opt_MaxContextReductionDepth = lookup_def_int "-fcontext-stack" mAX_CONTEXT_REDUCTION_DEPTH
opt_Parallel = lookUp FSLIT("-fparallel")
-opt_SMP = lookUp FSLIT("-fsmp")
opt_Flatten = lookUp FSLIT("-fflatten")
-- optimisation opts
"fdicts-strict",
"firrefutable-tuples",
"fparallel",
- "fsmp",
"fflatten",
"fsemi-tagging",
"flet-no-escape",
WayThreaded `allowedWith` WayProf = True
WayProf `allowedWith` WayUnreg = True
- WayProf `allowedWith` WaySMP = True
WayProf `allowedWith` WayNDP = True
_ `allowedWith` _ = False
(WayProf, Way "p" False "Profiling"
[ "-fscc-profiling"
, "-DPROFILING"
- , "-optc-DPROFILING"
- , "-fvia-C" ]),
+ , "-optc-DPROFILING" ]),
(WayTicky, Way "t" False "Ticky-ticky Profiling"
[ "-fticky-ticky"
, "-DTICKY_TICKY"
- , "-optc-DTICKY_TICKY"
- , "-fvia-C" ]),
+ , "-optc-DTICKY_TICKY" ]),
(WayUnreg, Way "u" False "Unregisterised"
unregFlags ),
, "-optc-w"
, "-optl-L${PVM_ROOT}/lib/${PVM_ARCH}"
, "-optl-lpvm3"
- , "-optl-lgpvm3"
- , "-fvia-C" ]),
+ , "-optl-lgpvm3" ]),
-- at the moment we only change the RTS and could share compiler and libs!
(WayPar, Way "mt" False "Parallel ticky profiling"
, "-optc-w"
, "-optl-L${PVM_ROOT}/lib/${PVM_ARCH}"
, "-optl-lpvm3"
- , "-optl-lgpvm3"
- , "-fvia-C" ]),
+ , "-optl-lgpvm3" ]),
(WayPar, Way "md" False "Distributed"
[ "-fparallel"
, "-optc-w"
, "-optl-L${PVM_ROOT}/lib/${PVM_ARCH}"
, "-optl-lpvm3"
- , "-optl-lgpvm3"
- , "-fvia-C" ]),
+ , "-optl-lgpvm3" ]),
(WayGran, Way "mg" False "GranSim"
[ "-fgransim"
, "-D__GRANSIM__"
, "-optc-DGRAN"
- , "-package concurrent"
- , "-fvia-C" ]),
+ , "-package concurrent" ]),
- (WaySMP, Way "s" False "SMP"
- [ "-fsmp"
+ (WaySMP, Way "s" True "SMP"
+ [
#if !defined(mingw32_TARGET_OS)
- , "-optc-pthread"
+ "-optc-pthread"
#endif
#if !defined(mingw32_TARGET_OS) && !defined(freebsd_TARGET_OS)
, "-optl-pthread"
#endif
- , "-optc-DSMP"
- , "-fvia-C" ]),
+ ]),
(WayNDP, Way "ndp" False "Nested data parallelism"
[ "-fparr"