Restore all callee‐saved registers, or report that per‐register loads should be used instead.

Synopsis

Declared in <llvm/CodeGen/TargetFrameLowering.h>

virtual
bool
restoreCalleeSavedRegisters(
    MachineBasicBlock& MBB,
    MachineBasicBlock::iterator MI,
    MutableArrayRef<CalleeSavedInfo> CSI,
    TargetRegisterInfo const* TRI) const;

Description

Issues instruction(s) to restore all callee saved registers and returns true if it isn't possible / profitable to do so by issuing a series of load instructions via loadRegToStackSlot(). If it returns true, and any of the registers in CSI is not restored, it sets the corresponding Restored flag in CSI to false. Returns false otherwise.

Return Value

True if registers were restored by this method; false to use loads.

Parameters

Name

Description

MBB

Block that receives the restore instructions.

MI

Insertion point within MBB.

CSI

Callee‐saved registers to restore.

TRI

Target register info for the function.

Created with MrDocs