LLVM API Documentation

llvm::InstrTreeNode Class Reference

#include <SparcV9InstrForest.h>

Inheritance diagram for llvm::InstrTreeNode:

Inheritance graph
[legend]
Collaboration diagram for llvm::InstrTreeNode:

Collaboration graph
[legend]
List of all members.

Public Types

 NTInstructionNode
 NTVRegListNode
 NTVRegNode
 NTConstNode
 NTLabelNode
enum  InstrTreeNodeType {
  NTInstructionNode, NTVRegListNode, NTVRegNode, NTConstNode,
  NTLabelNode
}

Public Member Functions

 InstrTreeNode (InstrTreeNodeType nodeType, Value *_val)
virtual ~InstrTreeNode ()
InstrTreeNodeType getNodeType () const
ValuegetValue () const
OpLabel getOpLabel () const
InstrTreeNodeleftChild () const
InstrTreeNodeparent () const
InstrTreeNoderightChild () const
void dump (int dumpChildren, int indent) const

Public Attributes

InstrTreeNodeLeftChild
InstrTreeNodeRightChild
InstrTreeNodeParent
OpLabel opLabel
StateLabel state

Protected Member Functions

virtual void dumpNode (int indent) const =0

Protected Attributes

InstrTreeNodeType treeNodeType
Valueval

Friends

class InstrForest

Detailed Description

InstrTreeNode - A single tree node in the instruction tree used for instruction selection via BURG.

Definition at line 85 of file SparcV9InstrForest.h.


Member Enumeration Documentation

enum llvm::InstrTreeNode::InstrTreeNodeType

Enumerator:
NTInstructionNode 
NTVRegListNode 
NTVRegNode 
NTConstNode 
NTLabelNode 

Definition at line 89 of file SparcV9InstrForest.h.


Constructor & Destructor Documentation

llvm::InstrTreeNode::InstrTreeNode ( InstrTreeNodeType  nodeType,
Value _val 
) [inline]

Definition at line 105 of file SparcV9InstrForest.h.

References InvalidOp, LeftChild, opLabel, Parent, and RightChild.

virtual llvm::InstrTreeNode::~InstrTreeNode (  )  [inline, virtual]

Definition at line 110 of file SparcV9InstrForest.h.

References LeftChild, and RightChild.


Member Function Documentation

void llvm::InstrTreeNode::dump ( int  dumpChildren,
int  indent 
) const

Definition at line 188 of file SparcV9BurgISel.cpp.

References dump(), dumpNode(), LeftChild, and RightChild.

Referenced by dump().

virtual void llvm::InstrTreeNode::dumpNode ( int  indent  )  const [protected, pure virtual]

Implemented in llvm::InstructionNode, llvm::VRegListNode, llvm::VRegNode, llvm::ConstantNode, and llvm::LabelNode.

Referenced by dump().

InstrTreeNodeType llvm::InstrTreeNode::getNodeType (  )  const [inline]

Definition at line 114 of file SparcV9InstrForest.h.

References treeNodeType.

Referenced by llvm::LabelNode::classof(), llvm::ConstantNode::classof(), llvm::VRegNode::classof(), llvm::VRegListNode::classof(), and llvm::InstructionNode::classof().

OpLabel llvm::InstrTreeNode::getOpLabel (  )  const [inline]

Definition at line 116 of file SparcV9InstrForest.h.

References opLabel.

Referenced by llvm::InstructionNode::dumpNode(), and rightChild().

Value* llvm::InstrTreeNode::getValue (  )  const [inline]

Definition at line 115 of file SparcV9InstrForest.h.

References val.

Referenced by llvm::LabelNode::dumpNode(), llvm::ConstantNode::dumpNode(), and llvm::VRegNode::dumpNode().

InstrTreeNode* llvm::InstrTreeNode::leftChild (  )  const [inline]

Definition at line 117 of file SparcV9InstrForest.h.

References LeftChild.

InstrTreeNode* llvm::InstrTreeNode::parent (  )  const [inline]

Definition at line 118 of file SparcV9InstrForest.h.

References Parent.

InstrTreeNode* llvm::InstrTreeNode::rightChild (  )  const [inline]

Definition at line 121 of file SparcV9InstrForest.h.

References getOpLabel(), LeftChild, RightChild, and VRegListOp.


Friends And Related Function Documentation

friend class InstrForest [friend]

Definition at line 129 of file SparcV9InstrForest.h.


Member Data Documentation

InstrTreeNode* llvm::InstrTreeNode::LeftChild

Definition at line 94 of file SparcV9InstrForest.h.

Referenced by dump(), InstrTreeNode(), leftChild(), rightChild(), and ~InstrTreeNode().

OpLabel llvm::InstrTreeNode::opLabel

Definition at line 97 of file SparcV9InstrForest.h.

Referenced by llvm::ConstantNode::ConstantNode(), getOpLabel(), InstrTreeNode(), llvm::InstructionNode::InstructionNode(), llvm::LabelNode::LabelNode(), llvm::VRegListNode::VRegListNode(), and llvm::VRegNode::VRegNode().

InstrTreeNode* llvm::InstrTreeNode::Parent

Definition at line 96 of file SparcV9InstrForest.h.

Referenced by InstrTreeNode(), and parent().

InstrTreeNode* llvm::InstrTreeNode::RightChild

Definition at line 95 of file SparcV9InstrForest.h.

Referenced by dump(), InstrTreeNode(), rightChild(), and ~InstrTreeNode().

StateLabel llvm::InstrTreeNode::state

Definition at line 98 of file SparcV9InstrForest.h.

InstrTreeNodeType llvm::InstrTreeNode::treeNodeType [protected]

Definition at line 101 of file SparcV9InstrForest.h.

Referenced by llvm::InstructionNode::getInstruction(), and getNodeType().

Value* llvm::InstrTreeNode::val [protected]

Definition at line 102 of file SparcV9InstrForest.h.

Referenced by llvm::LabelNode::getBasicBlock(), llvm::ConstantNode::getConstVal(), llvm::InstructionNode::getInstruction(), and getValue().


The documentation for this class was generated from the following files: