LLVM  3.7.0
Public Member Functions | List of all members
llvm::HexagonRegisterInfo Class Reference

#include <HexagonRegisterInfo.h>

Inheritance diagram for llvm::HexagonRegisterInfo:
[legend]
Collaboration diagram for llvm::HexagonRegisterInfo:
[legend]

Public Member Functions

 HexagonRegisterInfo ()
 
const MCPhysReggetCalleeSavedRegs (const MachineFunction *MF) const override
 Code Generation virtual methods... More...
 
BitVector getReservedRegs (const MachineFunction &MF) const override
 
void eliminateFrameIndex (MachineBasicBlock::iterator II, int SPAdj, unsigned FIOperandNum, RegScavenger *RS=nullptr) const override
 
bool requiresRegisterScavenging (const MachineFunction &MF) const override
 Returns true since we may need scavenging for a temporary register when generating hardware loop instructions. More...
 
bool requiresFrameIndexScavenging (const MachineFunction &MF) const override
 Returns true. More...
 
bool needsStackRealignment (const MachineFunction &MF) const override
 
bool useFPForScavengingIndex (const MachineFunction &MF) const override
 Returns true if the frame pointer is valid. More...
 
bool trackLivenessAfterRegAlloc (const MachineFunction &MF) const override
 
unsigned getRARegister () const
 
unsigned getFrameRegister (const MachineFunction &MF) const override
 
unsigned getFrameRegister () const
 
unsigned getStackRegister () const
 
const MCPhysReggetCallerSavedRegs (const MachineFunction *MF) const
 
unsigned getFirstCallerSavedNonParamReg () const
 
bool isEHReturnCalleeSaveReg (unsigned Reg) const
 
bool isCalleeSaveReg (unsigned Reg) const
 

Detailed Description

Definition at line 40 of file HexagonRegisterInfo.h.

Constructor & Destructor Documentation

HexagonRegisterInfo::HexagonRegisterInfo ( )

Definition at line 42 of file HexagonRegisterInfo.cpp.

Member Function Documentation

void HexagonRegisterInfo::eliminateFrameIndex ( MachineBasicBlock::iterator  II,
int  SPAdj,
unsigned  FIOperandNum,
RegScavenger RS = nullptr 
) const
override
const MCPhysReg * HexagonRegisterInfo::getCalleeSavedRegs ( const MachineFunction MF) const
override
const MCPhysReg * HexagonRegisterInfo::getCallerSavedRegs ( const MachineFunction MF) const
unsigned HexagonRegisterInfo::getFirstCallerSavedNonParamReg ( ) const

Definition at line 255 of file HexagonRegisterInfo.cpp.

References R6.

unsigned HexagonRegisterInfo::getFrameRegister ( const MachineFunction MF) const
override
unsigned HexagonRegisterInfo::getFrameRegister ( ) const

Definition at line 231 of file HexagonRegisterInfo.cpp.

Referenced by eliminateFrameIndex().

unsigned HexagonRegisterInfo::getRARegister ( ) const
BitVector HexagonRegisterInfo::getReservedRegs ( const MachineFunction MF) const
override
unsigned HexagonRegisterInfo::getStackRegister ( ) const

Definition at line 236 of file HexagonRegisterInfo.cpp.

Referenced by eliminateFrameIndex().

bool HexagonRegisterInfo::isCalleeSaveReg ( unsigned  Reg) const

Definition at line 51 of file HexagonRegisterInfo.cpp.

bool HexagonRegisterInfo::isEHReturnCalleeSaveReg ( unsigned  Reg) const

Definition at line 46 of file HexagonRegisterInfo.cpp.

References R2.

bool HexagonRegisterInfo::needsStackRealignment ( const MachineFunction MF) const
override
bool llvm::HexagonRegisterInfo::requiresFrameIndexScavenging ( const MachineFunction MF) const
inlineoverride

Returns true.

Spill code for predicate registers might need an extra register.

Definition at line 62 of file HexagonRegisterInfo.h.

bool llvm::HexagonRegisterInfo::requiresRegisterScavenging ( const MachineFunction MF) const
inlineoverride

Returns true since we may need scavenging for a temporary register when generating hardware loop instructions.

Definition at line 56 of file HexagonRegisterInfo.h.

bool llvm::HexagonRegisterInfo::trackLivenessAfterRegAlloc ( const MachineFunction MF) const
inlineoverride

Definition at line 71 of file HexagonRegisterInfo.h.

bool HexagonRegisterInfo::useFPForScavengingIndex ( const MachineFunction MF) const
override

Returns true if the frame pointer is valid.

Definition at line 242 of file HexagonRegisterInfo.cpp.

References llvm::HexagonFrameLowering::hasFP().


The documentation for this class was generated from the following files: