ghc-lib-0.1.0: The GHC API, decoupled from GHC versions

Safe HaskellNone
LanguageHaskell2010

CmmExpr

Synopsis

Documentation

data CmmExpr Source #

Constructors

Instances
Instance details

Defined in CmmExpr

Methods

(==) :: CmmExpr -> CmmExpr -> Bool #

(/=) :: CmmExpr -> CmmExpr -> Bool #

Instance details

Defined in PprCmmExpr

Methods

ppr :: CmmExpr -> SDoc #

pprPrec :: Rational -> CmmExpr -> SDoc #

Instance details

Defined in CmmExpr

Methods

foldRegsUsed :: DynFlags -> (b -> r -> b) -> b -> CmmExpr -> b Source #

cmmExprType :: DynFlags -> CmmExpr -> CmmType Source #

cmmExprWidth :: DynFlags -> CmmExpr -> Width Source #

cmmExprAlignment :: CmmExpr -> Alignment Source #

Returns an alignment in bytes of a CmmExpr when it's a statically known integer constant, otherwise returns an alignment of 1 byte. The caller is responsible for using with a sensible CmmExpr argument.

maybeInvertCmmExpr :: CmmExpr -> Maybe CmmExpr Source #

data CmmReg Source #

Constructors

Instances
Instance details

Defined in CmmExpr

Methods

(==) :: CmmReg -> CmmReg -> Bool #

(/=) :: CmmReg -> CmmReg -> Bool #

Instance details

Defined in CmmExpr

Methods

compare :: CmmReg -> CmmReg -> Ordering #

(<) :: CmmReg -> CmmReg -> Bool #

(<=) :: CmmReg -> CmmReg -> Bool #

(>) :: CmmReg -> CmmReg -> Bool #

(>=) :: CmmReg -> CmmReg -> Bool #

max :: CmmReg -> CmmReg -> CmmReg #

min :: CmmReg -> CmmReg -> CmmReg #

Instance details

Defined in PprCmmExpr

Methods

ppr :: CmmReg -> SDoc #

pprPrec :: Rational -> CmmReg -> SDoc #

Instance details

Defined in CmmExpr

Methods

foldRegsDefd :: DynFlags -> (b -> GlobalReg -> b) -> b -> CmmReg -> b Source #

Instance details

Defined in CmmExpr

Methods

foldRegsDefd :: DynFlags -> (b -> LocalReg -> b) -> b -> CmmReg -> b Source #

Instance details

Defined in CmmExpr

Methods

foldRegsUsed :: DynFlags -> (b -> GlobalReg -> b) -> b -> CmmReg -> b Source #

Instance details

Defined in CmmExpr

Methods

foldRegsUsed :: DynFlags -> (b -> LocalReg -> b) -> b -> CmmReg -> b Source #

cmmRegType :: DynFlags -> CmmReg -> CmmType Source #

cmmRegWidth :: DynFlags -> CmmReg -> Width Source #

data CmmLit Source #

Constructors

Instances
Instance details

Defined in CmmExpr

Methods

(==) :: CmmLit -> CmmLit -> Bool #

(/=) :: CmmLit -> CmmLit -> Bool #

Instance details

Defined in PprCmmExpr

Methods

ppr :: CmmLit -> SDoc #

pprPrec :: Rational -> CmmLit -> SDoc #

cmmLitType :: DynFlags -> CmmLit -> CmmType Source #

data LocalReg Source #

Constructors

LocalReg !Unique CmmType

Parameters: 1. Identifier 2. Type

Instances
Instance details

Defined in CmmExpr

Methods

(==) :: LocalReg -> LocalReg -> Bool #

(/=) :: LocalReg -> LocalReg -> Bool #

Instance details

Defined in CmmExpr

Instance details

Defined in CmmExpr

Methods

getUnique :: LocalReg -> Unique #

Instance details

Defined in PprCmmExpr

Methods

ppr :: LocalReg -> SDoc #

pprPrec :: Rational -> LocalReg -> SDoc #

Instance details

Defined in CmmExpr

Methods

foldRegsDefd :: DynFlags -> (b -> LocalReg -> b) -> b -> CmmReg -> b Source #

Instance details

Defined in CmmExpr

Methods

foldRegsUsed :: DynFlags -> (b -> LocalReg -> b) -> b -> CmmReg -> b Source #

Instance details

Defined in CmmNode

Methods

foldRegsDefd :: DynFlags -> (b -> LocalReg -> b) -> b -> CmmNode e x -> b Source #

Instance details

Defined in CmmNode

Methods

foldRegsUsed :: DynFlags -> (b -> LocalReg -> b) -> b -> CmmNode e x -> b Source #

localRegType :: LocalReg -> CmmType Source #

data GlobalReg Source #

Constructors

Sp
Hp
Instances
Instance details

Defined in CmmExpr

Instance details

Defined in CmmExpr

Instance details

Defined in PprCmmExpr

Methods

ppr :: GlobalReg -> SDoc #

pprPrec :: Rational -> GlobalReg -> SDoc #

Instance details

Defined in CmmExpr

Methods

foldRegsDefd :: DynFlags -> (b -> GlobalReg -> b) -> b -> CmmReg -> b Source #

Instance details

Defined in CmmExpr

Methods

foldRegsUsed :: DynFlags -> (b -> GlobalReg -> b) -> b -> CmmReg -> b Source #

Instance details

Defined in CmmNode

Methods

foldRegsDefd :: DynFlags -> (b -> GlobalReg -> b) -> b -> CmmNode e x -> b Source #

Instance details

Defined in CmmNode

Methods

foldRegsUsed :: DynFlags -> (b -> GlobalReg -> b) -> b -> CmmNode e x -> b Source #

isArgReg :: GlobalReg -> Bool Source #

globalRegType :: DynFlags -> GlobalReg -> CmmType Source #

spReg :: CmmReg Source #

hpReg :: CmmReg Source #

spLimReg :: CmmReg Source #

hpLimReg :: CmmReg Source #

nodeReg :: CmmReg Source #

currentTSOReg :: CmmReg Source #

currentNurseryReg :: CmmReg Source #

hpAllocReg :: CmmReg Source #

cccsReg :: CmmReg Source #

node :: GlobalReg Source #

baseReg :: CmmReg Source #

data VGcPtr Source #

Constructors

Instances
Instance details

Defined in CmmExpr

Methods

(==) :: VGcPtr -> VGcPtr -> Bool #

(/=) :: VGcPtr -> VGcPtr -> Bool #

Instance details

Defined in CmmExpr

Methods

showsPrec :: Int -> VGcPtr -> ShowS #

show :: VGcPtr -> String #

showList :: [VGcPtr] -> ShowS #

class Ord r => DefinerOfRegs r a Source #

Minimal complete definition

foldRegsDefd

Instances
Instance details

Defined in CmmExpr

Methods

foldRegsDefd :: DynFlags -> (b -> r -> b) -> b -> r -> b Source #

Instance details

Defined in CmmExpr

Methods

foldRegsDefd :: DynFlags -> (b -> GlobalReg -> b) -> b -> CmmReg -> b Source #

Instance details

Defined in CmmExpr

Methods

foldRegsDefd :: DynFlags -> (b -> LocalReg -> b) -> b -> CmmReg -> b Source #

Instance details

Defined in CmmExpr

Methods

foldRegsDefd :: DynFlags -> (b -> r -> b) -> b -> [a] -> b Source #

Instance details

Defined in CmmNode

Methods

foldRegsDefd :: DynFlags -> (b -> GlobalReg -> b) -> b -> CmmNode e x -> b Source #

Instance details

Defined in CmmNode

Methods

foldRegsDefd :: DynFlags -> (b -> LocalReg -> b) -> b -> CmmNode e x -> b Source #

class Ord r => UserOfRegs r a Source #

Minimal complete definition

foldRegsUsed

Instances
Instance details

Defined in CmmExpr

Methods

foldRegsUsed :: DynFlags -> (b -> r -> b) -> b -> CmmExpr -> b Source #

Ord r => UserOfRegs r r Source #
Instance details

Defined in CmmExpr

Methods

foldRegsUsed :: DynFlags -> (b -> r -> b) -> b -> r -> b Source #

Instance details

Defined in CmmNode

Methods

foldRegsUsed :: DynFlags -> (b -> r -> b) -> b -> ForeignTarget -> b Source #

Instance details

Defined in CmmExpr

Methods

foldRegsUsed :: DynFlags -> (b -> GlobalReg -> b) -> b -> CmmReg -> b Source #

Instance details

Defined in CmmExpr

Methods

foldRegsUsed :: DynFlags -> (b -> LocalReg -> b) -> b -> CmmReg -> b Source #

UserOfRegs r a => UserOfRegs r [a] Source #
Instance details

Defined in CmmExpr

Methods

foldRegsUsed :: DynFlags -> (b -> r -> b) -> b -> [a] -> b Source #

Instance details

Defined in CmmNode

Methods

foldRegsUsed :: DynFlags -> (b -> GlobalReg -> b) -> b -> CmmNode e x -> b Source #

Instance details

Defined in CmmNode

Methods

foldRegsUsed :: DynFlags -> (b -> LocalReg -> b) -> b -> CmmNode e x -> b Source #

foldRegsDefd :: DefinerOfRegs r a => DynFlags -> (b -> r -> b) -> b -> a -> b Source #

foldRegsUsed :: UserOfRegs r a => DynFlags -> (b -> r -> b) -> b -> a -> b Source #

foldLocalRegsDefd :: DefinerOfRegs LocalReg a => DynFlags -> (b -> LocalReg -> b) -> b -> a -> b Source #

foldLocalRegsUsed :: UserOfRegs LocalReg a => DynFlags -> (b -> LocalReg -> b) -> b -> a -> b Source #

type RegSet r = Set r Source #

Sets of registers

type LocalRegSet = RegSet LocalReg Source #

type GlobalRegSet = RegSet GlobalReg Source #

emptyRegSet :: RegSet r Source #

elemRegSet :: Ord r => r -> RegSet r -> Bool Source #

extendRegSet :: Ord r => RegSet r -> r -> RegSet r Source #

deleteFromRegSet :: Ord r => RegSet r -> r -> RegSet r Source #

mkRegSet :: Ord r => [r] -> RegSet r Source #

plusRegSet :: Ord r => RegSet r -> RegSet r -> RegSet r Source #

minusRegSet :: Ord r => RegSet r -> RegSet r -> RegSet r Source #

timesRegSet :: Ord r => RegSet r -> RegSet r -> RegSet r Source #

sizeRegSet :: RegSet r -> Int Source #

nullRegSet :: RegSet r -> Bool Source #

regSetToList :: RegSet r -> [r] Source #

data Area Source #

A stack area is either the stack slot where a variable is spilled or the stack space where function arguments and results are passed.

Constructors

Old
Instances
Instance details

Defined in CmmExpr

Methods

(==) :: Area -> Area -> Bool #

(/=) :: Area -> Area -> Bool #

Instance details

Defined in CmmExpr

Methods

compare :: Area -> Area -> Ordering #

(<) :: Area -> Area -> Bool #

(<=) :: Area -> Area -> Bool #

(>) :: Area -> Area -> Bool #

(>=) :: Area -> Area -> Bool #

max :: Area -> Area -> Area #

min :: Area -> Area -> Area #

Instance details

Defined in PprCmmExpr

Methods

ppr :: Area -> SDoc #

pprPrec :: Rational -> Area -> SDoc #

module CmmMachOp

module CmmType

AltStyle によって変換されたページ (->オリジナル) /