diff options
Diffstat (limited to 'lib/Target/Mips/MipsMachineFunction.h')
-rw-r--r-- | lib/Target/Mips/MipsMachineFunction.h | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/lib/Target/Mips/MipsMachineFunction.h b/lib/Target/Mips/MipsMachineFunction.h index 8c16f82..217f307 100644 --- a/lib/Target/Mips/MipsMachineFunction.h +++ b/lib/Target/Mips/MipsMachineFunction.h @@ -11,8 +11,8 @@ // //===----------------------------------------------------------------------===// -#ifndef MIPS_MACHINE_FUNCTION_INFO_H -#define MIPS_MACHINE_FUNCTION_INFO_H +#ifndef LLVM_LIB_TARGET_MIPS_MIPSMACHINEFUNCTION_H +#define LLVM_LIB_TARGET_MIPS_MIPSMACHINEFUNCTION_H #include "Mips16HardFloatInfo.h" #include "llvm/ADT/StringMap.h" @@ -34,7 +34,7 @@ namespace llvm { /// resolved by lazy-binding. class MipsCallEntry : public PseudoSourceValue { public: - explicit MipsCallEntry(const StringRef &N); + explicit MipsCallEntry(StringRef N); explicit MipsCallEntry(const GlobalValue *V); bool isConstant(const MachineFrameInfo *) const override; bool isAliased(const MachineFrameInfo *) const override; @@ -54,7 +54,8 @@ class MipsFunctionInfo : public MachineFunctionInfo { public: MipsFunctionInfo(MachineFunction &MF) : MF(MF), SRetReturnReg(0), GlobalBaseReg(0), Mips16SPAliasReg(0), - VarArgsFrameIndex(0), CallsEhReturn(false), SaveS2(false) {} + VarArgsFrameIndex(0), CallsEhReturn(false), SaveS2(false), + MoveF64ViaSpillFI(-1) {} ~MipsFunctionInfo(); @@ -87,7 +88,7 @@ public: /// \brief Create a MachinePointerInfo that has a MipsCallEntr object /// representing a GOT entry for an external function. - MachinePointerInfo callPtrInfo(const StringRef &Name); + MachinePointerInfo callPtrInfo(StringRef Name); /// \brief Create a MachinePointerInfo that has a MipsCallEntr object /// representing a GOT entry for a global function. @@ -96,6 +97,8 @@ public: void setSaveS2() { SaveS2 = true; } bool hasSaveS2() const { return SaveS2; } + int getMoveF64ViaSpillFI(const TargetRegisterClass *RC); + std::map<const char *, const llvm::Mips16HardFloatInfo::FuncSignature *> StubsNeeded; @@ -136,6 +139,10 @@ private: // saveS2 bool SaveS2; + /// FrameIndex for expanding BuildPairF64 nodes to spill and reload when the + /// O32 FPXX ABI is enabled. -1 is used to denote invalid index. + int MoveF64ViaSpillFI; + /// MipsCallEntry maps. StringMap<const MipsCallEntry *> ExternalCallEntries; ValueMap<const GlobalValue *, const MipsCallEntry *> GlobalCallEntries; @@ -143,4 +150,4 @@ private: } // end of namespace llvm -#endif // MIPS_MACHINE_FUNCTION_INFO_H +#endif |