ghc-7.0.3: The GHC API

X86.Instr

Synopsis

Documentation

data Operand

Constructors

OpReg Reg 
OpImm Imm 
OpAddr AddrMode 

interesting :: Reg -> Bool

x86_mkSpillInstr :: Reg -> Int -> Int -> Instr

Make a spill instruction.

x86_mkLoadInstr :: Reg -> Int -> Int -> Instr

Make a spill reload instruction.

spillSlotToOffset :: Int -> Int

x86_takeDeltaInstr :: Instr -> Maybe Int

See if this instruction is telling us the current C stack delta

x86_mkRegRegMoveInstr :: Reg -> Reg -> Instr

Make a reg-reg move instruction. On SPARC v8 there are no instructions to move directly between floating point and integer regs. If we need to do that then we have to go via memory.

x86_takeRegRegMoveInstr :: Instr -> Maybe (Reg, Reg)

Check whether an instruction represents a reg-reg move. The register allocator attempts to eliminate reg->reg moves whenever it can, by assigning the src and dest temporaries to the same real register.

x86_mkJumpInstr :: BlockId -> [Instr]

Make an unconditional branch instruction.

is_G_instr :: Instr -> Bool

data JumpDest