LLVM API Documentation

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 BB, llvm::BasicBlock::begin(), E, llvm::BasicBlock::end(), F, 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: