X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FTarget%2FMips%2FMipsFrameLowering.h;h=90a8d2af63b27d552288a4b0b6f561d4f3c7f94a;hb=cb43f81fc54572b1dddec2370b2583e3f69a1bfc;hp=9f234f9b37498ecae724473eed548fba7d2c5530;hpb=bddf83614a5e32297458e96375c533d231a5cd37;p=oota-llvm.git diff --git a/lib/Target/Mips/MipsFrameLowering.h b/lib/Target/Mips/MipsFrameLowering.h index 9f234f9b374..90a8d2af63b 100644 --- a/lib/Target/Mips/MipsFrameLowering.h +++ b/lib/Target/Mips/MipsFrameLowering.h @@ -11,11 +11,10 @@ // //===----------------------------------------------------------------------===// -#ifndef MIPS_FRAMEINFO_H -#define MIPS_FRAMEINFO_H +#ifndef LLVM_LIB_TARGET_MIPS_MIPSFRAMELOWERING_H +#define LLVM_LIB_TARGET_MIPS_MIPSFRAMELOWERING_H #include "Mips.h" -#include "MipsSubtarget.h" #include "llvm/Target/TargetFrameLowering.h" namespace llvm { @@ -26,13 +25,21 @@ protected: const MipsSubtarget &STI; public: - explicit MipsFrameLowering(const MipsSubtarget &sti) - : TargetFrameLowering(StackGrowsDown, sti.hasMips64() ? 16 : 8, 0, - sti.hasMips64() ? 16 : 8), STI(sti) {} + explicit MipsFrameLowering(const MipsSubtarget &sti, unsigned Alignment) + : TargetFrameLowering(StackGrowsDown, Alignment, 0, Alignment), STI(sti) {} - bool hasFP(const MachineFunction &MF) const; + static const MipsFrameLowering *create(const MipsSubtarget &ST); + + bool hasFP(const MachineFunction &MF) const override; + +protected: + uint64_t estimateStackSize(const MachineFunction &MF) const; }; +/// Create MipsFrameLowering objects. +const MipsFrameLowering *createMips16FrameLowering(const MipsSubtarget &ST); +const MipsFrameLowering *createMipsSEFrameLowering(const MipsSubtarget &ST); + } // End llvm namespace #endif