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
Value * getValue () const
OpLabel getOpLabel () const
InstrTreeNode * leftChild () const
InstrTreeNode * parent () const
InstrTreeNode * rightChild () const
void dump (int dumpChildren, int indent) const

Public Attributes

InstrTreeNode * LeftChild
InstrTreeNode * RightChild
InstrTreeNode * Parent
OpLabel opLabel
StateLabel state

Protected Member Functions

virtual void dumpNode (int indent) const =0

Protected Attributes

InstrTreeNodeType treeNodeType
Value * val

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: