Add definitions of two subclasses of MipsFrameLowering, Mips16FrameLowering and
MipsSEFrameLowering.

Implement MipsSEFrameLowering::hasReservedCallFrame. Call frames will not be
reserved if there is a call with a large call frame or there are variable sized
objects on the stack.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161090 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/Mips/MipsTargetMachine.h b/lib/Target/Mips/MipsTargetMachine.h
index 958f136..21b49e6 100644
--- a/lib/Target/Mips/MipsTargetMachine.h
+++ b/lib/Target/Mips/MipsTargetMachine.h
@@ -32,7 +32,7 @@
   MipsSubtarget       Subtarget;
   const TargetData    DataLayout; // Calculates type size & alignment
   const MipsInstrInfo *InstrInfo;
-  MipsFrameLowering   FrameLowering;
+  const MipsFrameLowering *FrameLowering;
   MipsTargetLowering  TLInfo;
   MipsSelectionDAGInfo TSInfo;
   MipsJITInfo JITInfo;
@@ -49,7 +49,7 @@
   virtual const MipsInstrInfo *getInstrInfo() const
   { return InstrInfo; }
   virtual const TargetFrameLowering *getFrameLowering() const
-  { return &FrameLowering; }
+  { return FrameLowering; }
   virtual const MipsSubtarget *getSubtargetImpl() const
   { return &Subtarget; }
   virtual const TargetData *getTargetData()    const