mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-26 21:47:07 +00:00
PEI now passes a RegScavenger ptr to eliminateFrameIndex.
llvm-svn: 34707
This commit is contained in:
parent
ee2e5de4fb
commit
116f97f2c7
@ -38,8 +38,6 @@ public:
|
||||
|
||||
~ARMRegisterInfo();
|
||||
|
||||
RegScavenger *getRegScavenger() const;
|
||||
|
||||
/// getRegisterNumbering - Given the enum value for some register, e.g.
|
||||
/// ARM::LR, return the number that it corresponds to (e.g. 14).
|
||||
static unsigned getRegisterNumbering(unsigned RegEnum);
|
||||
@ -76,13 +74,16 @@ public:
|
||||
|
||||
BitVector getReservedRegs(const MachineFunction &MF) const;
|
||||
|
||||
bool requiresRegisterScavenging() const;
|
||||
|
||||
bool hasFP(const MachineFunction &MF) const;
|
||||
|
||||
void eliminateCallFramePseudoInstr(MachineFunction &MF,
|
||||
MachineBasicBlock &MBB,
|
||||
MachineBasicBlock::iterator I) const;
|
||||
|
||||
void eliminateFrameIndex(MachineBasicBlock::iterator II) const;
|
||||
void eliminateFrameIndex(MachineBasicBlock::iterator II,
|
||||
RegScavenger *RS = NULL) const;
|
||||
|
||||
void processFunctionBeforeCalleeSavedScan(MachineFunction &MF) const;
|
||||
|
||||
|
@ -245,8 +245,8 @@ eliminateCallFramePseudoInstr(MachineFunction &MF, MachineBasicBlock &MBB,
|
||||
//variable locals
|
||||
//<- SP
|
||||
|
||||
void
|
||||
AlphaRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II) const {
|
||||
void AlphaRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
|
||||
RegScavenger *RS) const {
|
||||
unsigned i = 0;
|
||||
MachineInstr &MI = *II;
|
||||
MachineBasicBlock &MBB = *MI.getParent();
|
||||
|
@ -57,7 +57,8 @@ struct AlphaRegisterInfo : public AlphaGenRegisterInfo {
|
||||
MachineBasicBlock &MBB,
|
||||
MachineBasicBlock::iterator I) const;
|
||||
|
||||
void eliminateFrameIndex(MachineBasicBlock::iterator II) const;
|
||||
void eliminateFrameIndex(MachineBasicBlock::iterator II,
|
||||
RegScavenger *RS = NULL) const;
|
||||
|
||||
//void processFunctionBeforeFrameFinalized(MachineFunction &MF) const;
|
||||
|
||||
|
@ -167,7 +167,8 @@ eliminateCallFramePseudoInstr(MachineFunction &MF, MachineBasicBlock &MBB,
|
||||
MBB.erase(I);
|
||||
}
|
||||
|
||||
void IA64RegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II)const{
|
||||
void IA64RegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
|
||||
RegScavenger *RS)const{
|
||||
unsigned i = 0;
|
||||
MachineInstr &MI = *II;
|
||||
MachineBasicBlock &MBB = *MI.getParent();
|
||||
|
@ -56,7 +56,8 @@ struct IA64RegisterInfo : public IA64GenRegisterInfo {
|
||||
MachineBasicBlock &MBB,
|
||||
MachineBasicBlock::iterator MI) const;
|
||||
|
||||
void eliminateFrameIndex(MachineBasicBlock::iterator MI) const;
|
||||
void eliminateFrameIndex(MachineBasicBlock::iterator MI,
|
||||
RegScavenger *RS = NULL) const;
|
||||
|
||||
void emitPrologue(MachineFunction &MF) const;
|
||||
void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const;
|
||||
|
@ -623,8 +623,8 @@ void PPCRegisterInfo::lowerDynamicAlloc(MachineBasicBlock::iterator II) const {
|
||||
MBB.erase(II);
|
||||
}
|
||||
|
||||
void
|
||||
PPCRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II) const {
|
||||
void PPCRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
|
||||
RegScavenger *RS) const {
|
||||
// Get the instruction.
|
||||
MachineInstr &MI = *II;
|
||||
// Get the instruction's basic block.
|
||||
|
@ -76,7 +76,8 @@ public:
|
||||
bool usesLR(MachineFunction &MF) const;
|
||||
|
||||
void lowerDynamicAlloc(MachineBasicBlock::iterator II) const;
|
||||
void eliminateFrameIndex(MachineBasicBlock::iterator II) const;
|
||||
void eliminateFrameIndex(MachineBasicBlock::iterator II,
|
||||
RegScavenger *RS = NULL) const;
|
||||
|
||||
/// determineFrameLayout - Determine the size of the frame and maximum call
|
||||
/// frame size.
|
||||
|
@ -155,8 +155,8 @@ eliminateCallFramePseudoInstr(MachineFunction &MF, MachineBasicBlock &MBB,
|
||||
MBB.erase(I);
|
||||
}
|
||||
|
||||
void
|
||||
SparcRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II) const {
|
||||
void SparcRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
|
||||
RegScavenger *RS) const {
|
||||
unsigned i = 0;
|
||||
MachineInstr &MI = *II;
|
||||
while (!MI.getOperand(i).isFrameIndex()) {
|
||||
|
@ -60,7 +60,8 @@ struct SparcRegisterInfo : public SparcGenRegisterInfo {
|
||||
MachineBasicBlock &MBB,
|
||||
MachineBasicBlock::iterator I) const;
|
||||
|
||||
void eliminateFrameIndex(MachineBasicBlock::iterator II) const;
|
||||
void eliminateFrameIndex(MachineBasicBlock::iterator II,
|
||||
RegScavenger *RS = NULL) const;
|
||||
|
||||
void processFunctionBeforeFrameFinalized(MachineFunction &MF) const;
|
||||
|
||||
|
@ -968,7 +968,8 @@ eliminateCallFramePseudoInstr(MachineFunction &MF, MachineBasicBlock &MBB,
|
||||
MBB.erase(I);
|
||||
}
|
||||
|
||||
void X86RegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II) const{
|
||||
void X86RegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
|
||||
RegScavenger *RS) const{
|
||||
unsigned i = 0;
|
||||
MachineInstr &MI = *II;
|
||||
MachineFunction &MF = *MI.getParent()->getParent();
|
||||
|
@ -90,7 +90,8 @@ public:
|
||||
MachineBasicBlock &MBB,
|
||||
MachineBasicBlock::iterator MI) const;
|
||||
|
||||
void eliminateFrameIndex(MachineBasicBlock::iterator MI) const;
|
||||
void eliminateFrameIndex(MachineBasicBlock::iterator MI,
|
||||
RegScavenger *RS = NULL) const;
|
||||
|
||||
void processFunctionBeforeFrameFinalized(MachineFunction &MF) const;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user