LLVM  3.7.0
Public Member Functions | List of all members
llvm::ConnectedVNInfoEqClasses Class Reference

ConnectedVNInfoEqClasses - Helper class that can divide VNInfos in a LiveInterval into equivalence clases of connected components. More...

#include <LiveInterval.h>

Public Member Functions

 ConnectedVNInfoEqClasses (LiveIntervals &lis)
 
unsigned Classify (const LiveInterval *LI)
 Classify - Classify the values in LI into connected components. More...
 
unsigned getEqClass (const VNInfo *VNI) const
 getEqClass - Classify creates equivalence classes numbered 0..N. More...
 
void Distribute (LiveInterval *LIV[], MachineRegisterInfo &MRI)
 Distribute - Distribute values in LIV[0] into a separate LiveInterval for each connected component. More...
 

Detailed Description

ConnectedVNInfoEqClasses - Helper class that can divide VNInfos in a LiveInterval into equivalence clases of connected components.

A LiveInterval that has multiple connected components can be broken into multiple LiveIntervals.

Given a LiveInterval that may have multiple connected components, run:

unsigned numComps = ConEQ.Classify(LI); if (numComps > 1) { // allocate numComps-1 new LiveIntervals into LIS[1..] ConEQ.Distribute(LIS); }

Definition at line 841 of file LiveInterval.h.

Constructor & Destructor Documentation

llvm::ConnectedVNInfoEqClasses::ConnectedVNInfoEqClasses ( LiveIntervals lis)
inlineexplicit

Definition at line 851 of file LiveInterval.h.

Member Function Documentation

unsigned ConnectedVNInfoEqClasses::Classify ( const LiveInterval LI)
void ConnectedVNInfoEqClasses::Distribute ( LiveInterval LIV[],
MachineRegisterInfo MRI 
)
unsigned llvm::ConnectedVNInfoEqClasses::getEqClass ( const VNInfo VNI) const
inline

getEqClass - Classify creates equivalence classes numbered 0..N.

Return the equivalence class assigned the VNI.

Definition at line 859 of file LiveInterval.h.

References llvm::VNInfo::id.


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