LLVM  13.0.0git
Public Member Functions | List of all members
llvm::LiveIntervalUnion::Query Class Reference

Query interferences between a single live virtual register and a live interval union. More...

#include "llvm/CodeGen/LiveIntervalUnion.h"

Public Member Functions

 Query ()=default
 
 Query (const LiveRange &LR, const LiveIntervalUnion &LIU)
 
 Query (const Query &)=delete
 
Queryoperator= (const Query &)=delete
 
void reset (unsigned NewUserTag, const LiveRange &NewLR, const LiveIntervalUnion &NewLiveUnion)
 
void init (unsigned NewUserTag, const LiveRange &NewLR, const LiveIntervalUnion &NewLiveUnion)
 
bool checkInterference ()
 
unsigned collectInterferingVRegs (unsigned MaxInterferingRegs=std::numeric_limits< unsigned >::max())
 
bool isSeenInterference (LiveInterval *VirtReg) const
 
bool seenAllInterferences () const
 
const SmallVectorImpl< LiveInterval * > & interferingVRegs () const
 

Detailed Description

Query interferences between a single live virtual register and a live interval union.

Definition at line 112 of file LiveIntervalUnion.h.

Constructor & Destructor Documentation

◆ Query() [1/3]

llvm::LiveIntervalUnion::Query::Query ( )
default

◆ Query() [2/3]

llvm::LiveIntervalUnion::Query::Query ( const LiveRange LR,
const LiveIntervalUnion LIU 
)
inline

Definition at line 125 of file LiveIntervalUnion.h.

◆ Query() [3/3]

llvm::LiveIntervalUnion::Query::Query ( const Query )
delete

Member Function Documentation

◆ checkInterference()

bool llvm::LiveIntervalUnion::Query::checkInterference ( )
inline

Definition at line 152 of file LiveIntervalUnion.h.

References collectInterferingVRegs().

Referenced by llvm::LiveRegMatrix::checkInterference().

◆ collectInterferingVRegs()

unsigned LiveIntervalUnion::Query::collectInterferingVRegs ( unsigned  MaxInterferingRegs = std::numeric_limits<unsigned>::max())

Definition at line 128 of file LiveIntervalUnion.cpp.

References assert(), and llvm::LiveRange::size().

Referenced by checkInterference().

◆ init()

void llvm::LiveIntervalUnion::Query::init ( unsigned  NewUserTag,
const LiveRange NewLR,
const LiveIntervalUnion NewLiveUnion 
)
inline

Definition at line 141 of file LiveIntervalUnion.h.

References llvm::LiveIntervalUnion::changedSince(), and reset().

Referenced by llvm::LiveRegMatrix::query().

◆ interferingVRegs()

const SmallVectorImpl<LiveInterval*>& llvm::LiveIntervalUnion::Query::interferingVRegs ( ) const
inline

Definition at line 166 of file LiveIntervalUnion.h.

◆ isSeenInterference()

bool LiveIntervalUnion::Query::isSeenInterference ( LiveInterval VirtReg) const

Definition at line 114 of file LiveIntervalUnion.cpp.

References llvm::is_contained().

◆ operator=()

Query& llvm::LiveIntervalUnion::Query::operator= ( const Query )
delete

◆ reset()

void llvm::LiveIntervalUnion::Query::reset ( unsigned  NewUserTag,
const LiveRange NewLR,
const LiveIntervalUnion NewLiveUnion 
)
inline

Definition at line 130 of file LiveIntervalUnion.h.

References llvm::LiveIntervalUnion::getTag(), and llvm::None.

Referenced by init().

◆ seenAllInterferences()

bool llvm::LiveIntervalUnion::Query::seenAllInterferences ( ) const
inline

Definition at line 163 of file LiveIntervalUnion.h.


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