class LiveIntervalUnion::Query
Declaration
class LiveIntervalUnion::Query { /* full declaration omitted */ };
Description
Query interferences between a single live virtual register and a live interval union.
Declared at: llvm/include/llvm/CodeGen/LiveIntervalUnion.h:112
Member Variables
- private const llvm::LiveIntervalUnion* LiveUnion = nullptr
- private const llvm::LiveRange* LR = nullptr
- private LiveRange::const_iterator LRI
- current position in LR
- private llvm::LiveIntervalUnion::ConstSegmentIter LiveUnionI
- current position in LiveUnion
- private SmallVector<const llvm::LiveInterval*, 4> InterferingVRegs
- private bool CheckedFirstInterference = false
- private bool SeenAllInterferences = false
- private unsigned int Tag = 0
- private unsigned int UserTag = 0
Method Overview
- public Query()
- public Query(const llvm::LiveRange & LR, const llvm::LiveIntervalUnion & LIU)
- public Query(const llvm::LiveIntervalUnion::Query &)
- public bool checkInterference()
- private unsigned int collectInterferingVRegs(unsigned int MaxInterferingRegs)
- public void init(unsigned int NewUserTag, const llvm::LiveRange & NewLR, const llvm::LiveIntervalUnion & NewLiveUnion)
- public const SmallVectorImpl<const llvm::LiveInterval *> & interferingVRegs(unsigned int MaxInterferingRegs = std::numeric_limits<unsigned int>::max())
- private bool isSeenInterference(const llvm::LiveInterval * VirtReg) const
- public void reset(unsigned int NewUserTag, const llvm::LiveRange & NewLR, const llvm::LiveIntervalUnion & NewLiveUnion)
Methods
¶Query()
Query()
Declared at: llvm/include/llvm/CodeGen/LiveIntervalUnion.h:131
¶Query(const llvm::LiveRange& LR,
const llvm::LiveIntervalUnion& LIU)
Query(const llvm::LiveRange& LR,
const llvm::LiveIntervalUnion& LIU)
Declared at: llvm/include/llvm/CodeGen/LiveIntervalUnion.h:132
Parameters
- const llvm::LiveRange& LR
- const llvm::LiveIntervalUnion& LIU
¶Query(const llvm::LiveIntervalUnion::Query&)
Query(const llvm::LiveIntervalUnion::Query&)
Declared at: llvm/include/llvm/CodeGen/LiveIntervalUnion.h:134
Parameters
¶bool checkInterference()
bool checkInterference()
Declared at: llvm/include/llvm/CodeGen/LiveIntervalUnion.h:159
¶unsigned int collectInterferingVRegs(
unsigned int MaxInterferingRegs)
unsigned int collectInterferingVRegs(
unsigned int MaxInterferingRegs)
Declared at: llvm/include/llvm/CodeGen/LiveIntervalUnion.h:125
Parameters
- unsigned int MaxInterferingRegs
¶void init(
unsigned int NewUserTag,
const llvm::LiveRange& NewLR,
const llvm::LiveIntervalUnion& NewLiveUnion)
void init(
unsigned int NewUserTag,
const llvm::LiveRange& NewLR,
const llvm::LiveIntervalUnion& NewLiveUnion)
Declared at: llvm/include/llvm/CodeGen/LiveIntervalUnion.h:148
Parameters
- unsigned int NewUserTag
- const llvm::LiveRange& NewLR
- const llvm::LiveIntervalUnion& NewLiveUnion
¶const SmallVectorImpl<const llvm::LiveInterval*>&
interferingVRegs(
unsigned int MaxInterferingRegs =
std::numeric_limits<unsigned int>::max())
const SmallVectorImpl<const llvm::LiveInterval*>&
interferingVRegs(
unsigned int MaxInterferingRegs =
std::numeric_limits<unsigned int>::max())
Declared at: llvm/include/llvm/CodeGen/LiveIntervalUnion.h:162
Parameters
- unsigned int MaxInterferingRegs = std::numeric_limits<unsigned int>::max()
¶bool isSeenInterference(
const llvm::LiveInterval* VirtReg) const
bool isSeenInterference(
const llvm::LiveInterval* VirtReg) const
Declared at: llvm/include/llvm/CodeGen/LiveIntervalUnion.h:128
Parameters
- const llvm::LiveInterval* VirtReg
¶void reset(
unsigned int NewUserTag,
const llvm::LiveRange& NewLR,
const llvm::LiveIntervalUnion& NewLiveUnion)
void reset(
unsigned int NewUserTag,
const llvm::LiveRange& NewLR,
const llvm::LiveIntervalUnion& NewLiveUnion)
Declared at: llvm/include/llvm/CodeGen/LiveIntervalUnion.h:137
Parameters
- unsigned int NewUserTag
- const llvm::LiveRange& NewLR
- const llvm::LiveIntervalUnion& NewLiveUnion