21#ifndef LLVM_ADT_INTEQCLASSES_H
22#define LLVM_ADT_INTEQCLASSES_H
38 unsigned NumClasses = 0;
47 void grow(
unsigned N);
59 unsigned join(
unsigned a,
unsigned b);
77 assert(NumClasses &&
"operator[] called before compress()");
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
This file defines the SmallVector class.
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.
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 .
void uncompress()
uncompress - Change back to the uncompressed representation that allows editing.
unsigned join(unsigned a, unsigned b)
Join the equivalence classes of a and b.
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.