Commit f91610ed authored by simonpj@microsoft.com's avatar simonpj@microsoft.com
Browse files

Make -funfolding-dict-threshold work properly

and increase its default value. This makes overloaded functions
a bit keener to inline.  Which fixes Trac #4321
parent b378873b
......@@ -194,6 +194,7 @@ isStaticFlag f =
"fmax-worker-args",
"fhistory-size",
"funfolding-creation-threshold",
"funfolding-dict-threshold",
"funfolding-use-threshold",
"funfolding-fun-discount",
"funfolding-keeness-factor"
......
......@@ -277,7 +277,11 @@ opt_UF_KeenessFactor :: Float
opt_UF_CreationThreshold = lookup_def_int "-funfolding-creation-threshold" (45::Int)
opt_UF_UseThreshold = lookup_def_int "-funfolding-use-threshold" (6::Int)
opt_UF_FunAppDiscount = lookup_def_int "-funfolding-fun-discount" (6::Int)
opt_UF_DictDiscount = lookup_def_int "-funfolding-dict-discount" (1::Int)
opt_UF_DictDiscount = lookup_def_int "-funfolding-dict-discount" (3::Int)
-- Be fairly keen to inline a fuction if that means
-- we'll be able to pick the right method from a dictionary
opt_UF_KeenessFactor = lookup_def_float "-funfolding-keeness-factor" (1.5::Float)
opt_UF_DearOp = ( 4 :: Int)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment