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()

Declared at: llvm/lib/CodeGen/RegAllocGreedy.h:82

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)

Declared at: llvm/lib/CodeGen/RegAllocGreedy.h:139

Parameters

llvm::Register New
llvm::Register Old

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

Declared at: llvm/lib/CodeGen/RegAllocGreedy.h:123

Parameters

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)

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

Declared at: llvm/lib/CodeGen/RegAllocGreedy.h:85

Parameters

llvm::Register Reg

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)

Declared at: llvm/lib/CodeGen/RegAllocGreedy.h:109

Parameters

llvm::Register Reg
unsigned int Cascade

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)

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)

Declared at: llvm/lib/CodeGen/RegAllocGreedy.h:131

Templates

Iterator

Parameters

Iterator Begin
Iterator End
llvm::LiveRangeStage NewStage