Enable -prof -threaded (#886)
[ghc-hetmet.git] / compiler / main / StaticFlags.hs
index 31b9414..043df54 100644 (file)
@@ -49,6 +49,7 @@ module StaticFlags (
        -- optimisation opts
        opt_NoMethodSharing, 
        opt_NoStateHack,
+       opt_SpecInlineJoinPoints,
        opt_CprOff,
        opt_SimplNoPreInlining,
        opt_SimplExcessPrecision,
@@ -59,13 +60,11 @@ module StaticFlags (
        opt_UF_UseThreshold,
        opt_UF_FunAppDiscount,
        opt_UF_KeenessFactor,
-       opt_UF_UpdateInPlace,
        opt_UF_DearOp,
 
        -- Related to linking
        opt_PIC,
        opt_Static,
-       opt_HardwireLibPaths,
 
        -- misc opts
        opt_IgnoreDotGhci,
@@ -305,6 +304,7 @@ opt_Parallel                        = lookUp  FSLIT("-fparallel")
 opt_Flatten                    = lookUp  FSLIT("-fflatten")
 
 -- optimisation opts
+opt_SpecInlineJoinPoints       = lookUp  FSLIT("-fspec-inline-join-points")
 opt_NoStateHack                        = lookUp  FSLIT("-fno-state-hack")
 opt_NoMethodSharing            = lookUp  FSLIT("-fno-method-sharing")
 opt_CprOff                     = lookUp  FSLIT("-fcpr-off")
@@ -328,7 +328,6 @@ opt_UF_CreationThreshold    = lookup_def_int "-funfolding-creation-threshold"  (45:
 opt_UF_UseThreshold            = lookup_def_int "-funfolding-use-threshold"       (8::Int)     -- Discounts can be big
 opt_UF_FunAppDiscount          = lookup_def_int "-funfolding-fun-discount"        (6::Int)     -- It's great to inline a fn
 opt_UF_KeenessFactor           = lookup_def_float "-funfolding-keeness-factor"    (1.5::Float)
-opt_UF_UpdateInPlace           = lookUp  FSLIT("-funfolding-update-in-place")
 
 opt_UF_DearOp   = ( 4 :: Int)
                        
@@ -338,7 +337,6 @@ opt_PIC                         = True
 opt_PIC                         = lookUp FSLIT("-fPIC")
 #endif
 opt_Static                     = lookUp  FSLIT("-static")
-opt_HardwireLibPaths           = lookUp  FSLIT("-fhardwire-lib-paths")
 opt_Unregisterised             = lookUp  FSLIT("-funregisterised")
 
 -- Derived, not a real option.  Determines whether we will be compiling
@@ -366,6 +364,7 @@ isStaticFlag f =
        "fauto-sccs-on-individual-cafs",
        "fscc-profiling",
        "fdicts-strict",
+       "fspec-inline-join-points",
        "firrefutable-tuples",
        "fparallel",
        "fflatten",
@@ -377,7 +376,6 @@ isStaticFlag f =
        "fruntime-types",
        "fno-pre-inlining",
        "fexcess-precision",
-       "funfolding-update-in-place",
        "static",
        "fhardwire-lib-paths",
        "funregisterised",
@@ -494,6 +492,7 @@ allowed_combination way = and [ x `allowedWith` y
        WayDebug `allowedWith` _                = True
 
        WayProf `allowedWith` WayNDP            = True
+       WayThreaded `allowedWith` WayProf       = True
        _ `allowedWith` _                       = False