- MachineFrameInfo(const TargetMachine& tgt) : target(tgt) {}
-
- //
- // These methods provide constant parameters of the frame layout.
- //
- virtual int getStackFrameSizeAlignment () const = 0;
- virtual int getMinStackFrameSize () const = 0;
- virtual int getNumFixedOutgoingArgs () const = 0;
- virtual int getSizeOfEachArgOnStack () const = 0;
- virtual bool argsOnStackHaveFixedSize () const = 0;
-
- //
- // These methods compute offsets using the frame contents for a
- // particular method. The frame contents are obtained from the
- // MachineCodeInfoForMethod object for the given method.
- // The first few methods have default machine-independent implementations.
- // The rest must be implemented by the machine-specific subclass.
- //
- virtual int getIncomingArgOffset (MachineCodeForMethod& mcInfo,
- unsigned argNum) const;
- virtual int getOutgoingArgOffset (MachineCodeForMethod& mcInfo,
- unsigned argNum) const;
-
- virtual int getFirstIncomingArgOffset (MachineCodeForMethod& mcInfo,
- bool& growUp) const=0;
- virtual int getFirstOutgoingArgOffset (MachineCodeForMethod& mcInfo,
- bool& growUp) const=0;
- virtual int getFirstOptionalOutgoingArgOffset (MachineCodeForMethod&,
- bool& growUp) const=0;
- virtual int getFirstAutomaticVarOffset (MachineCodeForMethod& mcInfo,
- bool& growUp) const=0;
- virtual int getRegSpillAreaOffset (MachineCodeForMethod& mcInfo,
- bool& growUp) const=0;
- virtual int getTmpAreaOffset (MachineCodeForMethod& mcInfo,
- bool& growUp) const=0;
- virtual int getDynamicAreaOffset (MachineCodeForMethod& mcInfo,
- bool& growUp) const=0;
+ TargetFrameInfo(StackDirection D, unsigned StackAl, int LAO)
+ : StackDir(D), StackAlignment(StackAl), LocalAreaOffset(LAO) {}
+
+ virtual ~TargetFrameInfo();