Synopsis

Declared in <llvm/CodeGen/RegisterScavenging.h>

class RegScavenger;

Member Functions

Name

Description

RegScavenger [constructor]

Default constructor

FindUnusedReg

Find an unused register of the specified register class. Return 0 if none is found.

addScavengingFrameIndex

Add a scavenging frame index.

assignRegToScavengingIndex

Record that Reg is in use at scavenging index FI. This is for targets which need to directly manage the spilling process, and need to update the scavenger's internal state. It's expected this be called a second time with Restore set to a non‐null value, so that the externally inserted restore instruction resets the scavenged slot liveness when encountered.

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

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 specific register class available from the current position backwards to the place before To. If RestoreAfter is true this includes the instruction following the current position. SPAdj is the stack adjustment due to call frame, it's passed along to eliminateFrameIndex(). Returns the scavenged register.

setRegUsed

Tell the scavenger a register is used.

Created with MrDocs