ghc-6.12.3: The GHC APISource codeContentsIndex
SPARC.CodeGen.Base
Synopsis
type InstrBlock = OrdList Instr
data CondCode = CondCode Bool Cond InstrBlock
data ChildCode64 = ChildCode64 InstrBlock Reg
data Amode = Amode AddrMode InstrBlock
data Register
= Fixed Size Reg InstrBlock
| Any Size (Reg -> InstrBlock)
setSizeOfRegister :: Register -> Size -> Register
getRegisterReg :: CmmReg -> Reg
mangleIndexTree :: CmmExpr -> CmmExpr
Documentation
type InstrBlock = OrdList InstrSource
InstrBlocks are the insn sequences generated by the insn selectors. They are really trees of insns to facilitate fast appending, where a left-to-right traversal yields the insns in the correct order.
data CondCode Source
Condition codes passed up the tree.
Constructors
CondCode Bool Cond InstrBlock
data ChildCode64 Source

a.k.a Register64 Reg is the lower 32-bit temporary which contains the result. Use getHiVRegFromLo to find the other VRegUnique.

Rules of this simplified insn selection game are therefore that the returned Reg may be modified

Constructors
ChildCode64 InstrBlock Reg
data Amode Source
Holds code that references a memory address.
Constructors
Amode AddrMode InstrBlock
data Register Source
Code to produce a result into a register. If the result must go in a specific register, it comes out as Fixed. Otherwise, the parent can decide which register to put it in.
Constructors
Fixed Size Reg InstrBlock
Any Size (Reg -> InstrBlock)
setSizeOfRegister :: Register -> Size -> RegisterSource
Change the size field in a Register.
getRegisterReg :: CmmReg -> RegSource
Grab the Reg for a CmmReg
mangleIndexTree :: CmmExpr -> CmmExprSource
Produced by Haddock version 2.6.1