class InstrEmitter

Declaration

class InstrEmitter { /* full declaration omitted */ };

Declared at: llvm/lib/CodeGen/SelectionDAG/InstrEmitter.h:28

Method Overview

  • public static unsigned int CountResults(llvm::SDNode * Node)
  • public llvm::MachineInstr * EmitDbgLabel(llvm::SDDbgLabel * SD)
  • public llvm::MachineInstr * EmitDbgValue(llvm::SDDbgValue * SD, DenseMap<llvm::SDValue, unsigned int> & VRBaseMap)
  • public void EmitNode(llvm::SDNode * Node, bool IsClone, bool IsCloned, DenseMap<llvm::SDValue, unsigned int> & VRBaseMap)
  • public InstrEmitter(llvm::MachineBasicBlock * mbb, MachineBasicBlock::iterator insertpos)
  • public llvm::MachineBasicBlock * getBlock()
  • public MachineBasicBlock::iterator getInsertPos()

Methods

static unsigned int CountResults(
    llvm::SDNode* Node)

Description

CountResults - The results of target nodes have register or immediate operands first, then an optional chain, and optional flag operands (which do not go into the machine instrs.)

Declared at: llvm/lib/CodeGen/SelectionDAG/InstrEmitter.h:103

Parameters

llvm::SDNode* Node

llvm::MachineInstr* EmitDbgLabel(
    llvm::SDDbgLabel* SD)

Description

Generate machine instruction for a dbg_label node.

Declared at: llvm/lib/CodeGen/SelectionDAG/InstrEmitter.h:111

Parameters

llvm::SDDbgLabel* SD

llvm::MachineInstr* EmitDbgValue(
    llvm::SDDbgValue* SD,
    DenseMap<llvm::SDValue, unsigned int>&
        VRBaseMap)

Description

EmitDbgValue - Generate machine instruction for a dbg_value node.

Declared at: llvm/lib/CodeGen/SelectionDAG/InstrEmitter.h:107

Parameters

llvm::SDDbgValue* SD
DenseMap<llvm::SDValue, unsigned int>& VRBaseMap

void EmitNode(llvm::SDNode* Node,
              bool IsClone,
              bool IsCloned,
              DenseMap<llvm::SDValue,
                       unsigned int>& VRBaseMap)

Description

EmitNode - Generate machine code for a node and needed dependencies.

Declared at: llvm/lib/CodeGen/SelectionDAG/InstrEmitter.h:115

Parameters

llvm::SDNode* Node
bool IsClone
bool IsCloned
DenseMap<llvm::SDValue, unsigned int>& VRBaseMap

InstrEmitter(
    llvm::MachineBasicBlock* mbb,
    MachineBasicBlock::iterator insertpos)

Description

InstrEmitter - Construct an InstrEmitter and set it to start inserting at the given position in the given block.

Declared at: llvm/lib/CodeGen/SelectionDAG/InstrEmitter.h:131

Parameters

llvm::MachineBasicBlock* mbb
MachineBasicBlock::iterator insertpos

llvm::MachineBasicBlock* getBlock()

Description

getBlock - Return the current basic block.

Declared at: llvm/lib/CodeGen/SelectionDAG/InstrEmitter.h:124

MachineBasicBlock::iterator getInsertPos()

Description

getInsertPos - Return the current insertion position.

Declared at: llvm/lib/CodeGen/SelectionDAG/InstrEmitter.h:127