LLVM 22.0.0git
llvm::PBQP Namespace Reference

Namespaces

namespace  RegAlloc

Classes

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

Typedefs

using PBQPNum = float

Functions

hash_code hash_value (const Vector &V)
 Return a hash_value for the given vector.
template<typename OStream>
OStream & operator<< (OStream &OS, const Vector &V)
 Output a textual representation of the given vector on the given output stream.
hash_code hash_value (const Matrix &M)
 Return a hash_code for the given matrix.
template<typename OStream>
OStream & operator<< (OStream &OS, const Matrix &M)
 Output a textual representation of the given matrix on the given output stream.
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.
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

◆ PBQPNum

using llvm::PBQP::PBQPNum = float

Definition at line 24 of file Math.h.

Function Documentation

◆ applyR1()

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 30 of file ReductionRules.h.

References assert(), llvm::CallingConv::C, and G.

◆ applyR2()

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

◆ backpropagate()

template<typename GraphT, typename StackT>
Solution llvm::PBQP::backpropagate ( GraphT & G,
StackT stack )

◆ hash_value() [1/4]

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

Return a hash_code for the given matrix.

Definition at line 226 of file Math.h.

◆ hash_value() [2/4]

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

Definition at line 273 of file Math.h.

References hash_value().

◆ hash_value() [3/4]

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

Definition at line 256 of file Math.h.

References hash_value().

◆ hash_value() [4/4]

hash_code llvm::PBQP::hash_value ( const Vector & V)
inline

Return a hash_value for the given vector.

Definition at line 94 of file Math.h.

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

Referenced by hash_value(), and hash_value().

◆ hasRegisterOptions()

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

Definition at line 151 of file ReductionRules.h.

Referenced by backpropagate().

◆ operator<<() [1/2]

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 236 of file Math.h.

References assert().

◆ operator<<() [2/2]

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 103 of file Math.h.

References assert(), and llvm::interleaved().