class RAGreedy::ExtraRegInfo
Declaration
class RAGreedy::ExtraRegInfo { /* full declaration omitted */ };
Description
Track allocation stage and eviction loop prevention during allocation.
Declared at: llvm/lib/CodeGen/RegAllocGreedy.h:66
Member Variables
- private IndexedMap<llvm::RAGreedy::ExtraRegInfo::RegInfo, llvm::VirtReg2IndexFunctor> Info
- private unsigned int NextCascade = 1
Method Overview
- public ExtraRegInfo()
- public ExtraRegInfo(const llvm::RAGreedy::ExtraRegInfo &)
- public void LRE_DidCloneVirtReg(llvm::Register New, llvm::Register Old)
- public unsigned int getCascade(llvm::Register Reg) const
- public unsigned int getCascadeOrCurrentNext(llvm::Register Reg) const
- public unsigned int getOrAssignNewCascade(llvm::Register Reg)
- public llvm::LiveRangeStage getOrInitStage(llvm::Register Reg)
- public llvm::LiveRangeStage getStage(llvm::Register Reg) const
- public llvm::LiveRangeStage getStage(const llvm::LiveInterval & VirtReg) const
- public void setCascade(llvm::Register Reg, unsigned int Cascade)
- public void setStage(llvm::Register Reg, llvm::LiveRangeStage Stage)
- public void setStage(const llvm::LiveInterval & VirtReg, llvm::LiveRangeStage Stage)
- public template <typename Iterator>void setStage(Iterator Begin, Iterator End, llvm::LiveRangeStage NewStage)
Methods
¶ExtraRegInfo()
ExtraRegInfo()
Declared at: llvm/lib/CodeGen/RegAllocGreedy.h:82
¶ExtraRegInfo(const llvm::RAGreedy::ExtraRegInfo&)
ExtraRegInfo(const llvm::RAGreedy::ExtraRegInfo&)
Declared at: llvm/lib/CodeGen/RegAllocGreedy.h:83
Parameters
- const llvm::RAGreedy::ExtraRegInfo&
¶void LRE_DidCloneVirtReg(llvm::Register New,
llvm::Register Old)
void LRE_DidCloneVirtReg(llvm::Register New,
llvm::Register Old)
Declared at: llvm/lib/CodeGen/RegAllocGreedy.h:139
Parameters
- llvm::Register New
- llvm::Register Old
¶unsigned int getCascade(llvm::Register Reg) const
unsigned int getCascade(llvm::Register Reg) const
Declared at: llvm/lib/CodeGen/RegAllocGreedy.h:107
Parameters
- llvm::Register Reg
¶unsigned int getCascadeOrCurrentNext(
llvm::Register Reg) const
unsigned int getCascadeOrCurrentNext(
llvm::Register Reg) const
Declared at: llvm/lib/CodeGen/RegAllocGreedy.h:123
Parameters
- llvm::Register Reg
¶unsigned int getOrAssignNewCascade(
llvm::Register Reg)
unsigned int getOrAssignNewCascade(
llvm::Register Reg)
Declared at: llvm/lib/CodeGen/RegAllocGreedy.h:114
Parameters
- llvm::Register Reg
¶llvm::LiveRangeStage getOrInitStage(
llvm::Register Reg)
llvm::LiveRangeStage getOrInitStage(
llvm::Register Reg)
Description
Return the current stage of the register, if present, otherwise initialize it and return that.
Declared at: llvm/lib/CodeGen/RegAllocGreedy.h:102
Parameters
- llvm::Register Reg
¶llvm::LiveRangeStage getStage(
llvm::Register Reg) const
llvm::LiveRangeStage getStage(
llvm::Register Reg) const
Declared at: llvm/lib/CodeGen/RegAllocGreedy.h:85
Parameters
- llvm::Register Reg
¶llvm::LiveRangeStage getStage(
const llvm::LiveInterval& VirtReg) const
llvm::LiveRangeStage getStage(
const llvm::LiveInterval& VirtReg) const
Declared at: llvm/lib/CodeGen/RegAllocGreedy.h:87
Parameters
- const llvm::LiveInterval& VirtReg
¶void setCascade(llvm::Register Reg,
unsigned int Cascade)
void setCascade(llvm::Register Reg,
unsigned int Cascade)
Declared at: llvm/lib/CodeGen/RegAllocGreedy.h:109
Parameters
- llvm::Register Reg
- unsigned int Cascade
¶void setStage(llvm::Register Reg,
llvm::LiveRangeStage Stage)
void setStage(llvm::Register Reg,
llvm::LiveRangeStage Stage)
Declared at: llvm/lib/CodeGen/RegAllocGreedy.h:91
Parameters
- llvm::Register Reg
- llvm::LiveRangeStage Stage
¶void setStage(const llvm::LiveInterval& VirtReg,
llvm::LiveRangeStage Stage)
void setStage(const llvm::LiveInterval& VirtReg,
llvm::LiveRangeStage Stage)
Declared at: llvm/lib/CodeGen/RegAllocGreedy.h:96
Parameters
- const llvm::LiveInterval& VirtReg
- llvm::LiveRangeStage Stage
¶template <typename Iterator>
void setStage(Iterator Begin,
Iterator End,
llvm::LiveRangeStage NewStage)
template <typename Iterator>
void setStage(Iterator Begin,
Iterator End,
llvm::LiveRangeStage NewStage)
Declared at: llvm/lib/CodeGen/RegAllocGreedy.h:131
Templates
- Iterator
Parameters
- Iterator Begin
- Iterator End
- llvm::LiveRangeStage NewStage