21#ifndef LLVM_ADT_INTEQCLASSES_H
22#define LLVM_ADT_INTEQCLASSES_H
39 unsigned NumClasses = 0;
78 assert(NumClasses &&
"operator[] called before compress()");
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
This file defines the SmallVector class.
LLVM_ABI unsigned findLeader(unsigned a) const
findLeader - Compute the leader of a's equivalence class.
IntEqClasses(unsigned N=0)
IntEqClasses - Create an equivalence class mapping for 0 .. N-1.
LLVM_ABI void compress()
compress - Compress equivalence classes by numbering them 0 .
unsigned getNumClasses() const
getNumClasses - Return the number of equivalence classes after compress() was called.
void clear()
clear - Clear all classes so that grow() will assign a unique class to every integer.
unsigned operator[](unsigned a) const
operator[] - Return a's equivalence class number, 0 .
LLVM_ABI void uncompress()
uncompress - Change back to the uncompressed representation that allows editing.
LLVM_ABI unsigned join(unsigned a, unsigned b)
Join the equivalence classes of a and b.
LLVM_ABI void grow(unsigned N)
grow - Increase capacity to hold 0 .
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
This is an optimization pass for GlobalISel generic memory operations.