Tracks register liveness and scavenges free registers by spilling.

Synopsis

Declared in <llvm/CodeGen/RegisterScavenging.h>

class RegScavenger;

Member Functions

Name

Description

RegScavenger [constructor]

Constructs an uninitialized register scavenger.

FindUnusedReg

Find an unused register of the specified register class.

addScavengingFrameIndex

Add a scavenging frame index.

assignRegToScavengingIndex

Record that a register is in use at a scavenging frame index.

backward

backward overloads

enterBasicBlock

Start tracking liveness from the begin of basic block MBB.

enterBasicBlockEnd

Start tracking liveness from the end of basic block MBB. Use backward() to move towards the beginning of the block.

getNumScavengingFrameIndices

Return the number of scavenging frame indices.

getRegsAvailable

Return all available registers in the register class in Mask.

getScavengingFrameIndices

Get an array of scavenging frame indices.

isRegUsed

Return if a specific register is currently used.

isScavengingFrameIndex

Query whether a frame index is a scavenging frame index.

scavengeRegisterBackwards

Make a register of the given class available from the current position backwards.

setRegUsed

Tell the scavenger a register is used.

Created with MrDocs