LLVM  7.0.0svn
llvm::IntEqClasses Class Reference

#include "llvm/ADT/IntEqClasses.h"

## Public Member Functions

IntEqClasses (unsigned N=0)
IntEqClasses - Create an equivalence class mapping for 0 .. N-1. More...

void grow (unsigned N)
grow - Increase capacity to hold 0 . More...

void clear ()
clear - Clear all classes so that grow() will assign a unique class to every integer. More...

unsigned join (unsigned a, unsigned b)
Join the equivalence classes of a and b. More...

void compress ()
compress - Compress equivalence classes by numbering them 0 . More...

unsigned getNumClasses () const
getNumClasses - Return the number of equivalence classes after compress() was called. More...

unsigned operator[] (unsigned a) const
operator[] - Return a's equivalence class number, 0 . More...

void uncompress ()
uncompress - Change back to the uncompressed representation that allows editing. More...

## Detailed Description

Definition at line 28 of file IntEqClasses.h.

## ◆ IntEqClasses()

 llvm::IntEqClasses::IntEqClasses ( unsigned N = 0 )
inline

IntEqClasses - Create an equivalence class mapping for 0 .. N-1.

Definition at line 42 of file IntEqClasses.h.

References grow(), and N.

## ◆ clear()

 void llvm::IntEqClasses::clear ( )
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(), compress(), findLeader(), and join().

## ◆ compress()

 void IntEqClasses::compress ( )

compress - Compress equivalence classes by numbering them 0 .

. M. This makes the equivalence class map immutable.

Definition at line 60 of file IntEqClasses.cpp.

Referenced by clear(), and llvm::SchedDFSImpl::finalize().

 unsigned IntEqClasses::findLeader ( unsigned a ) const

This is the smallest member of the class. This requires an uncompressed map.

Definition at line 53 of file IntEqClasses.cpp.

References assert().

Referenced by clear().

## ◆ getNumClasses()

 unsigned llvm::IntEqClasses::getNumClasses ( ) const
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().

## ◆ grow()

 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.

Referenced by IntEqClasses().

## ◆ join()

 unsigned IntEqClasses::join ( unsigned a, unsigned b )

Join the equivalence classes of a and b.

Definition at line 32 of file IntEqClasses.cpp.

References assert().

Referenced by clear(), and llvm::SchedDFSImpl::joinPredSubtree().

## ◆ operator[]()

 unsigned llvm::IntEqClasses::operator[] ( unsigned a ) const
inline

operator[] - Return a's equivalence class number, 0 .

. getNumClasses()-1. This requires a compressed map.

Definition at line 76 of file IntEqClasses.h.

References assert(), and uncompress().

## ◆ uncompress()

 void IntEqClasses::uncompress ( )

uncompress - Change back to the uncompressed representation that allows editing.

Definition at line 67 of file IntEqClasses.cpp.

Referenced by operator[]().

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