Current Path : /compat/linux/proc/self/root/usr/src/contrib/llvm/lib/Target/XCore/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //compat/linux/proc/self/root/usr/src/contrib/llvm/lib/Target/XCore/XCoreMachineFunctionInfo.h |
//===-- XCoreMachineFuctionInfo.h - XCore 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 XCore-specific per-machine-function information. // //===----------------------------------------------------------------------===// #ifndef XCOREMACHINEFUNCTIONINFO_H #define XCOREMACHINEFUNCTIONINFO_H #include "llvm/CodeGen/MachineFunction.h" #include "llvm/CodeGen/MachineFrameInfo.h" #include <vector> namespace llvm { // Forward declarations class Function; /// XCoreFunctionInfo - This class is derived from MachineFunction private /// XCore target-specific information for each MachineFunction. class XCoreFunctionInfo : public MachineFunctionInfo { virtual void anchor(); bool UsesLR; int LRSpillSlot; int FPSpillSlot; int VarArgsFrameIndex; std::vector<std::pair<MCSymbol*, CalleeSavedInfo> > SpillLabels; public: XCoreFunctionInfo() : UsesLR(false), LRSpillSlot(0), FPSpillSlot(0), VarArgsFrameIndex(0) {} explicit XCoreFunctionInfo(MachineFunction &MF) : UsesLR(false), LRSpillSlot(0), FPSpillSlot(0), VarArgsFrameIndex(0) {} ~XCoreFunctionInfo() {} void setVarArgsFrameIndex(int off) { VarArgsFrameIndex = off; } int getVarArgsFrameIndex() const { return VarArgsFrameIndex; } void setUsesLR(bool val) { UsesLR = val; } bool getUsesLR() const { return UsesLR; } void setLRSpillSlot(int off) { LRSpillSlot = off; } int getLRSpillSlot() const { return LRSpillSlot; } void setFPSpillSlot(int off) { FPSpillSlot = off; } int getFPSpillSlot() const { return FPSpillSlot; } std::vector<std::pair<MCSymbol*, CalleeSavedInfo> > &getSpillLabels() { return SpillLabels; } }; } // End llvm namespace #endif // XCOREMACHINEFUNCTIONINFO_H