ghc-7.0.2: The GHC API

X86.Instr

Synopsis

Documentation

data Instr

Instances

Outputable Instr 
Instruction Instr

Instruction instance for x86 instruction set.

data Operand

Constructors

OpReg Reg 
OpImm Imm 
OpAddr AddrMode 

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

Make a spill instruction.

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

Make a spill reload instruction.

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.

data JumpDest