Scott Michel | 564427e | 2007-12-05 01:24:05 +0000 | [diff] [blame] | 1 | //===-- SPUMachineFunctionInfo.h - Private data used for CellSPU --*- C++ -*-=// |
| 2 | // |
| 3 | // The LLVM Compiler Infrastructure |
| 4 | // |
Chris Lattner | 4ee451d | 2007-12-29 20:36:04 +0000 | [diff] [blame] | 5 | // This file is distributed under the University of Illinois Open Source |
| 6 | // License. See LICENSE.TXT for details. |
Scott Michel | 564427e | 2007-12-05 01:24:05 +0000 | [diff] [blame] | 7 | // |
| 8 | //===----------------------------------------------------------------------===// |
| 9 | // |
| 10 | // This file declares the IBM Cell SPU specific subclass of MachineFunctionInfo. |
| 11 | // |
| 12 | //===----------------------------------------------------------------------===// |
| 13 | |
| 14 | #ifndef SPU_MACHINE_FUNCTION_INFO_H |
| 15 | #define SPU_MACHINE_FUNCTION_INFO_H |
| 16 | |
| 17 | #include "llvm/CodeGen/MachineFunction.h" |
| 18 | |
| 19 | namespace llvm { |
| 20 | |
| 21 | /// SPUFunctionInfo - Cell SPU target-specific information for each |
| 22 | /// MachineFunction |
| 23 | class SPUFunctionInfo : public MachineFunctionInfo { |
| 24 | private: |
| 25 | /// UsesLR - Indicates whether LR is used in the current function. |
| 26 | /// |
| 27 | bool UsesLR; |
| 28 | |
Dan Gohman | 1e93df6 | 2010-04-17 14:41:14 +0000 | [diff] [blame^] | 29 | // VarArgsFrameIndex - FrameIndex for start of varargs area. |
| 30 | int VarArgsFrameIndex; |
| 31 | |
Scott Michel | 564427e | 2007-12-05 01:24:05 +0000 | [diff] [blame] | 32 | public: |
| 33 | SPUFunctionInfo(MachineFunction& MF) |
Dan Gohman | 1e93df6 | 2010-04-17 14:41:14 +0000 | [diff] [blame^] | 34 | : UsesLR(false), |
| 35 | VarArgsFrameIndex(0) |
Scott Michel | 564427e | 2007-12-05 01:24:05 +0000 | [diff] [blame] | 36 | {} |
| 37 | |
| 38 | void setUsesLR(bool U) { UsesLR = U; } |
| 39 | bool usesLR() { return UsesLR; } |
| 40 | |
Dan Gohman | 1e93df6 | 2010-04-17 14:41:14 +0000 | [diff] [blame^] | 41 | int getVarArgsFrameIndex() const { return VarArgsFrameIndex; } |
| 42 | void setVarArgsFrameIndex(int Index) { VarArgsFrameIndex = Index; } |
Scott Michel | 564427e | 2007-12-05 01:24:05 +0000 | [diff] [blame] | 43 | }; |
| 44 | |
| 45 | } // end of namespace llvm |
| 46 | |
| 47 | |
| 48 | #endif |
| 49 | |