@@ -15,6 +15,7 @@ import Clash.Netlist.Types (TopEntityT(topId))
1515
1616import Criterion.Main
1717
18+ import qualified Control.Concurrent.MVar as MVar
1819import qualified Control.Concurrent.Supply as Supply
1920import Control.DeepSeq (NFData (.. ), rwhnf )
2021import Data.List (isPrefixOf , partition )
@@ -42,7 +43,7 @@ main = do
4243benchFile :: [FilePath ] -> FilePath -> Benchmark
4344benchFile idirs src =
4445 env (setupEnv idirs src) $
45- \ ~ (clashEnv, clashDesign, supplyN) -> do
46+ \ ~ (clashEnv, clashDesign, supplyN, lock ) -> do
4647 bench (" normalization of " ++ src)
4748 (nfIO
4849 (normalizeEntity
@@ -51,18 +52,20 @@ benchFile idirs src =
5152 (ghcTypeToHWType (opt_intWidth (envOpts clashEnv)))
5253 ghcEvaluator
5354 evaluator
55+ lock
5456 (fmap topId (designEntities clashDesign))
5557 supplyN
5658 (topId (head (designEntities clashDesign)))))
5759
5860setupEnv
5961 :: [FilePath ]
6062 -> FilePath
61- -> IO (ClashEnv , ClashDesign , Supply. Supply )
63+ -> IO (ClashEnv , ClashDesign , Supply. Supply, MVar. MVar () )
6264setupEnv idirs src = do
6365 (clashEnv, clashDesign) <- runInputStage idirs src
6466 supplyN <- Supply. newSupply
65- return (clashEnv, clashDesign ,supplyN)
67+ lock <- MVar. newMVar ()
68+ return (clashEnv, clashDesign ,supplyN, lock)
6669
6770instance NFData Supply. Supply where
6871 rnf = rwhnf
0 commit comments