| //==- 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 |