Make -fparallel a dynamic flag
authorIan Lynagh <igloo@earth.li>
Wed, 20 Jun 2012 14:31:19 +0000 (15:31 +0100)
committerIan Lynagh <igloo@earth.li>
Wed, 20 Jun 2012 14:32:51 +0000 (15:32 +0100)
compiler/codeGen/ClosureInfo.lhs
compiler/codeGen/StgCmmClosure.hs
compiler/main/DynFlags.hs
compiler/main/StaticFlagParser.hs
compiler/main/StaticFlags.hs

index ac60677..7a91a5e 100644 (file)
@@ -649,8 +649,8 @@ getCallMethod :: DynFlags
              -> RepArity       -- Number of available arguments
              -> CallMethod
 
-getCallMethod _ _ _ lf_info _
-  | nodeMustPointToIt lf_info && opt_Parallel
+getCallMethod dflags _ _ lf_info _
+  | nodeMustPointToIt lf_info && dopt Opt_Parallel dflags
   =    -- If we're parallel, then we must always enter via node.  
        -- The reason is that the closure may have been         
        -- fetched since we allocated it.
index aaecdd3..483a67c 100644 (file)
@@ -474,8 +474,8 @@ getCallMethod :: DynFlags
              -> RepArity               -- Number of available arguments
              -> CallMethod
 
-getCallMethod _ _name _ lf_info _n_args
-  | nodeMustPointToIt lf_info && opt_Parallel
+getCallMethod dflags _name _ lf_info _n_args
+  | nodeMustPointToIt lf_info && dopt Opt_Parallel dflags
   =    -- If we're parallel, then we must always enter via node.  
        -- The reason is that the closure may have been         
        -- fetched since we allocated it.
index 7192ff8..3fffd0e 100644 (file)
@@ -309,6 +309,7 @@ data DynFlag
    | Opt_GhciHistory
    | Opt_HelpfulErrors
    | Opt_DeferTypeErrors
+   | Opt_Parallel
 
    -- output style opts
    | Opt_PprCaseAsLet
@@ -1985,6 +1986,7 @@ fFlags = [
   ( "ghci-history",                     Opt_GhciHistory, nop ),
   ( "helpful-errors",                   Opt_HelpfulErrors, nop ),
   ( "defer-type-errors",                Opt_DeferTypeErrors, nop ),
+  ( "parallel",                         Opt_Parallel, nop ),
   ( "building-cabal-package",           Opt_BuildingCabalPackage, nop ),
   ( "implicit-import-qualified",        Opt_ImplicitImportQualified, nop ),
   ( "prof-count-entries",               Opt_ProfCountEntries, nop ),
index 6b425f3..ba8ac0c 100644 (file)
@@ -170,7 +170,6 @@ isStaticFlag f =
     "fscc-profiling",
     "fdicts-strict",
     "fspec-inline-join-points",
-    "fparallel",
     "fgransim",
     "fno-hi-version-check",
     "dno-black-holing",
index 0b58fdd..4948751 100644 (file)
@@ -48,7 +48,6 @@ module StaticFlags (
 
        -- language opts
        opt_DictsStrict,
-       opt_Parallel,
 
        -- optimisation opts
        opt_NoStateHack,
@@ -264,9 +263,6 @@ opt_Hpc                             = lookUp (fsLit "-fhpc")
 opt_DictsStrict :: Bool
 opt_DictsStrict                        = lookUp  (fsLit "-fdicts-strict")
 
-opt_Parallel :: Bool
-opt_Parallel                   = lookUp  (fsLit "-fparallel")
-
 opt_SimpleListLiterals :: Bool
 opt_SimpleListLiterals         = lookUp  (fsLit "-fsimple-list-literals")