projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vectoriser: fix conflicts
[ghc-hetmet.git]
/
compiler
/
main
/
StaticFlags.hs
diff --git
a/compiler/main/StaticFlags.hs
b/compiler/main/StaticFlags.hs
index
56242b7
..
5a43eb6
100644
(file)
--- a/
compiler/main/StaticFlags.hs
+++ b/
compiler/main/StaticFlags.hs
@@
-23,7
+23,8
@@
module StaticFlags (
opt_PprUserLength,
opt_SuppressUniques,
opt_SuppressCoercions,
opt_PprUserLength,
opt_SuppressUniques,
opt_SuppressCoercions,
- opt_PprStyle_Debug,
+ opt_SuppressModulePrefixes,
+ opt_PprStyle_Debug, opt_TraceLevel,
opt_NoDebugOutput,
-- profiling opts
opt_NoDebugOutput,
-- profiling opts
@@
-38,10
+39,8
@@
module StaticFlags (
opt_Parallel,
-- optimisation opts
opt_Parallel,
-- optimisation opts
- opt_DsMultiTyVar,
opt_NoStateHack,
opt_SimpleListLiterals,
opt_NoStateHack,
opt_SimpleListLiterals,
- opt_SpecInlineJoinPoints,
opt_CprOff,
opt_SimplNoPreInlining,
opt_SimplExcessPrecision,
opt_CprOff,
opt_SimplNoPreInlining,
opt_SimplExcessPrecision,
@@
-84,7
+83,7
@@
module StaticFlags (
import Config
import FastString
import Util
import Config
import FastString
import Util
-import Maybes ( firstJust )
+import Maybes ( firstJusts )
import Panic
import Data.Maybe ( listToMaybe )
import Panic
import Data.Maybe ( listToMaybe )
@@
-138,7
+137,7
@@
lookUp sw = sw `elem` packed_static_opts
-- (lookup_str "foo") looks for the flag -foo=X or -fooX,
-- and returns the string X
lookup_str sw
-- (lookup_str "foo") looks for the flag -foo=X or -fooX,
-- and returns the string X
lookup_str sw
- = case firstJust (map (stripPrefix sw) staticFlags) of
+ = case firstJusts (map (stripPrefix sw) staticFlags) of
Just ('=' : str) -> Just str
Just str -> Just str
Nothing -> Nothing
Just ('=' : str) -> Just str
Just str -> Just str
Nothing -> Nothing
@@
-185,14
+184,26
@@
opt_IgnoreDotGhci = lookUp (fsLit "-ignore-dot-ghci")
-- debugging opts
opt_SuppressUniques :: Bool
opt_SuppressUniques = lookUp (fsLit "-dsuppress-uniques")
-- debugging opts
opt_SuppressUniques :: Bool
opt_SuppressUniques = lookUp (fsLit "-dsuppress-uniques")
+
opt_SuppressCoercions :: Bool
opt_SuppressCoercions = lookUp (fsLit "-dsuppress-coercions")
opt_SuppressCoercions :: Bool
opt_SuppressCoercions = lookUp (fsLit "-dsuppress-coercions")
+
+opt_SuppressModulePrefixes :: Bool
+opt_SuppressModulePrefixes = lookUp (fsLit "-dsuppress-module-prefixes")
+
opt_PprStyle_Debug :: Bool
opt_PprStyle_Debug :: Bool
-opt_PprStyle_Debug = lookUp (fsLit "-dppr-debug")
+opt_PprStyle_Debug = lookUp (fsLit "-dppr-debug")
+
+opt_TraceLevel :: Int
+opt_TraceLevel = lookup_def_int "-dtrace-level" 1 -- Standard level is 1
+ -- Less verbose is 0
+
opt_PprUserLength :: Int
opt_PprUserLength = lookup_def_int "-dppr-user-length" 5 --ToDo: give this a name
opt_PprUserLength :: Int
opt_PprUserLength = lookup_def_int "-dppr-user-length" 5 --ToDo: give this a name
+
opt_Fuel :: Int
opt_Fuel = lookup_def_int "-dopt-fuel" maxBound
opt_Fuel :: Int
opt_Fuel = lookup_def_int "-dopt-fuel" maxBound
+
opt_NoDebugOutput :: Bool
opt_NoDebugOutput = lookUp (fsLit "-dno-debug-output")
opt_NoDebugOutput :: Bool
opt_NoDebugOutput = lookUp (fsLit "-dno-debug-output")
@@
-208,19
+219,13
@@
opt_Hpc = lookUp (fsLit "-fhpc")
-- language opts
opt_DictsStrict :: Bool
opt_DictsStrict = lookUp (fsLit "-fdicts-strict")
-- language opts
opt_DictsStrict :: Bool
opt_DictsStrict = lookUp (fsLit "-fdicts-strict")
+
opt_IrrefutableTuples :: Bool
opt_IrrefutableTuples = lookUp (fsLit "-firrefutable-tuples")
opt_IrrefutableTuples :: Bool
opt_IrrefutableTuples = lookUp (fsLit "-firrefutable-tuples")
+
opt_Parallel :: Bool
opt_Parallel = lookUp (fsLit "-fparallel")
opt_Parallel :: Bool
opt_Parallel = lookUp (fsLit "-fparallel")
--- optimisation opts
-opt_DsMultiTyVar :: Bool
-opt_DsMultiTyVar = not (lookUp (fsLit "-fno-ds-multi-tyvar"))
- -- On by default
-
-opt_SpecInlineJoinPoints :: Bool
-opt_SpecInlineJoinPoints = lookUp (fsLit "-fspec-inline-join-points")
-
opt_SimpleListLiterals :: Bool
opt_SimpleListLiterals = lookUp (fsLit "-fsimple-list-literals")
opt_SimpleListLiterals :: Bool
opt_SimpleListLiterals = lookUp (fsLit "-fsimple-list-literals")
@@
-235,12
+240,16
@@
opt_MaxWorkerArgs = lookup_def_int "-fmax-worker-args" (10::Int)
opt_GranMacros :: Bool
opt_GranMacros = lookUp (fsLit "-fgransim")
opt_GranMacros :: Bool
opt_GranMacros = lookUp (fsLit "-fgransim")
+
opt_HiVersion :: Integer
opt_HiVersion = read (cProjectVersionInt ++ cProjectPatchLevel) :: Integer
opt_HiVersion :: Integer
opt_HiVersion = read (cProjectVersionInt ++ cProjectPatchLevel) :: Integer
+
opt_HistorySize :: Int
opt_HistorySize = lookup_def_int "-fhistory-size" 20
opt_HistorySize :: Int
opt_HistorySize = lookup_def_int "-fhistory-size" 20
+
opt_OmitBlackHoling :: Bool
opt_OmitBlackHoling = lookUp (fsLit "-dno-black-holing")
opt_OmitBlackHoling :: Bool
opt_OmitBlackHoling = lookUp (fsLit "-dno-black-holing")
+
opt_StubDeadValues :: Bool
opt_StubDeadValues = lookUp (fsLit "-dstub-dead-values")
opt_StubDeadValues :: Bool
opt_StubDeadValues = lookUp (fsLit "-dstub-dead-values")
@@
-262,7
+271,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_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)
opt_UF_KeenessFactor = lookup_def_float "-funfolding-keeness-factor" (1.5::Float)
opt_UF_DearOp = ( 4 :: Int)
@@
-398,6
+411,9
@@
way_details =
-- the problems are our fault or theirs, but it seems that using the
-- alternative 1:1 threading library libthr works around it:
"-optl-lthr"
-- the problems are our fault or theirs, but it seems that using the
-- alternative 1:1 threading library libthr works around it:
"-optl-lthr"
+#elif defined(openbsd_TARGET_OS)
+ "-optc-pthread"
+ , "-optl-pthread"
#elif defined(solaris2_TARGET_OS)
"-optl-lrt"
#endif
#elif defined(solaris2_TARGET_OS)
"-optl-lrt"
#endif
@@
-413,6
+429,10
@@
way_details =
-- with -fPIC. Labels not in the current package are assumed to be in a DLL
-- different from the current one.
, "-fPIC"
-- with -fPIC. Labels not in the current package are assumed to be in a DLL
-- different from the current one.
, "-fPIC"
+#elif defined(openbsd_TARGET_OS)
+ -- Without this, linking the shared libHSffi fails because
+ -- it uses pthread mutexes.
+ , "-optl-pthread"
#endif
],
#endif
],