TCE
1.21
|
#include <TCEFrameInfo.hh>
Public Member Functions | |
TCEFrameInfo (TCERegisterInfo *tri, const TCEInstrInfo *tii, int stackAlignment) | |
MachineBasicBlock::iterator | eliminateCallFramePseudoInstr (MachineFunction &MF, MachineBasicBlock &MBB, MachineBasicBlock::iterator I) const override |
void | emitPrologue (MachineFunction &mf, MachineBasicBlock &MBB) const override |
void | emitEpilogue (MachineFunction &mf, MachineBasicBlock &MBB) const override |
bool | hasFP (const MachineFunction &MF) const override |
int | stackAlignment () const |
bool | containsCall (MachineFunction &mf) const |
Private Attributes | |
int | stackAlignment_ |
const TCERegisterInfo * | tri_ |
const TCEInstrInfo & | tii_ |
Definition at line 67 of file TCEFrameInfo.hh.
|
inline |
!! Important !! ************* If the last boolean parameter of the constructor is set to false, stack realignment is not allowed. This means, that every stack object having a bigger alignment than the stack's own alignment, will be reduced to have the stack's alignment.
Definition at line 76 of file TCEFrameInfo.hh.
References eliminateCallFramePseudoInstr(), emitEpilogue(), emitPrologue(), hasFP(), and llvm::TCERegisterInfo::setTFI().
bool TCEFrameInfo::containsCall | ( | MachineFunction & | mf | ) | const |
Definition at line 140 of file TCEFrameInfo.cc.
References TCEISD::CALL, and emitPrologue().
Referenced by llvm::TCERegisterInfo::eliminateFrameIndex(), emitEpilogue(), emitPrologue(), and stackAlignment().
|
override |
Eliminates call frame pseudo instructions.
Stack space is already reserved in caller stack.
Definition at line 71 of file TCEFrameInfo.cc.
References ERASE_INSTR_AND_RETURN, hasFP(), and tii_.
Referenced by TCEFrameInfo().
|
override |
Emits machine function epilogue to machine functions.
Definition at line 291 of file TCEFrameInfo.cc.
References assert, containsCall(), hasFP(), RA, stackAlignment_, and tii_.
Referenced by TCEFrameInfo().
|
override |
Emits machine function prologue to machine functions.
Definition at line 163 of file TCEFrameInfo.cc.
References containsCall(), hasFP(), RA, stackAlignment_, and tii_.
Referenced by containsCall(), and TCEFrameInfo().
|
override |
Definition at line 128 of file TCEFrameInfo.cc.
Referenced by eliminateCallFramePseudoInstr(), llvm::TCERegisterInfo::eliminateFrameIndex(), emitEpilogue(), emitPrologue(), llvm::TCERegisterInfo::hasFP(), and TCEFrameInfo().
|
inline |
Definition at line 111 of file TCEFrameInfo.hh.
References containsCall(), and stackAlignment_.
Referenced by llvm::TCERegisterInfo::eliminateFrameIndex().
|
private |
Definition at line 114 of file TCEFrameInfo.hh.
Referenced by emitEpilogue(), emitPrologue(), and stackAlignment().
|
private |
Definition at line 116 of file TCEFrameInfo.hh.
Referenced by eliminateCallFramePseudoInstr(), emitEpilogue(), and emitPrologue().
|
private |
Definition at line 115 of file TCEFrameInfo.hh.