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::Interval Class Reference

#include <Interval.h>

Collaboration diagram for llvm::Interval:

Collaboration graph
[legend]
List of all members.

Public Types

typedef std::vector< BasicBlock
* >::iterator 
succ_iterator
typedef std::vector< BasicBlock
* >::iterator 
pred_iterator
typedef std::vector< BasicBlock
* >::iterator 
node_iterator

Public Member Functions

 Interval (BasicBlock *Header)
 Interval (const Interval &I)
BasicBlockgetHeaderNode () const
bool contains (BasicBlock *BB) const
bool isSuccessor (BasicBlock *BB) const
bool operator== (const Interval &I) const
bool isLoop () const
void print (std::ostream &O) const

Public Attributes

std::vector< BasicBlock * > Nodes
std::vector< BasicBlock * > Successors
std::vector< BasicBlock * > Predecessors

Detailed Description

Definition at line 37 of file Interval.h.


Member Typedef Documentation

typedef std::vector<BasicBlock*>::iterator llvm::Interval::node_iterator
 

Definition at line 45 of file Interval.h.

typedef std::vector<BasicBlock*>::iterator llvm::Interval::pred_iterator
 

Definition at line 44 of file Interval.h.

typedef std::vector<BasicBlock*>::iterator llvm::Interval::succ_iterator
 

Definition at line 43 of file Interval.h.


Constructor & Destructor Documentation

llvm::Interval::Interval BasicBlock Header  )  [inline]
 

Definition at line 47 of file Interval.h.

References Nodes.

llvm::Interval::Interval const Interval I  )  [inline]
 

Definition at line 51 of file Interval.h.


Member Function Documentation

bool llvm::Interval::contains BasicBlock BB  )  const [inline]
 

Definition at line 72 of file Interval.h.

References Nodes.

Referenced by isLoop().

BasicBlock* llvm::Interval::getHeaderNode  )  const [inline]
 

Definition at line 54 of file Interval.h.

Referenced by llvm::getNodeHeader().

bool Interval::isLoop  )  const
 

Definition at line 28 of file Interval.cpp.

References contains(), E, I, llvm::pred_begin(), and llvm::pred_end().

bool llvm::Interval::isSuccessor BasicBlock BB  )  const [inline]
 

Definition at line 81 of file Interval.h.

References Successors.

bool llvm::Interval::operator== const Interval I  )  const [inline]
 

Definition at line 93 of file Interval.h.

References HeaderNode.

void Interval::print std::ostream &  O  )  const
 

Definition at line 39 of file Interval.cpp.

References E, I, Nodes, Predecessors, and Successors.


Member Data Documentation

std::vector<BasicBlock*> llvm::Interval::Nodes
 

Definition at line 58 of file Interval.h.

Referenced by llvm::addNodeToInterval(), contains(), Interval(), and print().

std::vector<BasicBlock*> llvm::Interval::Predecessors
 

Definition at line 69 of file Interval.h.

Referenced by llvm::pred_begin(), llvm::pred_end(), and print().

std::vector<BasicBlock*> llvm::Interval::Successors
 

Definition at line 64 of file Interval.h.

Referenced by isSuccessor(), print(), llvm::succ_begin(), and llvm::succ_end().


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