LLVM  4.0.0
Namespaces | Classes | Typedefs | Functions
llvm::PBQP Namespace Reference

Namespaces

 RegAlloc
 

Classes

class  ValuePool
 
class  PoolCostAllocator
 
class  GraphBase
 
class  Graph
 PBQP Graph class. More...
 
class  Vector
 PBQP Vector class. More...
 
class  Matrix
 PBQP Matrix class. More...
 
class  MDVector
 
class  MDMatrix
 
class  Solution
 Represents a solution to a PBQP problem. More...
 

Typedefs

typedef float PBQPNum
 

Functions

hash_code hash_value (const Vector &V)
 Return a hash_value for the given vector. More...
 
template<typename OStream >
OStream & operator<< (OStream &OS, const Vector &V)
 Output a textual representation of the given vector on the given output stream. More...
 
hash_code hash_value (const Matrix &M)
 Return a hash_code for the given matrix. More...
 
template<typename OStream >
OStream & operator<< (OStream &OS, const Matrix &M)
 Output a textual representation of the given matrix on the given output stream. More...
 
template<typename Metadata >
hash_code hash_value (const MDVector< Metadata > &V)
 
template<typename Metadata >
hash_code hash_value (const MDMatrix< Metadata > &M)
 
template<typename GraphT >
void applyR1 (GraphT &G, typename GraphT::NodeId NId)
 Reduce a node of degree one. More...
 
template<typename GraphT >
void applyR2 (GraphT &G, typename GraphT::NodeId NId)
 
template<typename VectorT >
bool hasRegisterOptions (const VectorT &V)
 
template<typename GraphT , typename StackT >
Solution backpropagate (GraphT &G, StackT stack)
 

Typedef Documentation

typedef float llvm::PBQP::PBQPNum

Definition at line 21 of file Math.h.

Function Documentation

template<typename GraphT >
void llvm::PBQP::applyR1 ( GraphT &  G,
typename GraphT::NodeId  NId 
)

Reduce a node of degree one.

Propagate costs from the given node, which must be of degree one, to its neighbor. Notify the problem domain.

Definition at line 29 of file ReductionRules.h.

References assert(), C, i, and Matrix.

template<typename GraphT >
void llvm::PBQP::applyR2 ( GraphT &  G,
typename GraphT::NodeId  NId 
)

Definition at line 73 of file ReductionRules.h.

References assert(), C, llvm::PBQP::Matrix::getRows(), i, and Matrix.

template<typename GraphT , typename StackT >
Solution llvm::PBQP::backpropagate ( GraphT &  G,
StackT  stack 
)
hash_code llvm::PBQP::hash_value ( const Vector &  V)
inline

Return a hash_value for the given vector.

Definition at line 99 of file Math.h.

References llvm::hash_combine(), and llvm::hash_combine_range().

Referenced by hash_value().

hash_code llvm::PBQP::hash_value ( const Matrix M)
inline

Return a hash_code for the given matrix.

Definition at line 236 of file Math.h.

References llvm::hash_combine(), and llvm::hash_combine_range().

template<typename Metadata >
hash_code llvm::PBQP::hash_value ( const MDVector< Metadata > &  V)
inline

Definition at line 264 of file Math.h.

References hash_value().

template<typename Metadata >
hash_code llvm::PBQP::hash_value ( const MDMatrix< Metadata > &  M)
inline

Definition at line 279 of file Math.h.

References hash_value().

template<typename VectorT >
bool llvm::PBQP::hasRegisterOptions ( const VectorT &  V)

Definition at line 150 of file ReductionRules.h.

References i.

Referenced by backpropagate().

template<typename OStream >
OStream& llvm::PBQP::operator<< ( OStream &  OS,
const Vector &  V 
)

Output a textual representation of the given vector on the given output stream.

Definition at line 108 of file Math.h.

References assert(), llvm::PBQP::Vector::getLength(), and i.

template<typename OStream >
OStream& llvm::PBQP::operator<< ( OStream &  OS,
const Matrix M 
)

Output a textual representation of the given matrix on the given output stream.

Definition at line 246 of file Math.h.

References assert(), llvm::PBQP::Matrix::getRowAsVector(), llvm::PBQP::Matrix::getRows(), and i.