From 33458fedb607e64c46af6797057fbf0b4973a6f6 Mon Sep 17 00:00:00 2001 From: Akira Hatanaka Date: Thu, 26 May 2011 20:30:31 +0000 Subject: Use MachineFrameInfo::hasCalls instead of MipsFunctionInfo::hasCall to check if a function has any function calls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132140 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/Mips/MipsFrameLowering.cpp | 3 +-- lib/Target/Mips/MipsISelLowering.cpp | 2 -- lib/Target/Mips/MipsMachineFunction.h | 7 +------ 3 files changed, 2 insertions(+), 10 deletions(-) (limited to 'lib/Target/Mips') diff --git a/lib/Target/Mips/MipsFrameLowering.cpp b/lib/Target/Mips/MipsFrameLowering.cpp index 45a1e71f76..3b7e051439 100644 --- a/lib/Target/Mips/MipsFrameLowering.cpp +++ b/lib/Target/Mips/MipsFrameLowering.cpp @@ -279,7 +279,6 @@ void MipsFrameLowering:: processFunctionBeforeCalleeSavedScan(MachineFunction &MF, RegScavenger *RS) const { MachineRegisterInfo& MRI = MF.getRegInfo(); - MipsFunctionInfo *MipsFI = MF.getInfo(); // FIXME: remove this code if register allocator can correctly mark // $fp and $ra used or unused. @@ -293,7 +292,7 @@ processFunctionBeforeCalleeSavedScan(MachineFunction &MF, // instructions to save/restore $ra unless there is a function call. // To correct this, $ra is explicitly marked unused if there is no // function call. - if (MipsFI->hasCall()) + if (MF.getFrameInfo()->hasCalls()) MRI.setPhysRegUsed(Mips::RA); else MRI.setPhysRegUnused(Mips::RA); diff --git a/lib/Target/Mips/MipsISelLowering.cpp b/lib/Target/Mips/MipsISelLowering.cpp index 4c42561609..7aaf13ca59 100644 --- a/lib/Target/Mips/MipsISelLowering.cpp +++ b/lib/Target/Mips/MipsISelLowering.cpp @@ -1171,8 +1171,6 @@ MipsTargetLowering::LowerCall(SDValue Chain, SDValue Callee, SmallVector, 16> RegsToPass; SmallVector MemOpChains; - MipsFI->setHasCall(); - // If this is the first call, create a stack frame object that points to // a location to which .cprestore saves $gp. The offset of this frame object // is set to 0, since we know nothing about the size of the argument area at diff --git a/lib/Target/Mips/MipsMachineFunction.h b/lib/Target/Mips/MipsMachineFunction.h index 9cc0faf046..0a485ec5e5 100644 --- a/lib/Target/Mips/MipsMachineFunction.h +++ b/lib/Target/Mips/MipsMachineFunction.h @@ -47,14 +47,12 @@ private: // LowerCall except for the frame object for restoring $gp. std::pair InArgFIRange, OutArgFIRange; int GPFI; // Index of the frame object for restoring $gp - bool HasCall; // True if function has a function call. unsigned MaxCallFrameSize; public: MipsFunctionInfo(MachineFunction& MF) : SRetReturnReg(0), GlobalBaseReg(0), VarArgsFrameIndex(0), InArgFIRange(std::make_pair(-1, 0)), - OutArgFIRange(std::make_pair(-1, 0)), GPFI(0), HasCall(false), - MaxCallFrameSize(0) + OutArgFIRange(std::make_pair(-1, 0)), GPFI(0), MaxCallFrameSize(0) {} bool isInArgFI(int FI) const { @@ -86,9 +84,6 @@ public: int getVarArgsFrameIndex() const { return VarArgsFrameIndex; } void setVarArgsFrameIndex(int Index) { VarArgsFrameIndex = Index; } - bool hasCall() const { return HasCall; } - void setHasCall() { HasCall = true; } - unsigned getMaxCallFrameSize() const { return MaxCallFrameSize; } void setMaxCallFrameSize(unsigned S) { MaxCallFrameSize = S; } }; -- cgit v1.2.3