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)
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)
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)
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)
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)
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()
llvm::MachineBasicBlock* getBlock()
Description
getBlock - Return the current basic block.
Declared at: llvm/lib/CodeGen/SelectionDAG/InstrEmitter.h:124
¶MachineBasicBlock::iterator getInsertPos()
MachineBasicBlock::iterator getInsertPos()
Description
getInsertPos - Return the current insertion position.
Declared at: llvm/lib/CodeGen/SelectionDAG/InstrEmitter.h:127