ghc-9.8.0.20230929: The GHC API
Safe HaskellNone
LanguageHaskell2010

GHC.HsToCore.Ticks

Synopsis

Documentation

data TicksConfig Source #

Configuration for compilation pass to add tick for instrumentation to binding sites.

Constructors

TicksConfig 

Fields

data Tick Source #

Constructors

Tick 

Fields

data TickishType Source #

Reasons why we need ticks,

Constructors

ProfNotes

For profiling

HpcTicks

For Haskell Program Coverage

Breakpoints

For ByteCode interpreter break points

SourceNotes

For source notes

Instances

Instances details
Eq TickishType Source # 
Instance details

Defined in GHC.HsToCore.Ticks

addTicksToBinds Source #

Arguments

:: Logger 
-> TicksConfig 
-> Module 
-> ModLocation

location of the current module

-> NameSet

Exported Ids. When we call addTicksToBinds, isExportedId doesn't work yet (the desugarer hasn't set it), so we have to work from this set.

-> [TyCon]

Type constructors in this module

-> LHsBinds GhcTc 
-> IO (LHsBinds GhcTc, Maybe (FilePath, SizedSeq Tick)) 

stripTicksTopHsExpr :: HsExpr GhcTc -> ([CoreTickish], HsExpr GhcTc) Source #

Strip CoreTicks from an HsExpr