| //==- SystemZMachineFuctionInfo.h - SystemZ machine function info -*- C++ -*-=// |
| // |
| // The LLVM Compiler Infrastructure |
| // |
| // This file is distributed under the University of Illinois Open Source |
| // License. See LICENSE.TXT for details. |
| // |
| //===----------------------------------------------------------------------===// |
| // |
| // This file declares SystemZ-specific per-machine-function information. |
| // |
| //===----------------------------------------------------------------------===// |
| |
| #ifndef SYSTEMZMACHINEFUNCTIONINFO_H |
| #define SYSTEMZMACHINEFUNCTIONINFO_H |
| |
| #include "llvm/CodeGen/MachineFunction.h" |
| |
| namespace llvm { |
| |
| /// SystemZMachineFunctionInfo - This class is derived from MachineFunction and |
| /// contains private SystemZ target-specific information for each MachineFunction. |
| class SystemZMachineFunctionInfo : public MachineFunctionInfo { |
| /// CalleeSavedFrameSize - Size of the callee-saved register portion of the |
| /// stack frame in bytes. |
| unsigned CalleeSavedFrameSize; |
| |
| /// LowReg - Low register of range of callee-saved registers to store. |
| unsigned LowReg; |
| |
| /// HighReg - High register of range of callee-saved registers to store. |
| unsigned HighReg; |
| public: |
| SystemZMachineFunctionInfo() : CalleeSavedFrameSize(0) {} |
| |
| explicit SystemZMachineFunctionInfo(MachineFunction &MF) |
| : CalleeSavedFrameSize(0) {} |
| |
| unsigned getCalleeSavedFrameSize() const { return CalleeSavedFrameSize; } |
| void setCalleeSavedFrameSize(unsigned bytes) { CalleeSavedFrameSize = bytes; } |
| |
| unsigned getLowReg() const { return LowReg; } |
| void setLowReg(unsigned Reg) { LowReg = Reg; } |
| |
| unsigned getHighReg() const { return HighReg; } |
| void setHighReg(unsigned Reg) { HighReg = Reg; } |
| }; |
| |
| } // End llvm namespace |
| |
| #endif |