LlvmCodeGen.Regs

ghc-8.6.3: The GHC API

Safe Haskell | None
Language | Haskell2010

LlvmCodeGen.Regs

Description

Deal with Cmm registers

Synopsis

- lmGlobalRegArg :: DynFlags -> GlobalReg -> LlvmVar
- lmGlobalRegVar :: DynFlags -> GlobalReg -> LlvmVar
- alwaysLive :: [GlobalReg]
- stgTBAA :: [(Unique, LMString, Maybe Unique)]
- baseN :: Unique
- stackN :: Unique
- heapN :: Unique
- rxN :: Unique
- topN :: Unique
- tbaa :: LMString
- getTBAA :: GlobalReg -> Unique

# Documentation

lmGlobalRegArg :: DynFlags -> GlobalReg -> LlvmVar #

Get the LlvmVar function argument storing the real register

lmGlobalRegVar :: DynFlags -> GlobalReg -> LlvmVar #

Get the LlvmVar function variable storing the real register

alwaysLive :: [GlobalReg] #

A list of STG Registers that should always be considered alive

stgTBAA :: [(Unique, LMString, Maybe Unique)] #

STG Type Based Alias Analysis hierarchy

baseN :: Unique #

Id values The `rootN` node is the root (there can be more than one) of the TBAA hierarchy and as of LLVM 4.0 should *only* be referenced by other nodes. It should never occur in any LLVM instruction statement.

stackN :: Unique #

Id values The `rootN` node is the root (there can be more than one) of the TBAA hierarchy and as of LLVM 4.0 should *only* be referenced by other nodes. It should never occur in any LLVM instruction statement.

heapN :: Unique #

Id values The `rootN` node is the root (there can be more than one) of the TBAA hierarchy and as of LLVM 4.0 should *only* be referenced by other nodes. It should never occur in any LLVM instruction statement.

rxN :: Unique #

Id values The `rootN` node is the root (there can be more than one) of the TBAA hierarchy and as of LLVM 4.0 should *only* be referenced by other nodes. It should never occur in any LLVM instruction statement.

topN :: Unique #

Id values The `rootN` node is the root (there can be more than one) of the TBAA hierarchy and as of LLVM 4.0 should *only* be referenced by other nodes. It should never occur in any LLVM instruction statement.

tbaa :: LMString #

The TBAA metadata identifier

getTBAA :: GlobalReg -> Unique #

Get the correct TBAA metadata information for this register type