LLVM API Documentation

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

llvm::InstrForest Class Reference

Inheritance diagram for llvm::InstrForest:

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

Collaboration graph
[legend]
List of all members.

Public Types

typedef std::vector< InstructionNode * > RootSet
typedef RootSet::iterator root_iterator
typedef RootSet::const_iterator const_root_iterator

Public Member Functions

 InstrForest (Function *F)
 ~InstrForest ()
InstructionNodegetTreeNodeForInstr (Instruction *instr)
const_root_iterator roots_begin () const
root_iterator roots_begin ()
const_root_iterator roots_end () const
root_iterator roots_end ()
void dump () const

Detailed Description

InstrForest - A forest of instruction trees for a single function. The goal of InstrForest is to group instructions into a single tree if one or more of them might be potentially combined into a single complex instruction in the target machine. We group two instructions O and I if: (1) Instruction O computes an operand used by instruction I, and (2) O and I are part of the same basic block, and (3) O has only a single use, viz., I.

Definition at line 146 of file SparcV9BurgISel.cpp.


Member Typedef Documentation

typedef RootSet::const_iterator llvm::InstrForest::const_root_iterator
 

Definition at line 154 of file SparcV9BurgISel.cpp.

typedef RootSet:: iterator llvm::InstrForest::root_iterator
 

Definition at line 153 of file SparcV9BurgISel.cpp.

typedef std::vector<InstructionNode*> llvm::InstrForest::RootSet
 

Definition at line 152 of file SparcV9BurgISel.cpp.


Constructor & Destructor Documentation

llvm::InstrForest::InstrForest Function F  ) 
 

InstrForest ctor - Create a forest of instruction trees for a single function.

Definition at line 287 of file SparcV9BurgISel.cpp.

References llvm::Function::begin(), E, llvm::Function::end(), and I.

llvm::InstrForest::~InstrForest  ) 
 

Definition at line 294 of file SparcV9BurgISel.cpp.


Member Function Documentation

void llvm::InstrForest::dump  )  const
 

Definition at line 298 of file SparcV9BurgISel.cpp.

References I, roots_begin(), and roots_end().

InstructionNode* llvm::InstrForest::getTreeNodeForInstr Instruction instr  )  [inline]
 

getTreeNodeForInstr - Returns the tree node for an Instruction.

Definition at line 165 of file SparcV9BurgISel.cpp.

root_iterator llvm::InstrForest::roots_begin  )  [inline]
 

Definition at line 172 of file SparcV9BurgISel.cpp.

const_root_iterator llvm::InstrForest::roots_begin  )  const [inline]
 

Iterators for the root nodes for all the trees.

Definition at line 171 of file SparcV9BurgISel.cpp.

Referenced by dump().

root_iterator llvm::InstrForest::roots_end  )  [inline]
 

Definition at line 174 of file SparcV9BurgISel.cpp.

const_root_iterator llvm::InstrForest::roots_end  )  const [inline]
 

Definition at line 173 of file SparcV9BurgISel.cpp.

Referenced by dump().


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