LLVM API Documentation
#include <IntEqClasses.h>
Public Member Functions | |
IntEqClasses (unsigned N=0) | |
IntEqClasses - Create an equivalence class mapping for 0 .. N-1. More... | |
void | grow (unsigned N) |
void | clear () |
void | join (unsigned a, unsigned b) |
unsigned | findLeader (unsigned a) const |
void | compress () |
unsigned | getNumClasses () const |
unsigned | operator[] (unsigned a) const |
void | uncompress () |
Definition at line 28 of file IntEqClasses.h.
|
inline |
IntEqClasses - Create an equivalence class mapping for 0 .. N-1.
Definition at line 42 of file IntEqClasses.h.
|
inline |
clear - Clear all classes so that grow() will assign a unique class to every integer.
Definition at line 51 of file IntEqClasses.h.
References llvm::SmallVectorImpl< T >::clear().
void IntEqClasses::compress | ( | ) |
compress - Compress equivalence classes by numbering them 0 .. M. This makes the equivalence class map immutable.
Definition at line 53 of file IntEqClasses.cpp.
References llvm::SmallVectorTemplateCommon< T, typename >::size().
Referenced by llvm::SchedDFSImpl::finalize().
findLeader - Compute the leader of a's equivalence class. This is the smallest member of the class. This requires an uncompressed map.
Definition at line 46 of file IntEqClasses.cpp.
|
inline |
getNumClasses - Return the number of equivalence classes after compress() was called.
Definition at line 72 of file IntEqClasses.h.
Referenced by llvm::SchedDFSImpl::finalize(), and llvm::EdgeBundles::getNumBundles().
void IntEqClasses::grow | ( | unsigned | N | ) |
grow - Increase capacity to hold 0 .. N-1, putting new integers in unique equivalence classes. This requires an uncompressed map.
Definition at line 25 of file IntEqClasses.cpp.
References N, llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), llvm::SmallVectorImpl< T >::reserve(), and llvm::SmallVectorTemplateCommon< T, typename >::size().
Referenced by IntEqClasses().
join - Join the equivalence classes of a and b. After joining classes, findLeader(a) == findLeader(b). This requires an uncompressed map.
Definition at line 32 of file IntEqClasses.cpp.
Referenced by llvm::SchedDFSImpl::joinPredSubtree().
operator[] - Return a's equivalence class number, 0 .. getNumClasses()-1. This requires a compressed map.
Definition at line 76 of file IntEqClasses.h.
void IntEqClasses::uncompress | ( | ) |
uncompress - Change back to the uncompressed representation that allows editing.
Definition at line 60 of file IntEqClasses.cpp.
References llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), and llvm::SmallVectorTemplateCommon< T, typename >::size().