diff --git a/ghc/compiler/main/CmdLineOpts.lhs b/ghc/compiler/main/CmdLineOpts.lhs index 0c8dfca45619c4d29387d649af26798bcf861e8e..09fbaa9bbff69fb5714d1b757238c0ad8f216d53 100644 --- a/ghc/compiler/main/CmdLineOpts.lhs +++ b/ghc/compiler/main/CmdLineOpts.lhs @@ -86,6 +86,7 @@ module CmdLineOpts ( opt_UnfoldingCreationThreshold, opt_UnfoldingConDiscount, opt_UnfoldingUseThreshold, + opt_UnfoldingKeenessFactor, opt_Verbose, opt_WarnNameShadowing, @@ -241,10 +242,11 @@ data SimplifierSwitch %************************************************************************ \begin{code} -lookUp :: FAST_STRING -> Bool -lookup_int :: String -> Maybe Int -lookup_def_int :: String -> Int -> Int -lookup_str :: String -> Maybe String +lookUp :: FAST_STRING -> Bool +lookup_int :: String -> Maybe Int +lookup_def_int :: String -> Int -> Int +lookup_def_float :: String -> Float -> Float +lookup_str :: String -> Maybe String lookUp sw = maybeToBool (assoc_opts sw) @@ -258,6 +260,10 @@ lookup_def_int sw def = case (lookup_str sw) of Nothing -> def -- Use default Just xx -> read xx +lookup_def_float sw def = case (lookup_str sw) of + Nothing -> def -- Use default + Just xx -> read xx + assoc_opts = assocMaybe [ (a, True) | a <- argv ] unpacked_opts = map _UNPK_ argv \end{code} @@ -336,6 +342,7 @@ opt_UnfoldingUseThreshold = lookup_def_int "-funfolding-use-threshold" uNFOLD opt_UnfoldingConDiscount = lookup_def_int "-funfolding-con-discount" uNFOLDING_CON_DISCOUNT_WEIGHT opt_LiberateCaseThreshold = lookup_def_int "-fliberate-case-threshold" lIBERATE_CASE_THRESHOLD +opt_UnfoldingKeenessFactor = lookup_def_float "-funfolding-keeness-factor" uNFOLDING_KEENESS_FACTOR opt_WarnNameShadowing = lookUp SLIT("-fwarn-name-shadowing") opt_WarnIncompletePatterns = lookUp SLIT("-fwarn-incomplete-patterns") opt_WarnOverlappedPatterns = lookUp SLIT("-fwarn-overlapped-patterns")