ghc-8.2.2: The GHC API

Safe HaskellNone




type InstrBlock = OrdList Instr #

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 #

Condition codes passed up the tree.

data ChildCode64 #

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


ChildCode64 InstrBlock Reg 

data Amode #

Holds code that references a memory address.


Amode AddrMode InstrBlock 

data Register #

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.

setFormatOfRegister :: Register -> Format -> Register #

Change the format field in a Register.

getRegisterReg :: Platform -> CmmReg -> Reg #

Grab the Reg for a CmmReg