LLVM 20.0.0git
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 "llvm/CodeGen/LiveInterval.h"

Public Member Functions

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

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 1005 of file LiveInterval.h.

Constructor & Destructor Documentation

◆ ConnectedVNInfoEqClasses()

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

Definition at line 1010 of file LiveInterval.h.

Member Function Documentation

◆ Classify()

unsigned ConnectedVNInfoEqClasses::Classify ( const LiveRange LR)

◆ Distribute()

void ConnectedVNInfoEqClasses::Distribute ( LiveInterval LI,
LiveInterval LIV[],
MachineRegisterInfo MRI 
)

◆ getEqClass()

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 1018 of file LiveInterval.h.

References llvm::VNInfo::id.


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