ghc-9.12.1: GHC/StgToCmm/Hpc.hs
-----------------------------------------------------------------------------
--
-- Code generation for coverage
--
-- (c) Galois Connections, Inc. 2006
--
-----------------------------------------------------------------------------
module GHC.StgToCmm.Hpc ( mkTickBox ) where
import GHC.Prelude
import GHC.Platform
import GHC.Cmm.Graph
import GHC.Cmm.Expr
import GHC.Cmm.CLabel
import GHC.Cmm.Utils
import GHC.Unit.Module
mkTickBox :: Platform -> Module -> Int -> CmmAGraph
mkTickBox platform mod n
= mkStore tick_box (CmmMachOp (MO_Add W64)
[ CmmLoad tick_box b64 NaturallyAligned
, CmmLit (CmmInt 1 W64)
])
where
tick_box = cmmIndex platform W64
(CmmLit $ CmmLabel $ mkHpcTicksLabel $ mod)
n