Merge pull request #542 from Mistuke/fix-specific-file
authorMoritz Angermann <moritz.angermann@gmail.com>
Sat, 31 Mar 2018 04:58:55 +0000 (12:58 +0800)
committerGitHub <noreply@github.com>
Sat, 31 Mar 2018 04:58:55 +0000 (12:58 +0800)
Move rts I/O Functions in different namespace.

1  2 
src/Settings/Packages/Rts.hs

@@@ -4,7 -4,6 +4,7 @@@ module Settings.Packages.Rts 
  
  import Base
  import Expression
 +import GHC.Packages
  import Oracles.Flag
  import Oracles.Setting
  import Settings
@@@ -113,6 -112,8 +113,8 @@@ rtsPackageArgs = package rts ? d
            , arg $ "-I" ++ path
            , flag UseSystemFfi ? arg ("-I" ++ ffiIncludeDir)
            , arg $ "-DRtsWay=\"rts_" ++ show way ++ "\""
+           -- Set the namespace for the rts fs functions
+           , arg $ "-DFS_NAMESPACE=rts"
            -- RTS *must* be compiled with optimisations. The INLINE_HEADER macro
            -- requires that functions are inlined to work as expected. Inlining
            -- only happens for optimised builds. Otherwise we can assume that
              , "-DGhcUnregisterised="         ++ show ghcUnreg
              , "-DGhcEnableTablesNextToCode=" ++ show ghcEnableTNC ]
  
+           -- We're after pur performance here. So make sure fast math and
+           -- vectorization is enabled.
+           , input "//xxhash.c" ? pure
+             [ "-O3"
+             , "-ffast-math"
+             , "-ftree-vectorize"
+             ]
              , inputs ["//Evac.c", "//Evac_thr.c"] ? arg "-funroll-loops"
  
              , speedHack ?