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,
, ( "ticky" , NoArg (addWay WayTicky) )
, ( "parallel" , NoArg (addWay WayPar) )
, ( "gransim" , NoArg (addWay WayGran) )
- , ( "smp" , NoArg (addWay WaySMP) )
+ , ( "smp" , NoArg (addWay WayThreaded) ) -- backwards compat.
, ( "debug" , NoArg (addWay WayDebug) )
, ( "ndp" , NoArg (addWay WayNDP) )
, ( "threaded" , NoArg (addWay WayThreaded) )
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",
| WayTicky
| WayPar
| WayGran
- | WaySMP
| WayNDP
| WayUser_a
| WayUser_b
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" ]),
-
- (WaySMP, Way "s" False "SMP"
- [ "-fsmp"
- , "-optc-pthread"
-#ifndef freebsd_TARGET_OS
- , "-optl-pthread"
-#endif
- , "-optc-DSMP"
- , "-fvia-C" ]),
+ , "-package concurrent" ]),
(WayNDP, Way "ndp" False "Nested data parallelism"
[ "-fparr"