Skip to content

Commit 36c4953

Browse files
author
Jim Grosbach
committed
Simplify resolveFrameIndex() signature.
Just pass a MachineInstr reference rather than an MBB iterator. Creating a MachineInstr& is the first thing every implementation did anyway. llvm-svn: 205453
1 parent 4a1a9ce commit 36c4953

10 files changed

+17
-26
lines changed

llvm/include/llvm/Target/TargetRegisterInfo.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -770,8 +770,8 @@ class TargetRegisterInfo : public MCRegisterInfo {
770770

771771
/// resolveFrameIndex - Resolve a frame index operand of an instruction
772772
/// to reference the indicated base register plus offset instead.
773-
virtual void resolveFrameIndex(MachineBasicBlock::iterator I,
774-
unsigned BaseReg, int64_t Offset) const {
773+
virtual void resolveFrameIndex(MachineInstr &MI, unsigned BaseReg,
774+
int64_t Offset) const {
775775
llvm_unreachable("resolveFrameIndex does not exist on this target");
776776
}
777777

llvm/lib/CodeGen/LocalStackSlotAllocation.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -411,7 +411,7 @@ bool LocalStackSlotPass::insertFrameReferenceRegisters(MachineFunction &Fn) {
411411

412412
// Modify the instruction to use the new base register rather
413413
// than the frame index operand.
414-
TRI->resolveFrameIndex(I, BaseReg, Offset);
414+
TRI->resolveFrameIndex(*I, BaseReg, Offset);
415415
DEBUG(dbgs() << "Resolved: " << *MI);
416416

417417
++NumReplacements;

llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp

+2-4
Original file line numberDiff line numberDiff line change
@@ -595,10 +595,8 @@ materializeFrameBaseRegister(MachineBasicBlock *MBB,
595595
AddDefaultCC(MIB);
596596
}
597597

598-
void
599-
ARMBaseRegisterInfo::resolveFrameIndex(MachineBasicBlock::iterator I,
600-
unsigned BaseReg, int64_t Offset) const {
601-
MachineInstr &MI = *I;
598+
void ARMBaseRegisterInfo::resolveFrameIndex(MachineInstr &MI, unsigned BaseReg,
599+
int64_t Offset) const {
602600
MachineBasicBlock &MBB = *MI.getParent();
603601
MachineFunction &MF = *MBB.getParent();
604602
const ARMBaseInstrInfo &TII =

llvm/lib/Target/ARM/ARMBaseRegisterInfo.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -150,8 +150,8 @@ class ARMBaseRegisterInfo : public ARMGenRegisterInfo {
150150
void materializeFrameBaseRegister(MachineBasicBlock *MBB,
151151
unsigned BaseReg, int FrameIdx,
152152
int64_t Offset) const override;
153-
void resolveFrameIndex(MachineBasicBlock::iterator I,
154-
unsigned BaseReg, int64_t Offset) const override;
153+
void resolveFrameIndex(MachineInstr &MI, unsigned BaseReg,
154+
int64_t Offset) const override;
155155
bool isFrameOffsetLegal(const MachineInstr *MI,
156156
int64_t Offset) const override;
157157

llvm/lib/Target/ARM/Thumb1RegisterInfo.cpp

+2-4
Original file line numberDiff line numberDiff line change
@@ -482,10 +482,8 @@ rewriteFrameIndex(MachineBasicBlock::iterator II, unsigned FrameRegIdx,
482482
return Offset == 0;
483483
}
484484

485-
void
486-
Thumb1RegisterInfo::resolveFrameIndex(MachineBasicBlock::iterator I,
487-
unsigned BaseReg, int64_t Offset) const {
488-
MachineInstr &MI = *I;
485+
void Thumb1RegisterInfo::resolveFrameIndex(MachineInstr &MI, unsigned BaseReg,
486+
int64_t Offset) const {
489487
const ARMBaseInstrInfo &TII =
490488
*static_cast<const ARMBaseInstrInfo*>(
491489
MI.getParent()->getParent()->getTarget().getInstrInfo());

llvm/lib/Target/ARM/Thumb1RegisterInfo.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ struct Thumb1RegisterInfo : public ARMBaseRegisterInfo {
4747
bool rewriteFrameIndex(MachineBasicBlock::iterator II, unsigned FrameRegIdx,
4848
unsigned FrameReg, int &Offset,
4949
const ARMBaseInstrInfo &TII) const;
50-
void resolveFrameIndex(MachineBasicBlock::iterator I,
51-
unsigned BaseReg, int64_t Offset) const override;
50+
void resolveFrameIndex(MachineInstr &MI, unsigned BaseReg,
51+
int64_t Offset) const override;
5252
bool saveScavengerRegister(MachineBasicBlock &MBB,
5353
MachineBasicBlock::iterator I,
5454
MachineBasicBlock::iterator &UseMI,

llvm/lib/Target/ARM64/ARM64RegisterInfo.cpp

+1-3
Original file line numberDiff line numberDiff line change
@@ -299,10 +299,8 @@ void ARM64RegisterInfo::materializeFrameBaseRegister(MachineBasicBlock *MBB,
299299
.addImm(Shifter);
300300
}
301301

302-
void ARM64RegisterInfo::resolveFrameIndex(MachineBasicBlock::iterator I,
303-
unsigned BaseReg,
302+
void ARM64RegisterInfo::resolveFrameIndex(MachineInstr &MI, unsigned BaseReg,
304303
int64_t Offset) const {
305-
MachineInstr &MI = *I;
306304
int Off = Offset; // ARM doesn't need the general 64-bit offsets
307305
unsigned i = 0;
308306

llvm/lib/Target/ARM64/ARM64RegisterInfo.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ struct ARM64RegisterInfo : public ARM64GenRegisterInfo {
7878
void materializeFrameBaseRegister(MachineBasicBlock *MBB, unsigned BaseReg,
7979
int FrameIdx,
8080
int64_t Offset) const override;
81-
void resolveFrameIndex(MachineBasicBlock::iterator I, unsigned BaseReg,
81+
void resolveFrameIndex(MachineInstr &MI, unsigned BaseReg,
8282
int64_t Offset) const override;
8383
void eliminateFrameIndex(MachineBasicBlock::iterator II, int SPAdj,
8484
unsigned FIOperandNum,

llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp

+2-5
Original file line numberDiff line numberDiff line change
@@ -959,11 +959,8 @@ materializeFrameBaseRegister(MachineBasicBlock *MBB,
959959
.addFrameIndex(FrameIdx).addImm(Offset);
960960
}
961961

962-
void
963-
PPCRegisterInfo::resolveFrameIndex(MachineBasicBlock::iterator I,
964-
unsigned BaseReg, int64_t Offset) const {
965-
MachineInstr &MI = *I;
966-
962+
void PPCRegisterInfo::resolveFrameIndex(MachineInstr &MI, unsigned BaseReg,
963+
int64_t Offset) const {
967964
unsigned FIOperandNum = 0;
968965
while (!MI.getOperand(FIOperandNum).isFI()) {
969966
++FIOperandNum;

llvm/lib/Target/PowerPC/PPCRegisterInfo.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,8 @@ class PPCRegisterInfo : public PPCGenRegisterInfo {
9292
void materializeFrameBaseRegister(MachineBasicBlock *MBB,
9393
unsigned BaseReg, int FrameIdx,
9494
int64_t Offset) const;
95-
void resolveFrameIndex(MachineBasicBlock::iterator I,
96-
unsigned BaseReg, int64_t Offset) const;
95+
void resolveFrameIndex(MachineInstr &MI, unsigned BaseReg,
96+
int64_t Offset) const;
9797
bool isFrameOffsetLegal(const MachineInstr *MI, int64_t Offset) const;
9898

9999
// Debug information queries.

0 commit comments

Comments
 (0)