GHC.Cmm.UniqueRenamer

ghc-9.14.0.20251028: The GHC API

Safe Haskell | None
Language | GHC2021

GHC.Cmm.UniqueRenamer

Synopsis

- detRenameCmmGroup :: DetUniqFM -> DCmmGroup -> (DetUniqFM, CmmGroup)
- detRenameIPEMap :: DetUniqFM -> InfoTableProvMap -> (DetUniqFM, InfoTableProvMap)
- class Monad m => MonadGetUnique (m :: Type -> Type) where
  - getUniqueM :: m Unique
- data DetUniqFM
- emptyDetUFM :: DetUniqFM
- module GHC.Types.Unique.DSM

# Documentation

detRenameCmmGroup :: DetUniqFM -> DCmmGroup -> (DetUniqFM, CmmGroup) Source #

detRenameIPEMap :: DetUniqFM -> InfoTableProvMap -> (DetUniqFM, InfoTableProvMap) Source #

class Monad m => MonadGetUnique (m :: Type -> Type) where Source #

Get a unique from a monad that can access a unique supply.

Crucially, because `MonadGetUnique` doesn't allow you to get the `UniqSupply` (unlike `MonadUnique`), an instance such as `UniqDSM` can use a deterministic unique supply to return deterministic uniques without allowing for the `UniqSupply` to be shared.

Methods

getUniqueM :: m Unique Source #

#### Instances

Instances details

MonadGetUnique NatM Source # |
Instance details Defined in GHC.CmmToAsm.Monad Methods getUniqueM :: NatM Unique Source #
MonadGetUnique LlvmM Source # |
Instance details Defined in GHC.CmmToLlvm.Base Methods getUniqueM :: LlvmM Unique Source #
MonadGetUnique NullCollapseViz Source # |
Instance details Defined in GHC.Data.Graph.Collapse Methods getUniqueM :: NullCollapseViz Unique Source #
MonadGetUnique CmmParse Source # |
Instance details Defined in GHC.StgToCmm.ExtCode Methods getUniqueM :: CmmParse Unique Source #
MonadGetUnique FCode Source # |
Instance details Defined in GHC.StgToCmm.Monad Methods getUniqueM :: FCode Unique Source #
MonadGetUnique UniqDSM Source # |
Instance details Defined in GHC.Types.Unique.DSM Methods getUniqueM :: UniqDSM Unique Source #
MonadGetUnique UniqSM Source # |
Instance details Defined in GHC.Types.Unique.DSM Methods getUniqueM :: UniqSM Unique Source #
MonadGetUnique (WasmCodeGenM w) Source # |
Instance details Defined in GHC.CmmToAsm.Wasm.Types Methods getUniqueM :: WasmCodeGenM w Unique Source #
Monad m => MonadGetUnique (UniqDSMT m) Source # |
Instance details Defined in GHC.Types.Unique.DSM Methods getUniqueM :: UniqDSMT m Unique Source #

data DetUniqFM Source #

A mapping from non-deterministic uniques to deterministic uniques, to rename local symbols with the end goal of producing deterministic object files. See Note [Renaming uniques deterministically]

#### Instances

Instances details

Outputable DetUniqFM Source # |
Instance details Defined in GHC.Cmm.UniqueRenamer Methods ppr :: DetUniqFM -> SDoc Source #

emptyDetUFM :: DetUniqFM Source #

module GHC.Types.Unique.DSM